你可能知道windows的系統有個叫快捷方式的文件,當你為一個文件或者目錄創建快捷方式時,無論你將快捷方式放在哪里,都會打開原來的那個文件或者目錄。
但在Linux沒有快捷方式的概念,我們稱為符號鏈接,是指向另一個文件或目錄的特殊類型的文件,也經常被稱軟鏈接。
符號鏈接/軟鏈接是一類特殊的文件,其包含有一條以絕對路徑或者相對路徑的形式指向其它文件或者目錄的引用。
至今POSIX標準的操作系統、大多數類Unix/Linux系統、Windows都支持符號鏈接。Windows 2000與Windows XP在某種程度上也支持符號鏈接。
Linux/UNIX系統中有兩種類型的符號鏈接。分別是軟鏈接或者硬鏈接。
可以將硬鏈接視為現有文件的附加名稱。硬鏈接將兩個或多個文件名與相同的inode相關聯。
您可以為一個文件創建一個或多個硬鏈接。無法為目錄和不同文件系統或不同分區上的文件創建硬鏈接。
軟鏈接類似于Windows中的快捷方式。它是指向文件或目錄的間接指針。與硬鏈接不同,符號鏈接可以指向不同文件系統或不同分區上的文件或目錄。
ln命令
ln
命令用于在文件與目錄之間創建鏈接。默認情況下,ln
命令會創建硬鏈接。要創建軟鏈接,請使用-s
/--symbolic
選項。
ln
命令的語法形式是ln [OPTIONS] FILE LINK
。要在Linux創建符號鏈接,請打開終端并運行命令ln -s source_file symbolic_link
。
symbolic_link
參數是可選的。如果未指定符號鏈接的目標,ln命令將在當前目錄中創建軟鏈接。
在下面的示例中,我們將為my_file.txt
文件創建一個名為my_link.txt
的軟鏈接。要驗證是否已創建符號鏈接,請運行ls
命令。
第一個l
字符是文件類型的標識,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
創建目錄的符號鏈接與創建文件符號鏈接的命令是一樣的。只需將目錄名稱指定為第一個參數,將符號鏈接指定為第二個參數。
例如,要創建從/mnt/my_drive/movies
目錄到~/my_movies
目錄的符號鏈接。請運行命令ln -s /mnt/my_drive/movies ~/my_movies
。
ln -s /mnt/my_drive/movies ~/my_movies
覆蓋符號鏈接
如果您嘗試創建已存在的符號鏈接,ln命令將打印錯誤消息。ln: failed to create symbolic link 'my_link.txt': File exists。
要覆蓋符號鏈接的目標路徑,使用-f
/--force
選項。
ln -sf my_file.txt my_link.txt
刪除符號鏈接
您可以使用unlink
或rm
命令刪除現有的符號鏈接。unlink
命令的語法很簡單。使用rm命令刪除符號鏈接與刪除文件時候相同。
如果刪除源文件或將其移動到其他位置,則符號文件將保持懸空狀態。你應該刪除它,因為它不再起作用。
unlink symlink_to_remove
rm symlink_to_remove
結論
至此你應該很好地理解如何使用Linux ln命令以及如何創建符號鏈接。
-
Linux
+關注
關注
87文章
11302瀏覽量
209430 -
WINDOWS
+關注
關注
3文章
3544瀏覽量
88664 -
命令
+關注
關注
5文章
684瀏覽量
22019
發布評論請先 登錄
相關推薦
評論