1 命令功能(简要说明):
该命令用来删除Linux系统中的文件或目录。通常情况下rm不会删除目录,你必须通过指定参数-r或-R来删除目录。另外rm通常可以将该文件或目录恢复(注意,rm删除文件其实只是将指向数据块的索引点(information nodes)释放,只要不被覆盖,数据其实还在硬盘上。如果想要保证文件的内容无法复原,可以使用命令shred 。 另外一般还是要慎用rm -rf /*这样的命令。
2 命令语法:
rm【选项】... 文件... #注:【】中的内容为非必选项
3 命令选项(只做常用命令参数讲述):
使用帮助命令:man rm 或 rm -help
-f, --force 强制删除。忽略不存在的文件,不提示确认
-i 在删除前需要确认
-I(大写i) 在删除超过三个文件或者递归删除前要求确认。此选项比-i 提示内容更少,但同样可以阻止大多数错误发生
--interactive[=WHEN] 根据指定的WHEN 进行确认提示:never,once (-I),或者always (-i)。如果此参数不加WHEN 则总是提示
--one-file-system 递归删除一个层级时,跳过所有不符合命令行参数的文件系统上的文件
--no-preserve-roo 不特殊对待"/"
--preserve-root 不允许删除"/"(默认)
-r, -R, --recursive 递归删除目录及其内容
-v, --verbose 详细显示进行的步骤
--help 显示此帮助信息并退出
--version 显示版本信息并退出
4 使用范例:
(1)rm 目录(文件名) ------------这里注意下默认rm命令是有别名(alias rm='rm -i'),并且无法强制覆盖,即使使用-f 参数也无法强制覆盖文件,可以使用\rm 执行rm命令时不走alias。
#删除指定文件 [root@localhost command_test]# ls canglaoshi.txt [root@localhost command_test]# rm canglaoshi.txt rm:是否删除普通空文件 "canglaoshi.txt"?y [root@localhost command_test]# ls [root@localhost command_test]# touch xiaocang.txt [root@localhost command_test]# ls xiaocang.txt [root@localhost command_test]# \rm xiaocang.txt [root@localhost command_test]# ls [root@localhost command_test]#
(2)rm -rf 目录(文件名)
#创建一个多级目录,不管目录是够为空,都能强制删除目录,以后目录下的子目录。 [root@localhost command_test]# mkdir -p dir1/{dir2,dir3/{dir4,dir5}} [root@localhost command_test]# ls dir1 [root@localhost command_test]# cd dir1 [root@localhost dir1]# ls dir2 dir3 [root@localhost dir1]# cd .. [root@localhost command_test]# rm dir1 rm: 无法删除"dir1": 是一个目录 [root@localhost command_test]# rm -rf dir1 [root@localhost command_test]# ls [root@localhost command_test]#
(3)rm -v 某类文件,删除某类文件,并详细显示命令执行过程
#新建立两类文件,并只删除txt结尾的这一类文件 [root@localhost command_test]# touch canglaoshi.txt xiaocang.txt av.log [root@localhost command_test]# ls av.log canglaoshi.txt xiaocang.txt [root@localhost command_test]# rm -v *.txt rm:是否删除普通空文件 "canglaoshi.txt"?y 已删除"canglaoshi.txt" rm:是否删除普通空文件 "xiaocang.txt"?y 已删除"xiaocang.txt" [root@localhost command_test]# ls av.log [root@localhost command_test]#