Linux命令详解(13)- ln命令
ln是英文“link files”的缩写,命令不算复杂,但是非常重要。
语法:
ln option Source file or directory Destination file or directory
这里先讲下两个概念。
1.软连接
软链接类似于windows系统中的快捷方式。创建之后,可以指向一个文件类文件或目录类文件。(说的有点绕口,这里再次强调,Linux系统中一切皆文件。)如果链接的文件被删除了或者不存在,那么这个软链接会说失效,但是依旧存在。
因为软链接内容是指向另一个文件的位置,因此它和指向文件可以放在不同的文件系统内。
2.硬链接
硬链接实现了一个文件有多个名字,同时放在多个不同目录。编辑其中一个文件并保存,查看其它位置文件内容时,内容显示还是一致的。硬链接建立后,删除任意一个文件,即使是源文件也可以,文件内容不会受损,直到源文件和硬链接文件都被删除后,文件内容才会损失。这可以看做硬链接相互为副本,但是实际并没有多占空间。
硬链接不能创建目录硬链接,并且必须在同一个文件系统内才能创建。
命令参数:
选项 | 说明 |
-b | 删除、覆盖以前建立的链接 |
-d | 允许超级用户制作目录的硬链接 |
-f | 强制执行 |
-i | 交互模式,文件存在则提示用户是否覆盖 |
-s | 软件链接 |
-n | 把符号链接视为一般目录 |
-v | 详细的处理过程 |
--help | 获得帮助 |
-P | 创建一个硬链接,指向一个符号链接文件(软链接文件) |
-S 或--suffix=<..> | 覆盖时备份文件后缀 |
例1:创建一个硬链接,但是是一个目录文件
上面说过不能为目录创建硬链接。不过使用-P可以变相实现这个目标。
如图,先创建一个软链接指向目录/home/allenle,然后创建硬链接指向这个软链接文件。
再使用ls -l,我们看到创建的硬链接文件指向了目录/home/allenle。
例2:创建硬链接并修改内容
如图创建1个文本文件,存入“1111”字符串,再创建硬链接文件,此时查看硬链接文件内容与源文件一致。
编辑硬链接文件,追加字符串“222”到硬链接文件中。查看源文件,两个文件内容仍然一致。
删除源文件,查看硬链接文件,内容正常,跟未删除源文件时相比没有任何变化。
例3:创建一个重名的硬链接文件
如图创建一个硬链接文件,然后在执行一次。此时提示失败,原因是文件已经存在。
再次执行命令,但是加上-b参数,此时可以执行了。
再次执行命令,这次换-f参数,也可以执行。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!