ln命令能够生成软连接和硬连接,也可叫作符号连接和实体连接。 有兴趣深刻理解的能够查阅相关文档,通常的读者只需记住如下几点便可。 |
ln命令能够生成软连接和硬连接,也可叫作符号连接和实体连接。 有兴趣深刻理解的能够查阅相关文档,通常的读者只需记住如下几点便可:html
为了更好理解举例以下:node
硬连接:假设在当前目录有文件名为linuxidc.jpg(大小为1M),如今为它建立硬连接linuxidc-h.jpg,那么当前目录就有了2个文件,这2个文件除了名字不同其余的如出一辙,可是占用的实际磁盘空间仍是只有1M,改变任何一个文件的内容另外一个文件也会跟着改变;
当你只删除linuxidc.jpg或只删除linuxidc-h.jpg时,文件内容都还在磁盘,只有同时删除了这2个文件时才会真的完全删除该1M的占用。linux
软连接:假设在当前目录有文件名为linuxidc.jpg(大小为1M),如今为它建立软连接linuxidc-s.jpg,那么当前目录就有了2个文件,linuxidc-s.jpg是一个全新的文件大小为7bytes(等于linuxidc.jpg名称占用的字节数),它指向linuxidc.jpg(学过C语言的指针理解起来会很快);
改变任何一个文件的内容另外一个文件也会跟着改变,删除linuxidc-s.jpg不影响linuxidc.jpg,可是删除了linuxidc.jpg那么tmp-s.jpg就会失效由于它找不到它指向的文件了 。bash
我相信经过上面例子的解释,你应该能够本身辨别在哪些状况选择哪一种连接方式了吧。指针
###bash### #经常使用命令选项 #默认硬连接 -s #软连接 -f #若是目标文件存在时,直接移除后再建立(危险)
例子:htm
###bash### #为/root/linuxidc.jpg生成软连接 ln -s /root/linuxidc.jpg /tmp/linuxidc.jpg #为/root/dir目录生成软连接 ln -s /root/dir /linuxidc/dir1 #为/root/linuxidc.jpg生成硬连接 ln /root/linuxidc.jpg /tmp/linuxidc.jpg
注意:文档
###bash### #假设文件夹aaa下有10个文件 ln -s aaa bbb #生成aaa的软连接bbb #将来有一天当你想要删除软连接bbb #只要敲以下命令 rm -f bbb #千万别大意敲以下命令,这样会把aaa里面的10个文件删除掉 rm -rf bbb/ #在使用软链接过程当中,请使用绝对路径,若是使用了想对路径,可能会出现链接数过多错误。