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
命令删除文件与目录。删除重要文件或目录时要格外小心,因为一旦删除文件,就无法轻易恢复它。