正点原子Ubuntu入门010---Linux链接文件

发布时间 2023-07-26 16:40:03作者: 小李是菜鸟

一、Linux连接文件

Linux下有两种连接文件:符号连接(软连接)和硬连接;

符号连接类似Windows下的快捷方式。

硬连接通过文件系统的  inode   连接来产生新文件名,而不是产生新文件

inode:记录文件属性,一个文件一个inode,inode相当于文件ID,查找文件的时候要先找到inode,然后才能读出文件的内容

二、ln命令

ln命令用于创建连接文件:

ln 【选项】 源文件   目标文件

选项:

  -s  创建符号连接(软连接)

  -f   强制创建连接文件,如果目标存在,先删除目标文件再重新创建连接文件

  啥也不加    创建硬连接

三、硬连接

硬链接是多个文件都指向同一个inode

  1. 具有相同inode的多个文件互为硬连接文件,创建硬连接相当于文件实体多了入口
  2. 对于硬连接文件,只有删除了源文件以及对应的所有硬连接文件,文件实体才能够被删除
  3. 根据硬连接文件的特点,我们可以通过给文件创建硬连接的方式来防止文件被误删除
  4. 不论修改源文件还是连接文件,另一个文件的数据都会被改变
  5. 硬连接不能跨越文件系统
  6. 硬连接不能连接到目录

因为以上原因,硬连接不常被使用

四、软连接

符号链接类似于Windows下的快捷方式,符号连接也叫软连接,软连接用的多。符号连接相当于创建了一个独立的文件,这个文件会让数读取指向它连接的文件的文件名

软连接的特点:

  1. 可以连接到目录
  2. 可以跨文件系统
  3. 删除源文件以后,软连接文件也打不开了
  4. 符号链接文件通过->来指示具体的连接文件

符号连接要使用绝对路径,否则当文件移动时,就会出现问题

拷贝一个目录时,一定要cp  -d  xxx  才表示将里面的连接文件一起拷贝过去了,但此时软连接必须是绝对路径

如果直接拷贝目录,软连接也是相对路径,那么会自动创建一个源文件,会占用内存