今天一不小心把/bin给删除掉了,各种命令都消失,好在bin有live cd可以修复,否则……
直接上流程吧!
建一个目录:
root@10:/home/test # mkdir 1
再建两个文件:
root@10:/home/test # touch 1/1_1.txt
root@10:/home/test # touch 1/1_2.txt
ln一个目录的链接,然后显示一下,状态正常。
root@10:/home/test # ln -s 1 a
root@10:/home/test # ll
total 4
drwxr-xr-x 2 root test 512 Jan 25 11:50 1/
lrwxr-xr-x 1 root test 1 Jan 25 11:50 a@ -> 1
删除试试,咦!有错误提示?
root@10:/home/test # unlink a/
unlink: a/: is a directory
再删:
root@10:/home/test # rm a/
rm: a/: is a directory
哦!目录需要-r参数,加上试试:
root@10:/home/test # rm -r a/
显示一下看看!
完了!只剩下符号链接了,真实的目录1没了!还好不是/usr或/etc:
root@10:/home/test # ll
total 0
lrwxr-xr-x 1 root test 1 Jan 25 11:53 a@ -> 1
正确的做法:千万别乱加斜杠啊!
root@10:/home/test # rm a
root@10:/home/test # ll
total 4
drwxr-xr-x 2 root test 512 Jan 25 11:50 1/
总结:
rm和unlink如果后面有路径分隔符,则删除的是目录,即使是符号连接,也删除原目录。
还是unlink要安全一些,没有-r -f参数。