【发布时间】:2011-05-18 12:50:09
【问题描述】:
使用sudo rm -r时,如何删除所有文件,以下文件除外:
textfile.txt
backup.tar.gz
script.php
database.sql
info.txt
【问题讨论】:
-
听起来像是unix.stackexchange.com的问题
-
有两种方法来阅读这个问题,现有的答案涵盖了这两种解释: 要么:(a)保留目标目录中具有指定名称的文件直接和- 正如
rm -r所暗示的那样 - 删除所有其他内容,包括子目录 - 即使它们包含具有指定名称的文件;或者:(b) 遍历目标目录的整个子树,并在每个目录中,删除除列出的名称之外的所有文件。 -
对于所有这样做的人,请先备份。我刚刚浪费了几天的工作,因为我忘记排除
.git,并且没有推送,我无法恢复 30 多个提交。确保排除您关心的所有内容,包括隐藏文件夹。如果您正在处理目录,请设置-maxdepth 1。