软链接是独立文件,指向原路径,可跨文件系统,原文件删除后失效;硬链接共享inode,不可跨文件系统或链接目录,删除一个不影响其他。

在Linux中,软链接(符号链接)和硬链接是两种不同的文件引用方式。它们都能让你通过另一个路径访问文件,但底层机制不同,使用场景也有所区别。
软链接(Symbolic Link) 类似于Windows中的快捷方式,它是一个独立的文件,其内容是指向另一个文件或目录的路径。如果原文件被删除,软链接就会失效(变成“悬空链接”)。
硬链接(Hard Link) 是对同一 inode 的多个文件名引用,本质上是同一个文件的多个入口。硬链接不能跨文件系统,也不能指向目录,只能用于普通文件。删除一个硬链接不会影响其他链接,只有当所有链接都被删除后,文件数据才会真正释放。
使用 ln -s 命令可以创建软链接:
ln -s 源文件路径 链接文件名
例如:
ln -s /home/user/docs/readme.txt ./readme_link
ln -s /opt/myapp/config/ ./config_link
注意:软链接可以跨文件系统,也可以指向不存在的文件(但会变红或显示为无效)。
使用 ln 命令不加参数即可创建硬链接:
ln 源文件 硬链接文件名
例如:
ln file.txt file_hardlink
验证是否成功:可以通过 ls -i 查看 inode 号,硬链接的 inode 号与原文件相同。
限制:硬链接不能用于目录(出于防止循环引用的考虑),也不能跨文件系统。
使用 ls -l 查看文件详情:
lrwxrwxrwx 1 user user 12 Apr 10 10:00 readme_link -> readme.txt
-rw-r--r-- 2 user user 4096 Apr 10 09:55 file.txt
基本上就这些。软链接更灵活,适合大多数场景;硬链接节省空间且数据一致,但使用受限。根据需求选择合适的方式。
以上就是如何在Linux中创建软链接和硬链接?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号