【运维常用命令】文件和目录操作命令-06-rm命令

本文详细介绍了Linux中rm命令的使用,包括命令介绍、格式、功能、常用选项和实例。强调了rm命令的危险性,提醒用户在执行时谨慎操作,特别是使用`-f`和`-r`选项时。还提到了如何通过`-i`选项获取删除确认以及系统可能预设的别名设置。最后展示了不同选项下删除文件和目录的实例,包括递归删除目录及其内容。
摘要由CSDN通过智能技术生成

1. 命令介绍

rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,。**因为一旦删除了一个文件,就无法再恢复它。**否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。

2. 命令格式

rm [OPTION]... FILE...

3. 命令功能

删除一个目录中的一个或多个文件或目录,如果没有使用 -r 选项,则rm不会删除目录。

4. 常用选项

选项含义
-d直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f强制删除文件或目录;
-i删除已有文件或目录之前先询问用户;
-r或-R递归处理,将指定目录下的所有文件与子目录一并处理;
-v显示指令的详细执行过程。

5. 常用实例

  1. 删除文件file,系统会先询问是否删除。
[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1482 May 24 18:16 anaconda-ks.cfg
-rw-r--r--  1 root root    0 Nov 13 17:57 test01.log
-rw-r--r--  1 root root    0 Nov 13 17:57 test02.log
drwxr-xr-x. 7 root root   76 Nov 12 18:28 test1
drwxr-xr-x. 3 root root   20 Nov 12 18:26 test2
drwx------. 2 root root    6 Nov 12 18:31 test3
[root@localhost ~]# rm test01.log 
rm: remove regular empty file ‘test01.log’? y
[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1482 May 24 18:16 anaconda-ks.cfg
-rw-r--r--  1 root root    0 Nov 13 17:57 test02.log
drwxr-xr-x. 7 root root   76 Nov 12 18:28 test1
drwxr-xr-x. 3 root root   20 Nov 12 18:26 test2
drwx------. 2 root root    6 Nov 12 18:31 test3

输入rm log.log命令后,系统会询问是否删除,输入y后就会删除文件,不想删除则数据n。

为什么执行rm命令是没有加-i选项也会提示是否删除呢?

这是因为现在执行的rm命令是使用alisa命令查看会发现alias rm='rm -i',也就是我们现在执行的 rm 命令就是添加了-i选项的命令,如果使用/bin/rm执行删除则不会后提示

[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1482 May 24 18:16 anaconda-ks.cfg
-rw-r--r--  1 root root    0 Nov 13 17:57 test02.log
drwxr-xr-x. 7 root root   76 Nov 12 18:28 test1
drwxr-xr-x. 3 root root   20 Nov 12 18:26 test2
drwx------. 2 root root    6 Nov 12 18:31 test3        
[root@localhost ~]# /bin/rm test02.log 
[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1482 May 24 18:16 anaconda-ks.cfg
drwxr-xr-x. 7 root root   76 Nov 12 18:28 test1
drwxr-xr-x. 3 root root   20 Nov 12 18:26 test2
drwx------. 2 root root    6 Nov 12 18:31 test3
  1. 强行删除file,系统不再提示。
[root@localhost ~]# touch test0{1..3}.log
[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1482 May 24 18:16 anaconda-ks.cfg
-rw-r--r--  1 root root    0 Nov 14 23:09 test01.log
-rw-r--r--  1 root root    0 Nov 14 23:09 test02.log
-rw-r--r--  1 root root    0 Nov 14 23:09 test03.log
drwxr-xr-x. 7 root root   76 Nov 12 18:28 test1
drwxr-xr-x. 3 root root   20 Nov 12 18:26 test2
drwx------. 2 root root    6 Nov 12 18:31 test3
[root@localhost ~]# rm -f test01.log 
[root@localhost ~]# ll
total 4
-rw-------. 1 root root 1482 May 24 18:16 anaconda-ks.cfg
-rw-r--r--  1 root root    0 Nov 14 23:09 test02.log
-rw-r--r--  1 root root    0 Nov 14 23:09 test03.log
drwxr-xr-x. 7 root root   76 Nov 12 18:28 test1
drwxr-xr-x. 3 root root   20 Nov 12 18:26 test2
drwx------. 2 root root    6 Nov 12 18:31 test3
  1. 删除目录下所有文件
[root@localhost ~]# ll  test1
total 0
-rw-r--r-- 1 root root 0 Nov 14 23:14 1.txt
-rw-r--r-- 1 root root 0 Nov 14 23:14 2.txt
-rw-r--r-- 1 root root 0 Nov 14 23:14 3.txt
-rw-r--r-- 1 root root 0 Nov 14 23:14 4.txt
[root@localhost ~]# rm -r test1
rm: descend into directory ‘test1’? y
rm: remove regular empty file ‘test1/1.txt’? y
rm: remove regular empty file ‘test1/2.txt’? y
rm: remove regular empty file ‘test1/3.txt’? y
rm: remove regular empty file ‘test1/4.txt’? y
rm: remove directory ‘test1’? y
[root@localhost ~]# ll  test1
ls: cannot access test1: No such file or directory

可以看到当我们删除目录的时候,会对目录下所有的文件进行询问是否要删除,如果文件太多是不是太麻烦,解决方法如下:

[root@localhost ~]# mkdir test1
[root@localhost ~]# touch test1/{1..4}.txt
[root@localhost ~]# ll test1
total 0
-rw-r--r-- 1 root root 0 Nov 14 23:19 1.txt
-rw-r--r-- 1 root root 0 Nov 14 23:19 2.txt
-rw-r--r-- 1 root root 0 Nov 14 23:19 3.txt
-rw-r--r-- 1 root root 0 Nov 14 23:19 4.txt
[root@localhost ~]# rm -fr test1
[root@localhost ~]# ls test1
ls: cannot access test1: No such file or directory
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值