我们使用rm命令从服务器/本地计算机上删除文件,这时rm是有利的命令,但有时它可能是一个有害的命令,所以在这里我们将掌握rm命令,使其成为正确的,而不是灾难。我们开始吧。

让我们先创建一个假fille来练习它:

$ touch myfile-{1..10}.txt

上面的命令将创建10个文件,{1…10}只会生成10个数字,如果你想看看运行结果,使用这个$ echo {1…10}命令。

现在删除单个文件

$ rm myfile-1.txt

这将只删除一个文件myfile-1.txt。要删除多个文件,请在其后面添加文件名:

$ rm myfile-2.txt myfile-3.txt myfile-4.txt

更简单的是!

如果要删除所有文件

$ rm -rf *

-r表示递归

-f表示强制删除,不提示

上面的命令将删除当前目录中的所有文件,而不显示任何警告,因为我们使用-f表示强制删除而不显示任何警告。使用-rf标志之前,先使用 $ pwd 命令验证您在正确的目录中,然后继续删除文件。

到目前为止,我们已经学习了删除文件的基本用法,那么删除部分文件外的所有文件该如何操作,比如你想删除所有文件,但不想删除你想保留的文件。

要删除目录中除filename以外的所有文件,请运行以下命令:

$ rm -v !("filename")

要删除除filename1和filename2以外的所有文件:

$ rm -v !("filename1"|"filename2")

下面的示例演示如何以交互方式删除所有.zip文件以外的所有文件:

$ rm -i !(*.zip)

接下来,您可以删除目录中除所有.zip和.odt文件之外的所有文件,同时显示正在执行的操作:

$ rm -v !(*.zip|*.odt)