一、建立软链接

用法:ln -s 源文件 目标文件。源:实际存放文件的位置
例:ln -s sourcelink/123.txt link-test1

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

注意:

ln的链接有软链接硬链接两种

  1. 软链接 ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间;
  2. 硬链接 ln ** **,没有参数-s,它会在你选定的位置上生成一个和源文件大小相同的文件。

无论是软链接还是硬链接,文件都保持同步变化。

例:我的文件在 /tmp/cs 下面,我想在 /tmp/test/cs 这个路径下面也能访问到,那么应该这样来做;

ln -s /tmp/cs /tmp/test /tmp/test下面不用创建cs这个目录,会自动创建。

二、查看建立的软链接

ls -al | grep ^l

三、删除软链接

rm -rf file

四、软链接玩法

  1. 创建文件123.txt,创建链接文件link-test1去链接123.txt,inode节点编号不一样,表示不是指向同一内存地址。

linux 软链接和硬链接 _硬链接

linux 软链接和硬链接 _ln_02

2.修改文件123.txt的文件名,链接文件字体变红

linux 软链接和硬链接 _硬链接_03

linux 软链接和硬链接 _硬链接_04

linux 软链接和硬链接 _软链接_05

3.修改link-test1内容(会自动创建链接文件123.txt),链接文件字段变浅蓝

linux 软链接和硬链接 _符号链接_06

linux 软链接和硬链接 _ln_07

4.删除刚刚自动创建的123.txt,链接文件字体变红

linux 软链接和硬链接 _ln_08

5.创建链接文件link-test2去链接linktest.txt,链接文件字段变浅蓝

linux 软链接和硬链接 _软链接_09

6.如何在包含许多符号链接的目录中查找损坏的符号链接

命令:find -xtype l  查找损坏的符号链接
命令:find -type l   查找所有符号链接
命令:find -type l -ls

linux 软链接和硬链接 _符号链接_10

linux 软链接和硬链接 _符号链接_11

7.通过-exec指定操作。 例如,删除当前目录中断开的软链接

命令:find -xtype l -exec rm -f {} \;

8、结合find命令返回目录中所有符号链接的连接名称

命令:find . -maxdepth 1 -type l -print | cut -c3- | grep -v "#"   返回所有符号连接名称
命令:find . -maxdepth 1 -xtype l -print | cut -c3- | grep -v "#"  返回损坏的符号连接名称

linux 软链接和硬链接 _符号链接_12

9、文件夹软链接

ln -s [源目录] [目标目录]

例如:使用命令ln -s /home/sftpdata /n9share

由于源目录软链接会出现在目标目录的下一级路径, 即在 /n9share中会看见/sftpdata目录。

进入 /ngshare/sftpdata,即为进入 /home/sftpdata

五、硬链接

命令:ln sourcelink/linktest.txt link

linux 软链接和硬链接 _ln_13

linux 软链接和硬链接 _ln_14

inode节点一样,表示是指向内一内存地址;

删除链接文件,link变成普通文件,依然指向同一内存地址,所以可以打开链接文件。

linux 软链接和硬链接 _符号链接_15