删除软链接时,通常使用 rm 命令就可以删除,但是如果要删除的软链接是一个目录时,要小心参数最后不要添加 / 号,否则会删除源文件。
比如:
total 152
drwx------ 4 root root 4096 6月 21 00:03 .
drwxr-xr-x 21 root root 4096 6月 20 23:23 ..
-rw------- 1 root root 1016 6月 20 23:57 .bash_history
-rw-r--r-- 1 root root 3106 12月 5 2019 .bashrc
drwx------ 2 root root 4096 4月 23 15:38 .cache
lrwxrwxrwx 1 root root 22 6月 20 23:56 .oh-my-zsh -> /home/oygza/.oh-my-zsh
-rw-r--r-- 1 root root 161 12月 5 2019 .profile
drwxr-xr-x 2 root root 4096 6月 20 22:43 .vim
-rw------- 1 root root 12911 6月 20 23:53 .viminfo
-rw-r--r-- 1 root root 49311 6月 20 23:57 .zcompdump
-rw-r--r-- 1 root root 50715 6月 20 23:57 .zcompdump-oygza-dev-5.8
-rw------- 1 root root 650 6月 21 00:03 .zsh_history
我想删除 .oh-my-zsh 这个文件夹的软链接,正确的命令应该是:rm .oh-my-zsh , 而不是 rm .oh-my-zsh/,否则会将源文件 /home/oygza/.oh-my-zsh 一并删除掉, 因为有时候你所使用的shell会自动帮你添加最后的/号,所以要注意一下。同时因为要删除的是目录,系统通常会提醒你要删除的是个目录,那么就是疑问所在,你明明删除的是软链接文件,却提示要加上 -rf 参数,则证明你将要删除的是源目录而不是当前的软链接。