你可能知道windows的系統(tǒng)有個叫快捷方式的文件,當(dāng)你為一個文件或者目錄創(chuàng)建快捷方式時,無論你將快捷方式放在哪里,都會打開原來的那個文件或者目錄。
但在Linux沒有快捷方式的概念,我們稱為符號鏈接,是指向另一個文件或目錄的特殊類型的文件,也經(jīng)常被稱軟鏈接。
符號鏈接/軟鏈接是一類特殊的文件,其包含有一條以絕對路徑或者相對路徑的形式指向其它文件或者目錄的引用。
至今POSIX標(biāo)準(zhǔn)的操作系統(tǒng)、大多數(shù)類Unix/Linux系統(tǒng)、Windows都支持符號鏈接。Windows 2000與Windows XP在某種程度上也支持符號鏈接。
Linux/UNIX系統(tǒng)中有兩種類型的符號鏈接。分別是軟鏈接或者硬鏈接。
可以將硬鏈接視為現(xiàn)有文件的附加名稱。硬鏈接將兩個或多個文件名與相同的inode相關(guān)聯(lián)。
您可以為一個文件創(chuàng)建一個或多個硬鏈接。無法為目錄和不同文件系統(tǒng)或不同分區(qū)上的文件創(chuàng)建硬鏈接。
軟鏈接類似于Windows中的快捷方式。它是指向文件或目錄的間接指針。與硬鏈接不同,符號鏈接可以指向不同文件系統(tǒng)或不同分區(qū)上的文件或目錄。
ln命令
ln
命令用于在文件與目錄之間創(chuàng)建鏈接。默認(rèn)情況下,ln
命令會創(chuàng)建硬鏈接。要創(chuàng)建軟鏈接,請使用-s
/--symbolic
選項(xiàng)。
ln
命令的語法形式是ln [OPTIONS] FILE LINK
。要在Linux創(chuàng)建符號鏈接,請打開終端并運(yùn)行命令ln -s source_file symbolic_link
。
symbolic_link
參數(shù)是可選的。如果未指定符號鏈接的目標(biāo),ln命令將在當(dāng)前目錄中創(chuàng)建軟鏈接。
在下面的示例中,我們將為my_file.txt
文件創(chuàng)建一個名為my_link.txt
的軟鏈接。要驗(yàn)證是否已創(chuàng)建符號鏈接,請運(yùn)行ls
命令。
第一個l
字符是文件類型的標(biāo)識,l
表示符號鏈接。->
符號鏈接文件的符號鏈接指向。
ln -s my_file.txt my_link.txt
ls -l my_link.txt
lrwxrwxrwx 1 myfreax users 4 Nov 2 23:03 my_link.txt -> my_file.txt
創(chuàng)建目錄的符號鏈接與創(chuàng)建文件符號鏈接的命令是一樣的。只需將目錄名稱指定為第一個參數(shù),將符號鏈接指定為第二個參數(shù)。
例如,要創(chuàng)建從/mnt/my_drive/movies
目錄到~/my_movies
目錄的符號鏈接。請運(yùn)行命令ln -s /mnt/my_drive/movies ~/my_movies
。
ln -s /mnt/my_drive/movies ~/my_movies
覆蓋符號鏈接
如果您嘗試創(chuàng)建已存在的符號鏈接,ln命令將打印錯誤消息。ln: failed to create symbolic link 'my_link.txt': File exists。
要覆蓋符號鏈接的目標(biāo)路徑,使用-f
/--force
選項(xiàng)。
ln -sf my_file.txt my_link.txt
刪除符號鏈接
您可以使用unlink
或rm
命令刪除現(xiàn)有的符號鏈接。unlink
命令的語法很簡單。使用rm命令刪除符號鏈接與刪除文件時候相同。
如果刪除源文件或?qū)⑵湟苿拥狡渌恢茫瑒t符號文件將保持懸空狀態(tài)。你應(yīng)該刪除它,因?yàn)樗辉倨鹱饔谩?/p>
unlink symlink_to_remove
rm symlink_to_remove
結(jié)論
至此你應(yīng)該很好地理解如何使用Linux ln命令以及如何創(chuàng)建符號鏈接。
-
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209521 -
WINDOWS
+關(guān)注
關(guān)注
3文章
3545瀏覽量
88707 -
命令
+關(guān)注
關(guān)注
5文章
684瀏覽量
22027
發(fā)布評論請先 登錄
相關(guān)推薦
評論