当前位置:  开发笔记 > 编程语言 > 正文

在*nix中清空目录最安全的方法是什么?

如何解决《在*nix中清空目录最安全的方法是什么?》经验,为你挑选了4个好方法。

我害怕有一天,我要在我目前使用的命令中放一个空格或错过一些东西:

rm -rf ./*

清空当前目录的内容有更安全的方法吗?



1> Vinko Vrsalo..:

最安全的方法是在按Enter键之前先坐在你的手上.

除此之外,您可以创建一个像这样的别名(对于Bash)

alias rm="pwd;read;rm"

这将显示您的目录,等待输入按,然后使用正确的标记删除您指定的内容.您可以按^ C而不是Enter来取消.


那太讨厌了; 它鼓励你假设你将获得rm命令的第二次机会.等到你搬到另一台机器或以其他用户身份登录,然后*bam*...
最好按照别名alias delete =“ ...”

2> Robert Gambl..:

这是一种更安全的方法:ls首先使用列出将受影响的文件,然后使用命令行历史记录或历史记录替换来更改lsto rm并在确信将对其进行操作后再次执行命令.



3> kristina..:

如果您想要非常安全,可以创建一个简单的别名或shell脚本,如:

mv $ 1~/.recycle /

这只会将你的东西移动到.recycle文件夹(你好,Windows!).

然后设置一个cron作业来对该文件夹中超过一周的东西做rm -rf.



4> Johannes Sch..:

我认为这是一种合理的方式:

find . -maxdepth 1 \! -name . -print0 | xargs -0 rm -rf

它还将处理隐藏的文件和目录.点后不需要斜线,这也将消除可能的打字事故. /.

现在,如果您担心它会删除什么,只需将其更改为

find . -maxdepth 1 \! -name . -print  | less

看看清单.现在你可以把它放到一个函数中:

function enum_files { find . -maxdepth 1 \! -name . "$@"; }

现在你的删除是安全的:

enum_files | less                     # view the files
enum_files -print0 | xargs -0 rm -rf  # remove the files

如果您不习惯在文件名中嵌入换行符,则可以省略-print0-0参数.但我会使用它们,以防万一:)

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有