ln命令 用来为文件创建链接,链接类型分为硬链接和符号链接两种,默认的链接类型是硬链接。如果要创建符号链接必须使用"-s"选项。
命令格式
ln [参数][源文件或目录][目标文件或目录]
命令功能
Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
软连接
- 软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
- 软链接可以 跨文件系统 ,硬链接不可以
- 软链接可以对一个不存在的文件名进行链接
- 软链接可以对目录进行链接
硬链接
- 硬链接,以文件副本的形式存在。但不占用实际空间。
- 不允许给目录创建硬链接
- 硬链接只有在同一个文件系统中才能创建
命令参数
- -b 删除,覆盖以前建立的链接
- -d 允许超级用户制作目录的硬链接
- -f 强制执行
- -i 交互模式,文件存在则提示用户是否覆盖
- -n 把符号链接视为一般目录
- -s 软链接(符号链接)
- -v 显示详细的处理过程
- -S “-S<字尾备份字符串> ”或 “–suffix=<字尾备份字符串>”
- -V “-V<备份方式>”或“–version-control=<备份方式>”
- –help 显示帮助信息
- –version 显示版本信息
给rumenz.txt
创建一个软连接
> 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
会变色或者会一直闪烁。
给rumenz.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/