# rm - 删除文件和目录
默认情况下不会删除目录.
rm 命令 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。
# 适用范围
RedHat
RHEL
Ubuntu
CentOS
Debian
Deepin
SUSE
openSUSE
Fedora
Linux Mint
Alpine Linux
Arch Linux
# 语法
rm [选项] file
# 选项
-f, --force # 强制执行,不交互
-i # 交互模式,每删除一个文件都要询问
-I # 在删除三个以上的文件之前,或者在递归删除之前,
# 提示一次。“-I“的侵扰性不如“-i”,
# 但仍能免受大多数错误的侵扰。
--interactive[=WHEN] # 根据时间提示:从不(never),一次(-i),
# 或始终(-i)。没有指定WHEN,总是提示
--one-file-system # 递归删除层次结构时,跳过与相应命令行参数不同的
# 文件系统上的任何目录。
--no-preserve-root # 删除根目录
--preserve-root # 不删除根目录,默认的
-r, -R, --recursive # 递归的方式删除子目录
-v, --verbose # 显示详细执行过程
--help # 显示帮助文档
--version # 显示命令版本信息
# 补充说明
默认情况下,rm
不删除目录。使用--recursive
(-r
or -R
)选项也可以删除每个列出的目录及其所有内容。要删除名称以-
开头的文件,例如-foo
,请使用以下命令之一:
rm -- -foo
rm ./-foo
注意,如果使用rm删除文件,通常可以恢复该文件的内容。如果您想要更多的保证内容是真正不可恢复的,请考虑使用shred。
# 举例
[sogrey@bogon 文档]$ ls
backup demos test test2.txt test3.txt test4.txt test.txt
[sogrey@bogon 文档]$ rm test*
rm: 无法删除"test": 是一个目录
[sogrey@bogon 文档]$ ls
backup demos test
[sogrey@bogon 文档]$ rm -rf test/
[sogrey@bogon 文档]$ ls
backup demos
[sogrey@bogon 文档]$