rm命令
Remove Files and Directories,删除文件和文件夹。
语法:
rm [options ] item ...
常用命令选项:
Option | Long Option | Meaning |
-i | --interactive | 在删除一个现有文件之前,提示用户确认。如果不指定这个选项,rm将默默地删除文件。 |
-r / -R | --recursive | 递归地删除目录。这意味着,如果被删除的目录有子目录,也要删除它们。要删除一个目录,必须指定这个选项。 |
-f | --force | 忽略不存在的文件,不做提示。这个选项会覆盖-r选项。 |
-v | --verbose | 显示正在执行的操作信息 |
-d | --dir | 当删除的内容里有文件夹时,只删除空的文件夹。文件则照常删除。 |
还有两个选项,--help和--version,这是两个通用型的选项,用来显示帮助信息和版本信息。
要想删除一个用 '-' 字符开头的文件,比如‘-foo’,使用下面的命令:
rm -- -foo
rm ./-foo
操作举例
Command | Results |
rm file1 | 直接删除file1 |
rm -r dir1 | 删除目录dir1 |
rm -r file1 dir1 | 删除文件file1和目录dir1 |
rm -rf file1 dir1 | 删除文件file1和目录dir1,如果file1或dir1不存在,不提示。 |
小心使用rm!
类似于Unix的操作系统,如Linux,没有一个撤销删除的命令。
一旦你用rm删除了什么,它就消失了。Linux认为你很聪明,你知道你在做什么。
对通配符要特别小心。考虑一下这个经典的例子。假设你想只删除一个目录中的HTML文件。要做到这一点,你可以输入以下内容。
rm *.html
这是正确的,但如果你不小心在 "*"和".html "之间放了一个空格,就像这样。
rm * .html
rm命令将删除该目录中的所有文件,然后抱怨说没有名为.html的文件。
这里有一个有用的提示:每当你用rm使用通配符时,先用ls测试通配符。这将让你看到将被删除的文件。然后按向上的方向键调用该命令,用rm代替ls。
但反过来讲,你使用rm来删除一个文件后,如果有足够的专业知识和/或时间,也许有可能恢复它的一些内容。 如果要更大程度地保证其内容确实无法恢复,可以考虑使用shred。