起因
清理/root家目录,之前为了方便,对网卡目录做了软链接在家目录中。
经过
使用rm删除软链接时发生了小小的意外
[08:29:51 [email protected][ ~]#ll
total 15892
-rw-------. 1 root root 2590 Apr 28 10:08 88key
-rw-r--r--. 1 root root 564 Apr 28 10:08 88key.pub
-rw-------. 1 root root 1184 Mar 16 2020 anaconda-ks.cfg
drwxrwxr-x. 3 root root 4096 Apr 9 2020 cmatrix-2.0
drwxr-xr-x 2 root root 42 Jul 12 10:07 cn.wordpress.org
-rw-r--r-- 1 root root 2457389 Jul 28 15:52 create.sql.gz
-rw-r--r--. 1 root root 320 Apr 11 18:39 dln.sh
-rw-r--r-- 1 root root 2 May 5 20:43 EOF
-rw-r--r--. 1 root root 19 Mar 31 2020 hello.o
-rw-r--r-- 1 root root 176 May 6 22:50 init0.sh
-rw-r--r-- 1 root root 2024 May 18 12:37 installMySQL8.sh
-rw-r--r-- 1 root root 147 May 28 13:06 linux43.sh
-rw-r--r--. 1 root root 0 Jul 2 2020 log1..5.text
-rw-r--r-- 1 root root 13026 Oct 6 2017 net_acc.sh
lrwxrwxrwx. 1 root root 31 Apr 8 10:57 network -> /etc/sysconfig/network-scripts/
drwxr-xr-x. 3 root root 22 Apr 11 18:39 nginx.org
-rw-r--r--. 1 root root 11077 Apr 11 18:15 PACK.txt
-rw-r--r-- 1 root root 13738948 Mar 16 23:26 percona-xtrabackup-80-8.0.23-16.1.el8.x86_64.rpm
-rw-r--r-- 1 root root 114 May 6 15:28 ssh.sh
drwxr-xr-x 2 root root 21 Jun 3 20:36 sun
[08:30:18 [email protected][ ~]#rm -rf cn.wordpress.org/
[08:30:41 [email protected][ ~]#rm percona-xtrabackup-80-8.0.23-16.1.el8.x86_64.rpm
rm: remove regular file 'percona-xtrabackup-80-8.0.23-16.1.el8.x86_64.rpm'? y
[08:31:22 [email protected][ ~]#rm network/
rm: cannot remove 'network/': Is a directory
[08:31:42 [email protected][ ~]#rm -r network/
rm: descend into directory 'network/'? yes
rm: remove regular file 'network/ifcfg-ens33'? n
rm: remove regular file 'network/ifcfg-eth1'? n
rm: remove regular file 'network/ifcfg-eth1-1'? n
rm: remove regular file 'network/ifcfg-eth0-1r.bak'? n
rm: remove directory 'network/'? n
- 印象里隐约记得删除软链接不能用rm -rf
- 使用rm删除软链接,提示是目录,不能删除
- 顺其自然的在rm后加上了-r,但没有加-f
-
居然被要求删真实目录下的内容了
WTF,这是什么鬼?
原因
- 在输入要删除的内容时,使用table键进行了补全
rm -r network/
- 目录后的斜杠 / 表示进入到目录中进行删除其内容,-r表示递归,所以会在删除目录中内容后再删除目录本身
删除软链接的正确姿势
- rm后直接跟软链接名,如果是目录则要去掉自动补全的斜杠 /
rm <软链接名>
[08:33:54 [email protected][ ~]#rm network
rm: remove symbolic link 'network'? yes
- rm的时候谨慎使用-f选项,强制删除的后果肯严重
- 谨慎使用rm命令,生产环境使用别名替代rm命令