From 6265d583a1bf3ec8feaca55178538b7acaf8af8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=BC=9F=E8=B0=83=E8=B0=83=E2=84=A2?= <398188662@qq.com> Date: Fri, 9 Feb 2018 09:42:46 +0800 Subject: [PATCH] Update rm.md --- command/rm.md | 160 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 109 insertions(+), 51 deletions(-) diff --git a/command/rm.md b/command/rm.md index 7ce6fb74e7..7a8612ae02 100644 --- a/command/rm.md +++ b/command/rm.md @@ -1,52 +1,110 @@ -rm -=== +rm +=== -用于删除给定的文件和目录 - -## 补充说明 - -**rm** **命令** 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。 - -注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。 - -### 语法 - -``` -rm (选项)(参数) -``` - -### 选项 - -``` --d:直接把欲删除的目录的硬连接数据删除成0,删除该目录; --f:强制删除文件或目录; --i:删除已有文件或目录之前先询问用户; --r或-R:递归处理,将指定目录下的所有文件与子目录一并处理; ---preserve-root:不对根目录进行递归操作; --v:显示指令的详细执行过程。 -``` - -### 参数 - -文件:指定被删除的文件列表,如果参数中含有目录,则必须加上`-r`或者`-R`选项。 - -### 实例 - -交互式删除当前目录下的文件test和example - -``` -rm -i test example -Remove test ?n(不删除文件test) -Remove example ?y(删除文件example) -``` - -删除当前目录下除隐含文件外的所有文件和子目录 - -``` -# rm -r * -``` - -应注意,这样做是非常危险的! - - - \ No newline at end of file +用于删除给定的文件和目录 + +## 补充说明 + +**rm** **命令** 可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。 + +注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。 + +### 语法 + +``` +rm (选项)(参数) +``` + +### 选项 + +``` +-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录; +-f:强制删除文件或目录; +-i:删除已有文件或目录之前先询问用户; +-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理; +--preserve-root:不对根目录进行递归操作; +-v:显示指令的详细执行过程。 +``` + +### 参数 + +文件:指定被删除的文件列表,如果参数中含有目录,则必须加上`-r`或者`-R`选项。 + +### 实例 + +交互式删除当前目录下的文件test和example + +``` +rm -i test example +Remove test ?n(不删除文件test) +Remove example ?y(删除文件example) +``` + +删除当前目录下除隐含文件外的所有文件和子目录 + +``` +# rm -r * +``` + +应注意,这样做是非常危险的! + +**rm 命令删除文件** + +```bash +# rm 文件1 文件2 ... +rm testfile.txt +``` + +**rm 命令删除目录** + +> rm -r [目录名称] +> -r 表示递归地删除目录下的所有文件和目录。 +> -f 表示强制删除 + +``` +rm -rf testdir +rm -r testdir +``` + +**删除操作前有确认提示** + +> rm -i [文件/目录] + +``` +rm -r -i testdir +``` + +**rm 忽略不存在的文件或目录** + +> -f 选项(LCTT 译注:即 “force”)让此次操作强制执行,忽略错误提示 + +``` +rm -f [文件...] +``` + +**仅在某些场景下确认删除** + +> 选项 -I,可保证在删除超过 3 个文件时或递归删除时(LCTT 译注: 如删除目录)仅提示一次确认。 + + +``` +rm -I file1 file2 file3 +``` + +**删除根目录** + +> 当然,删除根目录(/)是 Linux 用户最不想要的操作,这也就是为什么默认 rm 命令不支持在根目录上执行递归删除操作。 +> 然而,如果你非得完成这个操作,你需要使用 --no-preserve-root 选项。当提供此选项,rm 就不会特殊处理根目录(/)了。 + +``` +不给实例了,操作系统都被你删除了,你太坏了😆 +``` + +**rm 显示当前删除操作的详情** + +``` +rm -v [文件/目录] +``` + + +