linux中链接命令ln是一个非常重要的命令;linux中链接方式又分为硬链接和软链接(又称之为符号链接)两种
首先介绍下ln命令:
ln命令用来连接文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到该目录中。
若同时指定多个文件或目录,且最后的目的地并非是一个已存在的目录,则会出现错误信息。
语法:
ln [-b] [-d] [-f] [-i] [-n] [-s] [-v] 源文件或目录 目标文件或目录
选项介绍:
-b: 将在链接时会被覆写或删除的档案进行备份;
-d: 允许系统管理者硬链接自己的目录;
-f: 强行建立文件或目录的链接,不论文件或目录是否存在;
-n: 把符号链接的目的目录视为一般文件;
-i: 在删除与dist同档名的档案时先进行询问;
-s: 进行软链接(符号链接);
-v: 在链接之前显示其文件名;
e.g. ln -s sourcefile softfile 建立软链接
ln sourcefile hardfile 建立硬链接
ln -f -s sourcefile softfile 强制建立软链接,因为如果在softfile中已经存在一个softfile就会报错,这样可以强制执行命令
软链接与硬链接的区别
软链接又叫符号链接(symbolic link):链接文件包含了另外一个文件的路径,可以链接位于不同文件系统中的文件或者目录,如果被链接的源文件
不存在时,就会出现断链问题,也可以进行循环链接,用户本人要自己判断这两种问题。当删除目的文件时不会删除源文件,仅仅是删除了链接
命令:ln -s sourcefile softfile
硬链接:限制比较严格,不允许链接不同文件系统的文件,只有超级用户才可以创建目录硬链接。如果删除了源文件,那么系统的链接文件依然有效,
而且会保留原有文件的内容,这是该文件就不再是一个链接文件了,而变成了普通的文件