介绍

在 Linux 系统中,内核为每一个新创建的文件分配一个 Inode(索引结点),每个文件都有一个惟一的 inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问。
链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。Linux 中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。符号连接相当于Windows下的快捷方式。

软件链接和硬链接的区别:

  1. 硬链接如果删除了源文件,链接文件任然存在,软链接如果删除了源文件,链接文件作废
  2. 硬链接不可以链接目录,软链接可以链接目录
  3. 更链接不能跨系统,软链接可以跨系统

    命令格式

    ln [选项] source_file [target_file]
    ln [选项] source_file ... target_dir
    选项:
  • -f 建立时,如果存在则覆盖
  • -i 覆盖前询问
  • -s 创建软链接

    使用示例

    创建 ~/Downloads/test.txt 的硬链接到 ~/Downloads/temp/test.txt
    1. $ ln ~/Downloads/test.txt ~/Downloads/temp/test.txt
    创建 ~/Downloads/test.txt 的软链接到 ~/Downloads/temp/test.txt
    1. $ ln -s ~/Downloads/test.txt ~/Downloads/temp/test.txt
    创建 ~/Downloads 目录的软链接到 ~/Downloads/temp/
    1. $ ln -s ~/Downloads ~/Downloads/temp/
    创建 ~/Downloads 目录下所有文件的软链接到 ~/Downloads/temp
    1. $ ln -s ~/Downloads/* ~/Downloads/temp
    删除链接与删除普通文件相同:
    1. $ rm -rf ~/Downloads/temp/test.txt