如果我们想删除我们使用的所有文件和目录,rm -rf *
.
但是,如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办?
有什么命令可以做到这一点吗?rm -rf *
可以轻松地一次性删除,甚至可以删除我最喜欢的文件/目录。
提前致谢
find http://linux.die.net/man/1/find可以是一个很好的朋友:
$ ls
a/ b/ c/
$ find * -maxdepth 0 -name 'b' -prune -o -exec rm -rf '{}' ';'
$ ls
b/
$
解释:
find * -maxdepth 0
:选择由*
无需进入任何目录
-name 'b' -prune
: 不打扰 (-prune
) 与任何符合条件的内容-name 'b'
-o -exec rm -rf '{}' ';'
: call rm -rf
对于其他一切
顺便说一句,另一种可能更简单的方法是移动或重命名您的最喜欢的目录,以免妨碍:
$ ls
a/ b/ c/
$ mv b .b
$ ls
a/ c/
$ rm -rf *
$ mv .b b
$ ls
b/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)