快捷搜索:  as

ln 软连接与硬链接两者有什么区别

ln敕令可以天生软链接和硬链接,也可叫做符号链接和实体链接。 有兴趣深入理解的可以查阅相关文档,一样平常的读者只需记着以下几点即可:

不管是软链接照样硬链接都不会额外增添磁盘空间(虽然实际环境可能会多占用1个block)

软链接会占用1个inode,而硬链接不占用inode(想追究的可以自行查阅,不追究的可以直接略过)

硬链接不能跨文件系统,不能链接目录(可以得出软链接是可以的)。

为了更好理解举例如下:

硬链接:假设在当前目录有文件名为linuxidc.jpg(大年夜小为1M),现在为它创建硬链接linuxidc-h.jpg,那么当前目录就有了2个文件,这2个文件除了名字不一样其他的如出一辙,然则占用的实际磁盘空间照样只有1M,改变任何一个文件的内容另一个文件也会随着改变;

当你只删除linuxidc.jpg或只删除linuxidc-h.jpg时,文件内容都还在磁盘,只有同时删除了这2个文件时才会真的彻底删除该1M的占用。

软链接:假设在当前目录有文件名为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###

#常用敕令选项

#默认硬链接

-s #软链接

-f #假如目标文件存在时,直接移除后再创建(危险)

例子:

###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/ #在应用软连接历程中,请应用绝对路径,假如应用了想对路径,可能会呈现连接数过多差错。

责任编辑:ct

您可能还会对下面的文章感兴趣: