ln命令 用来为文件创建链接,链接类型分为硬链接和符号链接两种,默认的链接类型是硬链接。如果要创建符号链接必须使用"-s"选项。
ln [参数][源文件或目录][目标文件或目录]
linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
> ls -al
ls -al
total 4
drwxr-xr-x 2 root root 24 Feb 27 22:03 .
drwxr-xr-x 8 root root 299 Feb 26 19:44 ..
-rw-r--r-- 1 root root 22 Feb 27 22:03 rumenz.txt
> ln -s rumenz.txt newrumenz.txt
> ls -al
total 4
drwxr-xr-x 2 root root 45 Feb 27 22:03 .
drwxr-xr-x 8 root root 299 Feb 26 19:44 ..
lrwxrwxrwx 1 root root 10 Feb 27 22:03 newrumenz.txt -> rumenz.txt
-rw-r--r-- 1 root root 22 Feb 27 22:03 rumenz.txt
newrumenz.txt就是rumenz.txt的软连接,修改newrumenz.txt文件的内容,rumenz.txt也会跟着变,删除newrumenz.txt,rumenz.txt内容不受任何影响。但是删除rumenz.txt,ls newrumenz.txt时,newrumenz.txt会变色或者会一直闪烁。
> ls rumenz.txt oldrumenz.txt
> ls -al
total 8
drwxr-xr-x 2 root root 45 Feb 27 22:12 .
drwxr-xr-x 8 root root 299 Feb 26 19:44 ..
-rw-r--r-- 2 root root 8 Feb 27 22:12 oldrumenz.txt
-rw-r--r-- 2 root root 8 Feb 27 22:12 rumenz.txt
修改oldrumenz.txt文件内容,rumenz.txt内容也会跟着改变,删除oldrumenz.txt,rumenz.txt内容不受任何影响。删除rumenz.txt,oldrumenz.txt内容不受任何影响。
> ln -sv lib lib64
> ls -al
drwxr-xr-x 8 root root 312 Feb 27 22:16 .
drwxr-xr-x 3 root root 17 Jan 29 23:06 ..
drwxr-xr-x 2 root root 27 Feb 27 22:14 lib
lrwxrwxrwx 1 root root 4 Feb 27 22:16 lib64 -> lib/