linux:ln命令

ln命令

ln是link的缩写,在Linux中 ln 命令的功能是为某一个文件在另外一个位置建立一个同步的链接,当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接它就可以,不必重复的占用磁盘空间。

语法

ln option Source file or directory Destination file or directory
ln [参数] [源文件或目录] [目标文件或目录]

功能

连接文件或目录。Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

1.软连接

软链接类似于windows系统中的快捷方式。创建之后,可以指向一个文件类文件或目录类文件。(说的有点绕口,这里再次强调,Linux系统中一切皆文件。)如果链接的文件被删除了或者不存在,那么这个软链接会说失效,但是依旧存在。

因为软链接内容是指向另一个文件的位置,因此它和指向文件可以放在不同的文件系统内。

2.硬链接

硬链接实现了一个文件有多个名字,同时放在多个不同目录。编辑其中一个文件并保存,查看其它位置文件内容时,内容显示还是一致的。硬链接建立后,删除任意一个文件,即使是源文件也可以,文件内容不会受损,直到源文件和硬链接文件都被删除后,文件内容才会损失。
这可以看做硬链接相互为副本,但是实际并没有多占空间。
硬链接不能创建目录硬链接,并且必须在同一个文件系统内才能创建。

命令参数

-b或–backup 删除,覆盖目标文件之前的备份。
-d或-F或–directory 建立目录的硬连接。
-f或–force  强行建立文件或目录的连接,不论文件或目录是否存在。
-i或–interactive  覆盖既有文件之前先询问用户。
-n或–no-dereference  把符号连接的目的目录视为一般文件。
-s或–symbolic  对源文件建立软链接(符号连接),而非硬连接。
-S<字尾备份字符串>或–suffix=<字尾备份字符串>  用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的字尾备份字符串是符号"~“,可通过”-S"参数来改变它。
-v或–verbose  显示指令执行过程。
-V<备份方式>或–version-control=<备份方式>  用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用"-S"参数变更,当使用"-V"参数<备份方式>指定不同备份方式时,也会产生不同字尾的备份字符串。

常用范例

例一:给文件创建软链接
命令:ln -s color.sh linkcolor

为color.sh文件创建软链接linkcolor,如果color.sh丢失,linkcolor将失效。

[root@localhost test]# ll
总用量 24
-rw-r--r--. 1 root root  96 518 10:15 color.sh
-rw-r--r--. 1 root root 156 514 17:00 log1.txt
-rw-r--r--. 1 root root 592 514 17:00 log2.txt
-rw-r--r--. 1 root root 655 514 17:06 log3.txt
-rw-r--r--. 1 root root 156 518 14:32 log4.txt
-rw-r--r--. 1 root root 272 518 14:28 log.txt
[root@localhost test]# ln -s color.sh linkcolor
[root@localhost test]# ll
总用量 24
-rw-r--r--. 1 root root  96 518 10:15 color.sh
lrwxrwxrwx. 1 root root   8 518 14:57 linkcolor -> color.sh
-rw-r--r--. 1 root root 156 514 17:00 log1.txt
-rw-r--r--. 1 root root 592 514 17:00 log2.txt
-rw-r--r--. 1 root root 655 514 17:06 log3.txt
-rw-r--r--. 1 root root 156 518 14:32 log4.txt
-rw-r--r--. 1 root root 272 518 14:28 log.txt

例二:给文件创建硬链接

命令:ln color.sh lncolor

为color.sh创建硬链接lncolor,color.sh与lncolor的各项属性相同。

[root@localhost test]# ll
总用量 24
-rw-r--r--. 1 root root  96 518 10:15 color.sh
lrwxrwxrwx. 1 root root   8 518 14:57 linkcolor -> color.sh
-rw-r--r--. 1 root root 156 514 17:00 log1.txt
-rw-r--r--. 1 root root 592 514 17:00 log2.txt
-rw-r--r--. 1 root root 655 514 17:06 log3.txt
-rw-r--r--. 1 root root 156 518 14:32 log4.txt
-rw-r--r--. 1 root root 272 518 14:28 log.txt
[root@localhost test]# ln color.sh lncolor
[root@localhost test]# ll
总用量 28
-rw-r--r--. 2 root root  96 518 10:15 color.sh
lrwxrwxrwx. 1 root root   8 518 14:57 linkcolor -> color.sh
-rw-r--r--. 2 root root  96 518 10:15 lncolor
-rw-r--r--. 1 root root 156 514 17:00 log1.txt
-rw-r--r--. 1 root root 592 514 17:00 log2.txt
-rw-r--r--. 1 root root 655 514 17:06 log3.txt
-rw-r--r--. 1 root root 156 518 14:32 log4.txt
-rw-r--r--. 1 root root 272 518 14:28 log.txt

猜你喜欢

转载自blog.csdn.net/m0_38127564/article/details/131521683