Linux命令:ln
程序员文章站
2024-02-27 23:55:45
...
ln
1.作用
ln命令用来在文件之间创建链接,链接分为两种:软链接和硬链接:
软链接:
- 1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
- 2.软链接可以 跨文件系统 ,硬链接不可以
- 3.软链接可以对一个不存在的文件名进行链接
- 4.软链接可以对目录进行链接
硬链接:
- 1.硬链接,以文件副本的形式存在。但不占用实际空间。
- 2.不允许给目录创建硬链接
- 3.硬链接只有在同一个文件系统中才能创建
2.格式
ln [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}][--help] [--version] [--][源文件或目录][目标文件或目录]
3.参数
必要参数:
- -b 删除,覆盖以前建立的链接
- -d 允许超级用户制作目录的硬链接
- -f 强制执行
- -i 交互模式,文件存在则提示用户是否覆盖
- -n 把符号链接视为一般目录
- -s 软链接(符号链接)
- -v 显示详细的处理过程
选择参数:
- -S "-S<字尾备份字符串> "或 "--suffix=<字尾备份字符串>"
- -V "-V<备份方式>"或"--version-control=<备份方式>"
- --help 显示帮助信息
- --version 显示版本信息
4.应用实例
[[email protected]]$ touch f1 #创建一个测试文件f1
[[email protected]]$ ln f1 f2 #创建f1的一个硬链接文件f2
[[email protected]]$ ln -s f1 f3 #创建f1的一个软链接文件f3
[[email protected]]$ ls -li # -i参数显示文件的inode节点信息
total 0
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 -> f1
从上面的结果中可以看出,硬连接文件f2与原文件f1的inode节点相同,均为9797648,然而符号连接文件的inode节点不同。
[[email protected]]$ echo "I am f1 file" >>f1
[[email protected]]$ cat f1
I am f1 file
[[email protected]]$ cat f2
I am f1 file
[[email protected]]$ cat f3
I am f1 file
[[email protected]]$ rm -f f1
[[email protected]]$ cat f2
I am f1 file
[[email protected]]$ cat f3
cat: f3: No such file or directory
通过上面的测试可以看出:当删除原始文件f1后,硬链接f2不受影响,但是软链接f1文件无效
总结:
1).删除软链接f3,对f1,f2无影响;
2).删除硬链接f2,对f1,f3也无影响;
3).删除原文件f1,对硬连接f2没有影响,导致软链接f3失效;
4).同时删除原文件f1,硬链接f2,整个文件会真正的被删除。
下一篇: linux创建软连接