Linux 命令(文件和目录管理 - rm)

作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员

rm 命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

命令介绍

  • 命令名称
    rm

  • 命令全称
    Remove

  • 基本语法
    rm [选项]… 文件…

  • 功能描述
    删除文件或目录

命令选项

选项说明
-f, --force强制删除。忽略不存在的文件,不提示确认
-i在删除前需要确认
-I在删除超过三个文件或者递归删除前要求确认。此选项比 -i 提示内容更少,但同样可以阻止大多数错误发生
-r, -R, --recursive递归删除目录及其内容
-d, --dir删除空目录
-v, --verbose详细显示进行的步骤
--help显示帮助信息并退出
--version显示版本信息并退出

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

使用范例

1.不带任何选项,运行 rm

这是 rm 命令最基础的使用,将文件直接删除。

[wang@localhost test]$ ll
总用量 0
-rw-rw-r--. 1 wang wang 0 1020 10:11 test.txt
[wang@localhost test]$ rm test.txt 
[wang@localhost test]$ ll
总用量 0
[wang@localhost test]$ 

2.同时删除多个文件

要同时删除多个文件,只需要将多个文件用空格隔开。

[wang@localhost test]$ ll
总用量 0
-rw-rw-r--. 1 wang wang 0 1020 10:15 test1.txt
-rw-rw-r--. 1 wang wang 0 1020 10:15 test2.txt
[wang@localhost test]$ rm test1.txt  test2.txt 
[wang@localhost test]$ ll
总用量 0
[wang@localhost test]$

3.强行删除

使用 -f 选项会强制进行删除操作。如果目标文件不能打开,可以用 -f 尝试。

[wang@localhost test]$ ll
总用量 0
-rw-rw-r--. 1 wang wang 0 1020 10:37 test.txt
[wang@localhost test]$ rm -f test.txt 
[wang@localhost test]$ ll
总用量 0
[wang@localhost test]$ 

4.显示详细的进行步骤

默认情况下,当删除成功时,仅会再次看到命令提示符。如果想了解在删除文件时都发生了什么,可以用 -v 选项。

[wang@localhost test]$ rm -v test.txt test1.txt 
已删除"test.txt"
已删除"test1.txt"

5.使用交互模式

使用 -i 选项,启用交互模式,会询问是否继续删除。

[wang@localhost test]$ rm -i test.txt test1.txt 
rm:是否删除普通空文件 "test.txt"?y
rm:是否删除普通空文件 "test1.txt"?n
[wang@localhost test]$ ll
总用量 0
-rw-rw-r--. 1 wang wang 0 1020 10:24 test1.txt

如果确认删除,输入 y(yes);如果不想删除,输入 n(no)。

6.递归删除目录及其内容

要删除一个目录,需要添加 -r 或者 -R 选项来递归实现。

[wang@localhost test]$ tree dir
dir
├── subDir
│   ├── test1.txt
│   └── test.txt
├── test1.txt
└── test.txt

1 directory, 4 files
# 不带选项 -r 或者 -R,则无法删除
[wang@localhost test]$ rm dir
rm: 无法删除"dir": 是一个目录
[wang@localhost test]$ rm -r dir
[wang@localhost test]$ ls
[wang@localhost test]$ 

7.删除链接文件

对于链接文件,只是删除整个链接文件,而原有文件保持不变。

[wang@localhost doc]$ ll debug_link.log 
lrwxrwxrwx. 1 wang wang 27 1019 15:59 debug_link.log -> /home/wang/script/debug.log
[wang@localhost doc]$ rm debug_link.log 
[wang@localhost doc]$ ll /home/wang/script/debug.log 
-rw-rw-r--. 1 wang wang 368640 1019 15:58 /home/wang/script/debug.log

8.删除以“-”开头的文件

要删除以“-”开头的文件(例如:-foo),请使用以下方法之一:

rm -- -foo
rm ./-foo

使用方式如下:

[wang@localhost test]$ touch -- -foo
[wang@localhost test]$ ll
总用量 0
-rw-rw-r--. 1 wang wang 0 1020 10:45 -foo
[wang@localhost test]$ rm -- -foo
[wang@localhost test]$ ll
总用量 0
[wang@localhost test]$ 

或者:

[wang@localhost test]$ touch ./-foo
[wang@localhost test]$ ll
总用量 0
-rw-rw-r--. 1 wang wang 0 1020 10:47 -foo
[wang@localhost test]$ rm ./-foo 
[wang@localhost test]$ ll
总用量 0
[wang@localhost test]$ 

为什么非要这么用呢?假如使用 rm -foo

[wang@localhost test]$ touch ./-foo
[wang@localhost test]$ rm -foo
rm:无效选项 -- o
Try 'rm ./-foo' to remove the file "-foo".
Try 'rm --help' for more information.

这是因为一般“-”后面接的是选项。因此,单纯地使用 rm -foo,系统的命令就会误判。所以,只能用避过首字符“-”的方式(加上本目录 ./)。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一去丶二三里

有收获,再打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值