首页 > 系统服务 > 详细

linux命令系列-ln(软硬链接)

时间:2019-03-09 11:51:17      阅读:186      评论:0      收藏:0      [点我收藏+]
 linux命令
ln命令可以生成软链接和硬链接,也可叫做符号链接和实体链接。 有兴趣深入理解的可以查阅相关文档,一般的读者只需记住以下几点即可: 
1.不管是软链接还是硬链接都不会额外增加磁盘空间(虽然实际情况可能会多占用1个block) 
2.软链接会占用1个inode,而硬链接不占用inode(想深究的可以自行查阅,不深究的可以直接略过) 
3.硬链接不能跨文件系统,不能链接目录(可以得出软链接是可以的)。

为了更好理解举例如下: 
硬链接:假设在当前目录有文件名为tmp.jpg(大小为1M),现在为它创建硬链接tmp-h.jpg,那么当前目录就有了2个文件,这2个文件除了名字不一样其他的一模一样,但是占用的实际磁盘空间还是只有1M,改变任何一个文件的内容另一个文件也会跟着改变,
当你只删除tmp.jpg或只删除tmp-h.jpg时,文件内容都还在磁盘,只有同时删除了这2个文件时才会真的彻底删除该1M的占用。

软链接:假设在当前目录有文件名为tmp.jpg(大小为1M),现在为它创建软链接tmp-s.jpg,那么当前目录就有了2个文件,tmp-s.jpg是一个全新的文件大小为7bytes(等于tmp.jpg名称占用的字节数),它指向tmp.jpg(学过c语言的指针理解起来会很快),
改变任何一个文件的内容另一个文件也会跟着改变,删除tmp-s.jpg不影响tmp.jpg,但是删除了tmp.jpg那么tmp-s.jpg就会失效因为它找不到它指向的文件了 。

我相信通过上面例子的解释,你应该可以自己辨别在哪些情况选择哪种链接方式了吧。

###bash###
#常用命令选项
#默认硬链接
-s      #软链接
-f      #如果目标文件存在时,直接移除后再创建(危险)

例子:
###bash###
#为/root/tmp.jpg生成软链接
ln -s /root/tmp.jpg /tmp/tmp.jpg

#为/root/dir目录生成软链接
ln -s /root/dir /tmp/dir1

#为/root/tmp.jpg生成硬链接
ln /root/tmp.jpg /tmp/tmp.jpg
注意:
###bash###
#假设文件夹aaa下有10个文件
ln -s aaa bbb  #生成aaa的软链接bbb

#未来有一天当你想要删除软链接bbb
#只要敲如下命令
rm -f bbb

#千万别大意敲如下命令,这样会把aaa里面的10个文件删除掉
rm -rf bbb/  
  

 

linux命令系列-ln(软硬链接)

原文:https://www.cnblogs.com/but009/p/10500069.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!