1.1 ln命令(硬链接和软链接)(原创)

linux 下的硬链接、软链接                              

软链接
软连接主要目的是升级之后向前兼容。软链接相当于快捷方式。当我删除源文件之后,后面的文件就找不到前面的文件了。
软连接相当于:a->b;b->inode.

例子:软连接的建立
ln -s libiptc.so.0.0.0 libip6tc.so.0      //原来的库是libip6tc.so.0,升级后的库是libiptc.so.0.0.0。升级之后我继续保留原来的
                                                        名字:libip6tc.so.0,用他指向实际使用的库。这样用户就不需要修改名字了。
libip6tc.so.0 -> libiptc.so.0.0.0          //ll 之后的显示。这样我对libip6tc.so.0进行操作,其实就是对 libiptc.so.0.0.0进行操作。


硬链接
linux下每一个文件和目录都有唯一的一个inode节点。
硬链接就是 有几个名字可以到磁盘上的那个inode。 相当于:a->inode;b->inode;c->inode  
ll 命令后面的数字显示的就是硬链接(下面例子中的15)的数目。
磁盘在inode上存对应的数据。如果一个文件硬链接数为n,删除一个之后没有什么影响。只有当最后一个硬链接删除之后,才不能用。
但是这个不能用,指的是我没有方法找到inode了,并不代表操作系统删除了这个inode的数据。只要这个inode没有被覆盖,还是能恢复的。
例子1:硬链接的理解
[liupc@ubuntu ~/Projects]$>ls -lia                                        //-i参数可以显示inode
534673 drwxrwxr-x  5 liupc liupc 4096 May 15 05:22 .        //534673就是当前目录的inode。而 上层目录的inode是400068.
400068 drwxr-xr-x  15 liupc liupc 4096 May 15 05:22  ..

[liupc@ubuntu ~/Projects]$>cd ..                                        //进入到上层目录
[liupc@ubuntu ~]$>ls -lia 
400068 drwxr-xr-x  15 liupc liupc 4096 May 15 05:22  .          //可以看到"."的inode也是400068.
393217 drwxr-xr-x  3 root  root  4096 May 12 06:34 ..

[liupc@ubuntu /home]$>ls -li
total 4
400068 drwxr-xr-x  15 liupc liupc 4096 May 15 05:22 liupc  //可以看到"liupc"的inode也是400068. 第一个中".."和第二个中的"."其实就                                                                                        是"/home/liupc"的硬链接。因为他们有共同的inode.(软连接的两个文件具有不                                                                                       同的inode.)
例子2:硬链接的建立
ln Depth_Search.c 111                                                                 //建立硬链接:111
root@ubuntu:/home/liupc/Projects# ls -il                                     //通过ls -il 可以看到:两个文件的inode相同。硬链接数变成了2.
535496 -rw-rw-r--  2 liupc liupc  718 May 15 05:22 111                    删除任意一个没有影响。
535496 -rw-rw-r--  2 liupc liupc  718 May 15 05:22 Depth_Search.c

猜你喜欢

转载自blog.csdn.net/pengchengliu/article/details/80471286