Cor*_*ein 113 file-management rm
我想看看rm在 linux 中执行 an 时会删除哪些文件。大多数命令似乎都有一个试运行选项来显示此类信息,但我似乎无法为rm. 这甚至可能吗?
Mik*_*kel 149
说你想运行:
rm *.txt
Run Code Online (Sandbox Code Playgroud)
你可以运行:
echo rm *.txt
Run Code Online (Sandbox Code Playgroud)
甚至只是:
echo *.txt
Run Code Online (Sandbox Code Playgroud)
查看rm将删除哪些文件,因为它是扩展 . 而*.txt不是rm.
这对您没有帮助的唯一时间是rm -r.
如果要递归删除文件和目录,则可以使用find代替rm -r,例如
find . -name "*.txt" -print
Run Code Online (Sandbox Code Playgroud)
然后,如果它符合您的要求,请将其更改-print为-delete:
find . -name "*.txt" -delete
Run Code Online (Sandbox Code Playgroud)
Jus*_*ier 22
你可以说:
rm -i
Run Code Online (Sandbox Code Playgroud)
以交互模式运行它,因此rm会提示您确认是否应删除每个文件。您可以对每个文件回答“否”以查看哪些文件会受到影响。
您可以使用ls列出将通过以下方式删除的所有文件rm:
ls ../path/*.txt
Run Code Online (Sandbox Code Playgroud)
如果您需要列出以查看将使用递归删除的文件,请rm使用-R带有ls以下标志的标志:
ls -R ../path/*.txt
Run Code Online (Sandbox Code Playgroud)
只是想迟来地指出约书亚在评论中提到的一个方便的解决方案:
yes n | rm -i myFile1 myFile2 myFile3
Run Code Online (Sandbox Code Playgroud)
它rm以交互模式运行,它会提示要删除的每个文件的 ay/n 响应,但通过yes n它会自动拒绝每个文件的此提示。输出不是非常漂亮,但是可以通过一些清理来解析。