Linux 建立软链接(快捷方式),以及硬链接的命令 ?

参考回答

在 Linux 中,建立软链接和硬链接的命令如下:

  1. 软链接 (Symbolic Link)
    使用 ln -s 命令来创建软链接。例如,要将文件 file.txt 建立一个软链接 file_link.txt,命令为:

    ln -s file.txt file_link.txt
    
  2. 硬链接 (Hard Link)
    使用 ln 命令来创建硬链接。例如,要将文件 file.txt 建立一个硬链接 file_link.txt,命令为:

    ln file.txt file_link.txt
    

详细讲解与拓展

  1. 软链接 (Symbolic Link)
    • 软链接类似于 Windows 中的快捷方式,它是一个指向另一个文件的路径。
    • 软链接可以跨文件系统,指向任何类型的文件(包括目录)。
    • 如果源文件被删除,软链接会失效。
    • 通过 ls -l 查看软链接时,会看到链接指向的目标路径。例如:
      lrwxrwxrwx 1 user user 10 Feb 5 10:00 file_link.txt -> file.txt
      

    示例
    假设有一个文件 original.txt,现在你希望为它创建一个软链接 shortcut.txt

    ln -s original.txt shortcut.txt
    

    此时,如果查看 shortcut.txt 的信息,会看到它指向了 original.txt

  2. 硬链接 (Hard Link)

    • 硬链接指向的是文件的实际数据块,而不是路径。
    • 硬链接只能在同一个文件系统中创建。
    • 即使源文件被删除,只要硬链接存在,数据仍然可以访问。因为硬链接本质上是多个指向相同数据块的文件。
    • 通过 ls -l 查看硬链接时,会看到链接计数增加。例如:
      -rw-r--r-- 2 user user 12 Feb 5 10:00 original.txt
      

    示例
    假设有一个文件 file.txt,你希望创建一个硬链接 link.txt

    ln file.txt link.txt
    

    在这个情况下,link.txtfile.txt 都指向相同的数据块,如果删除 file.txtlink.txt 仍然可以访问文件内容。

    注意事项

    • 软链接会消耗额外的磁盘空间来保存目标路径,而硬链接则不需要额外的空间(除非创建新的文件名)。
    • 在删除文件时,硬链接提供的数据不会被删除,直到所有链接都被删除。

总结:
– 软链接是一种文件路径引用方式,类似于快捷方式,灵活但容易失效。
– 硬链接是一种直接指向文件内容的方式,较为“持久”,不会因为源文件删除而失效。

发表评论

后才能评论