详解Linux中rm与rmdir删除命令的用法

时间:2021-08-23 12:47:35

rm命令
用法:rm [选项]... 文件...
删除 (unlink) 文件。

  -f, --force           强制删除。忽略不存在的文件,不提示确认
  -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         显示版本信息并退出

默认时,rm 不会删除目录。使用--recursive(-r 或-R)选项可删除每个给定
的目录,以及其下所有的内容。

要删除第一个字符为"-"的文件 (例如"-foo"),请使用以下方法之一:

 

复制代码
代码如下:

rm -- -foo
rm ./-foo

 

 

请注意,如果使用rm 来删除文件,通常仍可以将该文件恢复原状。如果想保证
该文件的内容无法还原,请考虑使用shred。

例:
 

复制代码
代码如下:

[root@localhost ~]# rm test.php #删除文件需要确认
[root@localhost ~]# rm -f test.php #强制删除文件不确认
[root@localhost ~]# rm -rfv ./test #强制删除当前的test目录,并显示删除的详细过程

 

rmdir命令
用法:rmdir [选项]... 目录...
删除指定的空目录。

      --ignore-fail-on-non-empty
                        忽略仅由目录非空产生的所有错误
  -p, --parents         删除指定目录及其上级文件夹,例如"rmdir -p a/b/c'"
                        与"rmdir a/b/c a/b a'" 基本相同
  -v, --verbose         输出处理的目录详情
      --help            显示此帮助信息并退出
      --version         显示版本信息并退出
例:
 

复制代码
代码如下:

[root@localhost ~]# rmdir test #删除test目录,注意必须是空目录
[root@localhost ~]# rmdir -p a/b/c #删除指定目录及其上级文件夹