你可能知道windows的系統(tǒng)有個(gè)叫快捷方式的文件,當(dāng)你為一個(gè)文件或者目錄創(chuàng)建快捷方式時(shí),無(wú)論你將快捷方式放在哪里,都會(huì)打開原來(lái)的那個(gè)文件或者目錄。
但在Linux沒有快捷方式的概念,我們稱為符號(hào)鏈接,是指向另一個(gè)文件或目錄的特殊類型的文件,也經(jīng)常被稱軟鏈接。
符號(hào)鏈接/軟鏈接是一類特殊的文件,其包含有一條以絕對(duì)路徑或者相對(duì)路徑的形式指向其它文件或者目錄的引用。
至今POSIX標(biāo)準(zhǔn)的操作系統(tǒng)、大多數(shù)類Unix/Linux系統(tǒng)、Windows都支持符號(hào)鏈接。Windows 2000與Windows XP在某種程度上也支持符號(hào)鏈接。
Linux/UNIX系統(tǒng)中有兩種類型的符號(hào)鏈接。分別是軟鏈接或者硬鏈接。
可以將硬鏈接視為現(xiàn)有文件的附加名稱。硬鏈接將兩個(gè)或多個(gè)文件名與相同的inode相關(guān)聯(lián)。
您可以為一個(gè)文件創(chuàng)建一個(gè)或多個(gè)硬鏈接。無(wú)法為目錄和不同文件系統(tǒng)或不同分區(qū)上的文件創(chuàng)建硬鏈接。
軟鏈接類似于Windows中的快捷方式。它是指向文件或目錄的間接指針。與硬鏈接不同,符號(hào)鏈接可以指向不同文件系統(tǒng)或不同分區(qū)上的文件或目錄。
ln命令
ln命令用于在文件與目錄之間創(chuàng)建鏈接。默認(rèn)情況下,ln命令會(huì)創(chuàng)建硬鏈接。要?jiǎng)?chuàng)建軟鏈接,請(qǐng)使用-s/--symbolic選項(xiàng)。
ln命令的語(yǔ)法形式是ln [OPTIONS] FILE LINK。要在Linux創(chuàng)建符號(hào)鏈接,請(qǐng)打開終端并運(yùn)行命令ln -s source_file symbolic_link。
symbolic_link參數(shù)是可選的。如果未指定符號(hào)鏈接的目標(biāo),ln命令將在當(dāng)前目錄中創(chuàng)建軟鏈接。
在下面的示例中,我們將為my_file.txt文件創(chuàng)建一個(gè)名為my_link.txt的軟鏈接。要驗(yàn)證是否已創(chuàng)建符號(hào)鏈接,請(qǐng)運(yùn)行ls命令。
第一個(gè)l字符是文件類型的標(biāo)識(shí),l表示符號(hào)鏈接。->符號(hào)鏈接文件的符號(hào)鏈接指向。
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)建目錄的符號(hào)鏈接與創(chuàng)建文件符號(hào)鏈接的命令是一樣的。只需將目錄名稱指定為第一個(gè)參數(shù),將符號(hào)鏈接指定為第二個(gè)參數(shù)。
例如,要?jiǎng)?chuàng)建從/mnt/my_drive/movies目錄到~/my_movies目錄的符號(hào)鏈接。請(qǐng)運(yùn)行命令ln -s /mnt/my_drive/movies ~/my_movies。
ln -s /mnt/my_drive/movies ~/my_movies
覆蓋符號(hào)鏈接
如果您嘗試創(chuàng)建已存在的符號(hào)鏈接,ln命令將打印錯(cuò)誤消息。ln: failed to create symbolic link 'my_link.txt': File exists。
要覆蓋符號(hào)鏈接的目標(biāo)路徑,使用-f/--force選項(xiàng)。
ln -sf my_file.txt my_link.txt
刪除符號(hào)鏈接
您可以使用unlink或rm命令刪除現(xiàn)有的符號(hào)鏈接。unlink命令的語(yǔ)法很簡(jiǎn)單。使用rm命令刪除符號(hào)鏈接與刪除文件時(shí)候相同。
如果刪除源文件或?qū)⑵湟苿?dòng)到其他位置,則符號(hào)文件將保持懸空狀態(tài)。你應(yīng)該刪除它,因?yàn)樗辉倨鹱饔谩?/p>
unlink symlink_to_remove
rm symlink_to_remove
結(jié)論
至此你應(yīng)該很好地理解如何使用Linux ln命令以及如何創(chuàng)建符號(hào)鏈接。
-
Linux
+關(guān)注
關(guān)注
88文章
11758瀏覽量
219009 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3702瀏覽量
94022 -
命令
+關(guān)注
關(guān)注
5文章
755瀏覽量
23751
發(fā)布評(píng)論請(qǐng)先 登錄
一文弄懂Linux硬鏈接和軟鏈接
【Linux基礎(chǔ)】Linux硬鏈接簡(jiǎn)介
【Linux基礎(chǔ)】Linux軟鏈接簡(jiǎn)介
linux下軟鏈接和硬鏈接的區(qū)別
Linux連接文件的方法
Linux目錄的創(chuàng)建與刪除命令
淺析Linux中命令鏈接操作符的十個(gè)最佳實(shí)例
如何快速入門運(yùn)維?了解Linux中的10個(gè)命令鏈接操作符
你知道Linux軟連接和硬鏈接?
Linux中命令鏈接操作符的實(shí)際應(yīng)用
深度解讀Linux的3種“拷貝”命令
如何使用Linux ln命令以及如何創(chuàng)建符號(hào)鏈接
評(píng)論