gpt4 book ai didi

linux - 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

转载 作者:IT王子 更新时间:2023-10-29 00:24:23 26 4
gpt4 key购买 nike

如果我们想删除我们使用的所有文件和目录,rm -rf *

但是,如果我想一次删除除一个特定文件之外的所有文件和目录怎么办?

有什么命令吗? rm -rf * 可以轻松删除一次,但甚至删除我最喜欢的文件/目录。

提前致谢

最佳答案

find可以成为很好的 friend :

$ 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 '{}' ';':为其他一切调用 rm -rf

顺便说一句,另一种可能更简单的方法是移动或重命名您的最喜欢的目录,这样它就不会挡路:

$ ls
a/ b/ c/
$ mv b .b
$ ls
a/ c/
$ rm -rf *
$ mv .b b
$ ls
b/

关于linux - 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5659516/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com