ln
功能:
连接文件或目录。
为某一个文件在另外一个位置建立一个同步的链接。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然 后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
用法:
将某个文件链接到一个文件上
ln [ -f | -n] [ -s ] SourceFile [ TargetFile ]
将一个或多个文件链接到一个目录上
ln [ -f | -n] [ -s ] SourceFile ... TargetDirectory
参数:
-b或–backup 删除,覆盖目标文件之前的备份。
-d或-F或–directory 建立目录的硬连接。
-f或 –force 强行建立文件或目录的连接,不论文件或目录是否存在。
-i或–interactive 覆盖既有文件之前先询问用户。
-n或–no-dereference 把符号连接的目的目录视为一般文件。
-s或–symbolic 对源文件建立符号连接,而非硬连接。
-S<字尾备份字符串>或–suffix=<字尾备份字符串> 用”-b”参数备份目标文件.
注意:
1. ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生 相同的变化;
2. ln的链接又符号链接和硬链接两种,符号链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是符号链接还是硬链接,文件都保持同步变化。
如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命 令生成的文件,用ls -l命令去察看,就可以看到显示的link的路径了。
3. 对于ln命令默认是建立硬链接的.
4. -s不是soft(软)的意思,而是symbolic(符号)的意思,因此应该是符号链接。
5. 当为 -s 标志指定 SourceFile 参数的时候,必须使用绝对路径。如果没有指明绝对路径,那么当 SourceFile 和 TargetFile 参数位于不同的目录中的时候,可能会发生意外的结果。在创建符号链接之前,不需要存在源文件。