rm - 移除文件或者目录

总览

rm [options] file...

 

POSIX(Portable Operating System Interface 可移植的操作系统接口) 选项:

[-fiRr]

 

GNU 选项 (最短格式):

[-dfirvR][--help][--version][--]

 

描述

rm移除每个给定的文件。默认情况下,它不能移除目录。但是当给定了-r或者-R选项时,在指定目录之下的整个目录树都会被移除(而且对通过‘rm -r’能够移除的目录树深度是没有限制的)。当文件路径末端部分只有.和..时会出错(因此可用‘rm -r .*’之类来避免这些不愉快的诧异)。

如果给定了-i选项,或者如果一个文件不可写,而且标准输入是终端,又没有给定-f选项,那么rm会提示用户是否要删除该文件,它写一个问题到stderr并且从stdin读入一个应答。如果应答是否定的,该文件将被跳过。

 

POSIX选项

-f
不作确认提示。不会写出诊断信息。如果错误只是文件不存在,那么不会生成一个状态返回的错误。
-i进行确认提示。(在同时给定了-f和-i选项时,列在最后的生效。)
-r
或者 -R 递归地移除目录树。

 

SVID(System V Interface Definition)细节

System V接口定义(SVID)禁止移除正在执行的可执行二进制文件的最后一个链接。

 

GNU细节

GNU的实现(在fileutils-3.16中)会因为可移除的层次深度的上限而招致损坏。(如果确实必要,可使用‘deltree’工具来移除非常深的目录树。)

 

GNU选项

-d,--directory
用unlink(2)来替代rmdir(2)移除目录,而且不要求目录为空移除目录使用的方式是unlink(2),而非rmdir(2),且在试图unlink目录之前不要求其为空。这仅在你有合适权限时才能生效。因为unlink一个目录会导致在删除目录下的文件非关联化,因此聪明的方法是在执行此之后fsck(8)文件系统。
-f,--force
忽略不存在的文件,并且从不向用户提示。
-i,--interactive
提示是否移除每个文件。如果回答是否定的,文件将被跳过。
-r,-R,--recursive
递归地移除目录中的内容。
-v,--verbose
在移除每个文件之前打印其名称。

 

GNU 标准选项

--help
在标准输出上打印用法信息,并且以成功状态退出。
--version
在标准输出上打印版本信息,然后以成功状态退出。
--
终止选项列表 
posted @ 2019-06-27 16:42  樊伟胜  阅读(308)  评论(0编辑  收藏  举报