建立方法:
ln -s abc link建立abc 的软连接
ln abc link建立abc的硬连接(默认)实际参数为-d:ln -d abc link
删除链接方法:
统一用
rm -rf symbolic_name注意不是rm -rf symbolic_name/
(注意和alias的区别。建立alias saiku=‘cd /home/saikudatasource‘。
删除,unalias saiku)
语法:
ln -d existfile hardlink
具体:
ln [options] existingfile hardlink(existingfile 待建立链接文件的文件,hardlink是新创建的链接文件)
–f 无论”newfile”存在与否,都创建链接。-n 如果”newfile”已存在,就不创建链接。-i 删除前进行询问.
缺点:
(1)不可以在不同文件系统的文件间建立链接
(2)只有超级用户才可以为目录创建硬链接。
ln -s existingfile softlink
谁都能建。跨文件系统。
二者区别:
linux系统中,文件唯一标识为inode号,索引节点号,创建文件就分配一个唯一的inode。通过 ls -il 可以查看,开头第一个列。
[[email protected] test]# ls -il
总计 0
1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
[[email protected] test]# ln file2 file2hand
[[email protected] test]# ls -il
总计 0
1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
[[email protected] test]#
第三列为链接个数,建立硬链接,则会增加个数。而软链接不会。
主要区别为,硬链接同一文件,软链接为不同文件。
硬链接相当于又起了一个文件名(也相当于一个文件指针),直接指向源文件,inode号一致,其与原文件名功能基本相同。所以删除文件必须删除两个链接。删除其中一个,文件还在,只是删除了自身这个文件名。
软链接,跨越不同机器、不同网络对文件进行链接。如,
[[email protected] test]# ls -il
总计 0
1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
[[email protected] test]# ln -s file1 file1soft
[[email protected] test]# ls -il
总计 0
1491138 -rw-r–r– 1 root root 48 07-14 14:17 file1
1491140 lrwxrwxrwx 1 root root 5 07-14 14:24 file1soft -> file1
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2
1491139 -rw-r–r– 2 root root 0 07-14 14:17 file2hand
1.软链接不是源文件,链接文件拥有不同的inode号,表明他们是两个不同的文件;在文件属性上软链接明确写出了是链接文件。
2.所以文件链接数不会增加。
系统通过软链接,去找到真正要访问的文件。
另一个人总结的:
(1)软连接可以 跨文件系统 ,硬连接不可以 。
实践的方法就是用共享文件把windows下的 aa.txt文本文档连接到linux下/root目录 下 bb,cc . ln -s aa.txt
/root/bb 连接成功 。ln aa.txt /root/bb 失败 。
(2)关于 I节点的问题 。硬连接不管有多少个,都指向的是同一个I节点,会把 结点连接数增加 ,只要结点的连接数不是 0,文件就一直存在 ,不管你删除的是
源文件还是 连接的文件 。只要有一个存在 ,文件就 存在 (其实也不分什么 源文件连接文件的 ,因为他们指向都是同一个 I节点)。 当你修改源文件或者连接文件
任何一个的时候 ,其他的 文件都会做同步的修改 。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以 删除连接文件 对源文件无影响,但
是 删除 源文件,连接文件就会找不到要指向的文件 。软链接有自己的inode,并在磁盘上有一小片空间存放路径名.
(3)软连接可以对一个不存在的文件名进行连接 。
(4)软连接可以对目录进行连接。
备注:I节点 :它是UNIX内部用于描述文件特性的数据结构.我们通常称I节点为文件索引结点(信息结点).i节点 含有关于文件的大部分的重要信 息,包括文件数据块在
磁盘上的地址.每一个I节点有它自己的标志号,我们称为文件顺序号.I节点包含的信息 1.文件类型 2.文件属主关系 3.文件的访问权限 4.文件的时间截.