Linux ln命令介绍
Linux ln命令(全称:link files)是一个非常重要的命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间²。
Linux ln命令适用的Linux版本
ln命令在所有主流的Linux发行版中都是可用的,包括Ubuntu, Debian, Fedora, CentOS等。在某些较旧的Linux发行版中,可能需要安装coreutils软件包来获取ln命令。可以使用以下命令进行安装:
在CentOS 7中:
[linux@bashcommandnotfound.cn ~]$ sudo yum -y install coreutils
在CentOS 8中:
[linux@bashcommandnotfound.cn ~]$ sudo dnf-y install coreutils
在Debian/Ubuntu中
[linux@bashcommandnotfound.cn ~]$ sudo apt-get -y install coreutils
Linux ln命令的基本语法
ln [options] [source_file] [Link_Name]
ln [options] [source_file] [Directory]
其中,source_file
是你想要创建链接的文件,Link_Name
是链接的名称,Directory
是你想要在其中创建链接的目录¹。
Linux ln命令的常用选项或参数说明
以下是ln命令的一些常用选项:
-s
:创建软链接(符号链接)-i
:交互模式,文件存在则提示用户是否覆盖-f
:强制执行,即使目标文件存在,也直接覆盖-n
:把符号链接视为一般目录²
Linux ln命令的实例
创建一个指向文件的软链接
[linux@bashcommandnotfound.cn ~]$ ln -s source_file symbolic_link
这个命令会创建一个名为symbolic_link
的软链接,该链接指向名为source_file
的文件。
创建一个指向目录的软链接
[linux@bashcommandnotfound.cn ~]$ ln -s /mnt/my_drive/movies ~/my_movies
这个命令会在你的主目录下创建一个名为my_movies
的软链接,该链接指向/mnt/my_drive/movies
目录²。
覆盖已存在的软链接
[linux@bashcommandnotfound.cn ~]$ ln -sf source_file symbolic_link
如果symbolic_link
已经存在,这个命令会强制创建一个新的软链接,覆盖旧的链接。
创建硬链接
[linux@bashcommandnotfound.cn ~]$ ln file.txt file.ln
这个命令会创建一个名为file.ln
的硬链接,该链接指向名为file.txt
的文件。
创建软链接并备份目标文件:
[linux@bashcommandnotfound.cn ~]$ ln --backup file.txt file.bk
这个命令会创建一个名为file.bk
的软链接,该链接指向名为file.txt
的文件,并且会备份file.txt
文件。
创建循环链接:
[linux@bashcommandnotfound.cn ~]$ ln notes circular
这个命令会创建一个名为circular
的链接,该链接指向当前工作目录中名为notes
的文件。
链接文件到多个目录:
[linux@bashcommandnotfound.cn ~]$ ln part1.txt ../helpdata/sect1 /public/helpdoc/part1
这个命令会创建两个链接,一个在../helpdata/sect1
目录,另一个在/public/helpdoc/part1
目录,这两个链接都指向名为part1.txt
的文件。
链接目录中的所有文件到当前目录:
[linux@bashcommandnotfound.cn ~]$ ln project/*.xdh $PWD
这个命令会创建链接,链接指向project
目录中所有以.xdh
结尾的文件,链接会被创建在当前工作目录。
Linux ln命令的注意事项
- 如果你在使用ln命令时遇到了
bash: ln: command not found
的错误,那么你可能需要安装coreutils软件包来获取ln命令。 - 在创建软链接时,源文件必须使用绝对路径,否则可能会导致链接失效。
- 软链接可以跨文件系统,硬链接则不能。
更多详细内容可以参考:
linux入门学习教程 - Linux入门自学网
Linux下ln命令用法详解