论坛风格切换
  • 26阅读
  • 0回复

Linux命令 – ln软连接与硬链接 [复制链接]

上一主题 下一主题
raksmartseo
用户信息
ID
№.35965
级别
一星会员
经验
55%
性别
绝世美女
荣誉勋章
 

Linux命令 >'{'v[qR[G  
ln命令可以生成软链接和硬链接,也可叫做符号链接和实体链接。 有兴趣深入理解的可以查阅相关文档,一般的读者只需记住以下几点即可: LE+#%>z>  
1.不管是软链接还是硬链接都不会额外增加磁盘空间(虽然实际情况可能会多占用1个block) (+.R8  
2.软链接会占用1个inode,而硬链接不占用inode(想深究的可以自行查阅,不深究的可以直接略过) x3=SMN|a  
3.硬链接不能跨文件系统,不能链接目录(可以得出软链接是可以的)。
l\&Tw[O  
为了更好理解举例如下: "tU,.U  
硬链接:假设在当前目录有文件名为linuxidc.jpg(大小为1M),现在为它创建硬链接linuxidc-h.jpg,那么当前目录就有了2个文件,这2个文件除了名字不一样其他的一模一样,但是占用的实际磁盘空间还是只有1M,改变任何一个文件的内容另一个文件也会跟着改变, DP &*P/  
当你只删除linuxidc.jpg或只删除linuxidc-h.jpg时,文件内容都还在磁盘,只有同时删除了这2个文件时才会真的彻底删除该1M的占用。
a_Z[@W  
软链接:假设在当前目录有文件名为linuxidc.jpg(大小为1M),现在为它创建软链接linuxidc-s.jpg,那么当前目录就有了2个文件,linuxidc-s.jpg是一个全新的文件大小为7bytes(等于linuxidc.jpg名称占用的字节数),它指向linuxidc.jpg(学过C语言的指针理解起来会很快), oN.#q$\` k  
改变任何一个文件的内容另一个文件也会跟着改变,删除linuxidc-s.jpg不影响linuxidc.jpg,但是删除了linuxidc.jpg那么tmp-s.jpg就会失效因为它找不到它指向的文件了 。
#D Oui]  
我相信通过上面例子的解释,你应该可以自己辨别在哪些情况选择哪种链接方式了吧。 ?_@Mg\Hc  
###bash### =BgQ Ss/^c  
#常用命令选项 ,z|g b]\  
#默认硬链接 >^adxXw.o  
-s      #软链接 ;<s0~B#9}  
-f      #如果目标文件存在时,直接移除后再创建(危险)
6hf6Z 3  
例子: y.WEO>   
###bash### Ft 2u&Rtx  
#为/root/linuxidc.jpg生成软链接 fsV_>5I6  
ln -s /root/linuxidc.jpg /tmp/linuxidc.jpg
Y'x+! &H  
#为/root/dir目录生成软链接 ~ =c[?:  
ln -s /root/dir /linuxidc/dir1
6V @ [< d  
#为/root/linuxidc.jpg生成硬链接 T3/Gl 6f  
ln /root/linuxidc.jpg /tmp/linuxidc.jpg +`~kt4W  
注意: `;3fnTI:1  
###bash### \r&9PkHWo  
#假设文件夹aaa下有10个文件 Si=u=FI1e  
ln -s aaa bbb  #生成aaa的软链接bbb
dQPW9~g8Hg  
#未来有一天当你想要删除软链接bbb zy@ nBi^  
#只要敲如下命令 a>)|SfsE  
rm -f bbb
R?J=5tO  
#千万别大意敲如下命令,这样会把aaa里面的10个文件删除掉 X/<Q3AK  
rm -rf bbb/  在使用软连接过程中,请使用绝对路径,如果使用了想对路径,可能会出现连接数过多错误,
:cE~\B S&  
文章来源:www.rakbuluo.com/p92 7HEUmKb"  
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
快速回复
限44 字节
批量上传需要先选择文件,再选择上传
做人要厚道,看帖要顶帖!
 
上一个 下一个

      鄂公网安备 42062502000001号