这里说一下 ln ,这个是 linux 下创建链接的命令
链接分为两种 : 硬链接 , 符号链接(也叫 软链接)
硬链接 : 指向同一个 inode 的不同路径
软链接 : 指向另一个的链接(存的是字符个数,也就是大小为对应目录字符个数),所以软链接
权限不影响
硬链接 :
用法 : ln 源文件 生成的链接文件
用 ls -l 可以看出来一个文件被硬链接的次数,ls -l 的结果在 username 前面的数值
用 ls -il 可以看出来 硬链接文件都是指向同一个 inode 节点。如下图所示:
注意 : 1 ,硬链接只能对文件创建链接,不能用于目录。
2 ,硬链接不能跨文件系统;
3 ,创建硬链接会增加文件被链接的次数
4 , 硬链接删除其中的一个对剩下的不影响
如下图不能对目录进行 硬链接:
符号链接(软链接) :
先说一下 ln 的选项 :
-s : 创建符号链接(软链接) -v : 显示创建过程中的信息
用法 : ln -s 源文件 生成的链接文件
或者 : ln -sv 源文件 生成的链接文件
如下图,可以看到3个 inode 号都不一样:
从上图也可以看到一般创建软链接的权限都为 777 ,所以软链接权限不影响,
不过如果对软链接生成文件改变权限也会修改源文件的权限。
如下对生成的软链接文件改变权限导致无法修改。
注意 : 1, 软链接可用于目录。
2 , 可以跨文件系统
3 , 不会增加被链接文件的链接次数
4 , 其大小为指定的路径所包含的字符的个数
用于目录一个例子:
还要注意一点对软链接 cp 的话会生成新的 inode ,且在磁盘中创建相应的内容
对软链接 mv 只会改变路径名。
无论是软链接或者是硬链接修改文件都会对硬盘进行修改,也就是说所有的链接文件
都会被修改。
个人感觉软链接比较好用,硬链接相比之下就是不怕源文件被删除。
一般用 : ln -sv 源文件 生成的链接文件