Gopherx
发布于 2024-11-28 / 4 阅读
0
0

Linux链接命令

Linux链接命令详解

1. 硬链接(Hard Link)

硬链接是对文件系统中的某个文件的一个直接引用。所有指向相同数据块的文件(包括原始文件和所有硬链接)都被视为同一文件。如果删除任何一个硬链接,文件的内容仍然存在,直到所有硬链接都被删除。

使用命令:ln

ln <源文件> <目标文件>

示例:

ln file.txt file_hardlink.txt

此命令会在当前目录中创建一个名为file_hardlink.txt的硬链接,指向file.txt

特点:

  • 同一文件系统:硬链接只能在同一文件系统中创建。
  • 不可链接目录:普通用户无法对目录创建硬链接(root用户可以,但不推荐这样做)。
  • 不易区分:硬链接没有符号或标识,文件内容和名称等价。

2. 软链接(Symbolic Link 或 Symlink)

软链接是一个特殊的文件,它包含指向另一个文件的路径。与硬链接不同,软链接是独立于目标文件存在的。如果软链接的目标文件被删除或移动,软链接将变为“悬空链接”(broken link),无法再访问目标文件。

使用命令:ln -s

ln -s <源文件> <目标文件>

示例:

ln -s /path/to/file.txt file_symlink.txt

此命令会创建一个名为file_symlink.txt的软链接,指向/path/to/file.txt

特点:

  • 跨文件系统:软链接可以指向任何路径,包括不同文件系统中的文件。
  • 链接目录:可以创建指向目录的软链接。
  • 可识别性:软链接是一个特殊类型的文件,通常通过ls -l命令显示时会有符号->指示目标文件。

3. 查看链接信息

  • 查看硬链接的数量

    ls -l <文件名>
    

    输出中的“硬链接计数”列表示指向该文件的硬链接数量。

  • 查看软链接

    ls -l <软链接名>
    

    会显示链接的路径,示例:

    lrwxrwxrwx 1 user group 11 Nov 28 10:30 file_symlink.txt -> /path/to/file.txt
    

4. 删除链接

  • 删除硬链接

    rm <硬链接文件>
    

    删除硬链接文件后,如果其他硬链接仍然存在,文件内容不会被删除。

  • 删除软链接

    rm <软链接文件>
    

    删除软链接文件不会影响目标文件,但如果目标文件不存在,软链接将会是“悬空链接”。


总结

  • 硬链接适用于对文件内容的引用,不容易分辨原始文件与硬链接,且只能在同一文件系统内使用。
  • 软链接适用于创建跨文件系统的快捷方式,能够链接到文件或目录,且链接的路径可能会被改变或文件被删除。

评论