rm命令用于删除文件和目录。它是每个Linux用户都应该熟悉的基本命令之一。

在本教程中,我们说明如何在Linux使用rm删除文件与目录。并通过示例和最常见的rm选项。来说明如何使用rm命令。

包括删除多个文件,删除之前确认提示,删除目录/文件夹,rm -rf强制递归删除文件与目录。

rm 命令

rm命令语法形式是rm [OPTIONS]... FILE...FILE可以是一个或者多文件,OPTIONS是rm命令的选项。

在不带任何选项运行rm命令时,rm命令不会删除目录,也不会提示用户是否继续删除指定的文件。

要删除文件,你必须对文件父目录具有写权限,否则会收到不允许操作/权限拒绝/Permission denied错误消息。

如果文件不受写保护,则将其删除,不另行通知。成功删除后,rm命令不会产生任何输出并返回退出代码0。

当删除写保护的文件时,rm命令将提示您进行确认是否删除文件。你将会看到类似的消息rm: remove write-protected regular empty file 'filename'?

键入y,然后按Enter删除文件。如果你需要强制删除任何文件,可以使用rm命令的-f选项,这在删除写保护文件时不会有任何提示。

要删除单个文件,请在rm命令后跟文件名作为参数。例如命令rm -f filename

rm -f filename

删除多个文件

unlink命令不同,rm命令允许您一次删除多个文件。在指定多个文件名时,请使用空格分隔文件的名称作为参数传递。

您可以使用正则表达式来匹配多个文件。例如,要删除当前目录中的所有.png文件。可以运行命令rm *.png

在使用正则表达式删除多个文件时。使用ls命令查看和确认要删除的文件,这样您就可以看到哪些文件将被删除。

rm filename1 filename2 filename3
rm *.png

删除目录/文件夹

要删除一个或多个空目录,请使用rm命令的-d选项。-d选项在功能上与rmdir命令相同。

如果要递归删除目录和文件,请使用rm命令-r选项进行递归删除。通常,你很少使用-d选项删除目录。而是直接使用-r选项。

rm -d dirname
rm -r dirname

删除提示

rm命令的-i选项指示rm命令在删除文件之前提示用户,确认是否需要删除。你将会看到消息rm: remove regular empty file 'filename1'?,确认键入y,然后按Enter

当删除的文件与目录太多时,你可能不想让用户每个文件都确认一次。但你又需要提示用户一次。此时你可以使用rm命令的-I选项。

-I选项对于在删除许多文件与目录时,仅需要用户确认一次。你将会看到类似这样的消息rm: remove 4 arguments?。确认键入y,然后按Enter

rm -i filename1 filename2
rm -I filename1 filename2 filename3 filename4
rm: remove regular empty file 'filename1'? 
rm: remove regular empty file 'filename2'? 
rm: remove 4 arguments? 

rm -rf

如果指定目录或目录中的文件受写保护,rm命令将提示您确认操作。是否要删除文件与目录。

如果你不需要任何确认消息,请使用rm命令的-f选项。通常在使用-f选项时都会组合使用-r选项进行递归删除。

rm -rf命令时你应该格外小心,因为rm命令的删除是没有回收站的,也么没有可以恢复数据的魔法。

rm -rf dirname

结论

我们已向您展示了如何使用早Linux使用rm命令删除文件与目录。删除重要文件或目录时要格外小心,因为一旦删除文件,就无法轻易恢复它。