myfreax
rm

Linux 删除目录与文件

要从命令行删除Linux 文件或目录,可以使用rm命令删除

3 min read
By myfreax
Linux 删除目录与文件
Linux 删除目录与文件

要从命令行删除Linux 文件或目录,可以使用rm命令删除,使用rm命令删除文件或目录时需要格外小心,因为一旦删除文件,就无法恢复。

如果你想让你的文件在不被那么轻易的删除,可以使用safe-rm命令。要删除单个文件,请使用rm命令后面跟文件名。

如果文件处于写保护状态,系统将提示您进行确认,如下所示。输入y并按Enter。如果文件没有写保护,它将被直接删除。

rm filename
 rm: remove write-protected regular empty file 'filename'?

要一次删除多个文件,rm命令后跟多个文件名称,文件的名称使用空格分隔。您也可以使用通配符*和正则表达式来匹配多个文件。

当您使用通配符*和或者正则表达式匹配多个文件时,建议使用ls命令列出要删除的文件,使你可以在运行rm命令之前确认即将要删除的文件。

例如命令rm *.pdf,要删除当前目录文件的.pdf文件。rm filename1 filename2 filename3命令将会删除多个文件

rm filename1 filename2 filename3
rm *.pdf

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命令的-d选项。-d选项在功能上与rmdir命令相同。

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

rm -d dirname
rm -r dirname

rm -rf

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

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

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

rm -rf dirname