Linux ln命令介紹
Linux ln命令(全稱:link files)是一個非常重要的命令,它的功能是為某一個文件在另外一個位置建立一個同步的鏈接。當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然后在其它的目錄下用ln命令鏈接(link)它就可以,不必重復的占用磁盤空間2。
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
是你想要在其中創建鏈接的目錄1。
Linux ln命令的常用選項或參數說明
以下是ln命令的一些常用選項:
-s
:創建軟鏈接(符號鏈接)-i
:交互模式,文件存在則提示用戶是否覆蓋-f
:強制執行,即使目標文件存在,也直接覆蓋-n
:把符號鏈接視為一般目錄2
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
目錄2。
覆蓋已存在的軟鏈接
[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命令用法詳解