rm
时将删除哪些文件。大多数命令似乎都具有试运行选项来显示此类信息,但我似乎找不到rm
的此类选项。这有可能吗?#1 楼
假设您要运行:rm *.txt
您可以运行:
echo rm *.txt
,甚至: br />
echo *.txt
以查看
rm
将删除哪些文件,因为它是扩展*.txt
的外壳,而不是rm
。这是唯一一次如果您要递归删除文件和目录,则可以使用
rm -r
而不是find
,例如find . -name "*.txt" -print
然后根据需要进行更改,将
rm -r
更改为-print
:find . -name "*.txt" -delete
评论
找到是IMO的不错选择。而且,如果您要图形表示,请使用树。
–噪音很大
2012年7月25日在9:49
几乎完美。找 。 -name“ * .txt” -delete似乎不是递归的。删除了所有文件,但没有删除-print中列出的目录
–奥斯卡·戈德森(Oscar Godson)
13年7月21日在9:17
@OscarGodson假定删除文件后目录保留为空,则可以使用find删除它们。类型d-空-删除
– datguy
17年1月3日在20:08
@OscarGodson-查找不会删除仍包含文件的目录(等同于rm dir /,而没有-r)。您必须先清空目录-或使用find -exec rm以及相应的选项来执行此操作。例如找 。 -depth -name“ * .txt” -exec rm -r {} +
– shalomb
17年4月17日在19:08
使用echo rm * .txt方法似乎有一个缺点。它将结果显示在串联列表中(一个长字符串,前一个文件之后是一个文件),而不是垂直列表。有什么方法可以使输出显示在垂直列表中(每行一个文件)? (更新:我发现find方法可以完成我所请求的操作。因此,我将使用该方法。)
– inspirednz
17-10-10在4:27
#2 楼
您可以说:rm -i
以交互方式运行它,因此
rm
将提示您确认是否应删除每个文件。您可以对每个文件回答否,以查看哪些文件将受到影响。评论
对于大量文件而言,这相当困难。
– Cory Klein
2011年2月7日在20:13
是的rm -i#评论必须达到最小评论长度
–约书亚
16年5月4日在18:46
#3 楼
您可以使用ls
列出将被rm
删除的所有文件:ls ../path/*.txt
如果需要列出以查看将被递归删除的文件
rm
,然后将-R
标志与ls
结合使用:ls -R ../path/*.txt
评论
好点子。尽管如果您知道嵌套的级别,那么可以通过ls * / * / *。txt来实现
–Veneet Reddy
18年7月24日在9:43
你是对的。使用-R选项。
–Veneet Reddy
18年7月24日在10:32
#4 楼
只是想晚点指出约书亚在评论中提到的一种方便的解决方案:yes n | rm -i <whatever files you want to delete>
它以交互模式运行
rm
,它会提示要删除的每个文件ay / n响应,但通过yes n
会自动拒绝每个文件的提示。输出不是很漂亮,但是可以通过一点清理来解析。
评论
我还想看看哪些文件会因缺少权限而产生错误。