加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 如何删除当前目录中的所有文件,包括当前目录?

发布时间:2020-12-15 22:51:50 所属栏目:安全 来源:网络整理
导读:如何从当前目录中删除所有文件和子目录,包括当前目录? 解决方法 在使用GNU工具的bash下,我会这样做(在大多数情况下应该是安全的): rm -rf -- "$(pwd -P)" cd .. 不受bash和没有GNU工具,我会使用: TMP=`pwd -P` cd "`dirname $TMP`" rm -rf "./`basename $
如何从当前目录中删除所有文件和子目录,包括当前目录?

解决方法

在使用GNU工具的bash下,我会这样做(在大多数情况下应该是安全的):

rm -rf -- "$(pwd -P)" && cd ..

不受bash和没有GNU工具,我会使用:

TMP=`pwd -P` && cd "`dirname $TMP`" && rm -rf "./`basename $TMP`" && unset TMP

为什么这更安全:

>结束参数列表 – 如果我们的目录以短划线开头(非bash:文件名之前的./)
> pwd -P不仅仅是在我们不在真实目录中而是在指向它的符号链接中的情况下.
>“在目录包含空格的情况下围绕参数

一些随机信息(bash版本):

>最后的CD ..可以省略,但你会在一个不存在的目录中,否则……

编辑:正如kmkaplan所指出的那样 – 事情是没有必要的,因为pwd返回完整的路径名,它总是以/在UNIX上开头

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读