Linux高级命令(2)-->>针对链接的命令

链接命令的介绍

链接命令是创建链接文件,链接文件分为:
• 软链接
• 硬链接

软连接

类似于Windows下的快捷方式,当一个源文件的目录层级比较深,我们想要方便使用它可以给源文件创建一个软链接。

注意点:

  • 如果软链接和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
  • 删除源文件则软链接失效
  • 可以给目录创建软链接

软链接小结

  • 软链接的作用是方便文件的快速访问,比如:给一个复杂路径下的文件创建一个软链接,以后就可以通过软链接完成快速访问操作。

  • 创建软链接命令格式: ln -s 源文件路径(使用绝对路径) 软链接

硬链接

类似于源文件的一个别名,也就是说这两个名字指向的是同一个文件数据。
Linux高级命令(2)-->>针对链接的命令

注意点:

  1. 创建硬链接使用相对路径和绝对路径都可以
  2. 删除源文件,硬链接还可以访问到数据。
  3. 创建硬链接,硬链接数会加1,删除源文件或者硬链接,硬链接数会减1。
  4. 创建软链接,硬链接数不会加1
  5. 不能给目录创建硬链接

硬链接数:

  • 硬链接数就是文件数据被文件名使用的次数, 好比引用计数

硬链接小结

  1. 硬链接的作用是可以给重要文件创建硬链接,能够防止文件数据被误删。
  2. 删除源文件,软链接失效,但是硬链接依然可以使用。
  3. 创建硬链接命令格式: ln 源文件路径 硬链接

命令

Linux高级命令(2)-->>针对链接的命令

ln -s

首先,我们打算为桌面上的2文件中的a2来创建一个软连接放在桌面上,名字定为b2.avg
Linux高级命令(2)-->>针对链接的命令
注意点:

  • 如果软链接和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
  • 删除源文件则软链接失效
  • 可以给目录创建软链接

创建完成
Linux高级命令(2)-->>针对链接的命令
在a2中写入一些东西:
Linux高级命令(2)-->>针对链接的命令
然后打开b2:
Linux高级命令(2)-->>针对链接的命令
发现正是a2中的内容,软链接成功创建

软链接就像快捷方式一般,在软链接中修改东西也会使源文件发生改变,而软链接的删除并不会使源文件失效,但是源文件删除会使软连接失效

ln

硬链接两个文件是同步的,一个修改内容另一个也会跟着修改,但是某一方删除并不会影响另一个文件,就像副本一般
示例:
首先创建一个1.txt文件,写入welcome
Linux高级命令(2)-->>针对链接的命令
然后创建一个硬链接,命名为c1-h.txt
注意点:

  1. 创建硬链接使用相对路径和绝对路径都可以
  2. 删除源文件,硬链接还可以访问到数据。
  3. 创建硬链接,硬链接数会加1,删除源文件或者硬链接,硬链接数会减1。
  4. 创建软链接,硬链接数不会加1
  5. 不能给目录创建硬链接

创建完成,并查看c1-h.txt文件,发现内容与c1相同 -->> welcome
Linux高级命令(2)-->>针对链接的命令

然后修改c1.txt文件,再看c1-h.txt文件
Linux高级命令(2)-->>针对链接的命令
发现数据随之改变

Linux高级命令(2)-->>针对链接的命令
删除c1.txt再查看c1-h.txt
Linux高级命令(2)-->>针对链接的命令
发现没有影响