我有一个这样的目录:
<folder1>
<folder2>
<folder3>
file1
file2
file3
Run Code Online (Sandbox Code Playgroud)
像这样的 rm 命令是什么,只删除文件 1、文件 2、文件 3 但保留文件夹 1、文件夹 2 和文件夹 3 及其内容不变?
Oli*_*Oli 10
rm默认情况下不会删除目录。因此,在您的示例中,假设您在父目录中并且这些是所有文件,您只需要:
rm *
Run Code Online (Sandbox Code Playgroud)
这是一个危险的命令。如果您忘记了自己的位置,这样的命令可以清除重要$HOME文件、清除大量照片、取消圣诞节等等。*在运行它之前确保您知道正在选择什么。echo *是测试扩展的好方法。
一个理智的人file1 file2 file3可能会运行rm file*或rm file{1..3}使用一些 Bash 的扩展代码,而不会抓住任何你在交火中没有想到的落后者。
要删除目录,您需要指定:
-d 删除空目录,或-r 递归删除文件及其目录。