
符號鏈接(symbolic link)是 Linux 系統中的一種檔案,它指向系統中的另一個檔案或目錄,符號鏈接類似于 Windows 系統中的快捷方式,
也有人稱它“軟鏈接(soft links)”——Linux/UNIX 系統中的一種鏈接形式——與之對應的是“硬鏈接(hard links)”,
軟鏈接和硬鏈接的區別
軟鏈接類似于快捷方式,它可以指向任意檔案系統中的一個檔案或目錄,
硬鏈接也可以看作是檔案或目錄的快捷方式,但是無法在兩個不同檔案系統之間創建硬鏈接,
我們將會學習如何創建及洗掉符號鏈接,還會了解什么是失效鏈接,以及如何洗掉它們,
如何創建符號鏈接
創建符號鏈接的語法:
ln -s <path to the file/folder to be linked> <the path of the link to be created>
ln 是鏈接命令,-s 指定此鏈接為軟鏈接,-s 也可以寫為 -symbolic,
ln 命令默認會創建硬鏈接,path to the file (or folder) 宣告了鏈接目標,即想要為其創建快捷方式的檔案或目錄,
path to link 即鏈接(快捷方式)名稱,
如何為一個檔案創建符號鏈接——命令示例
ln -s /home/james/transactions.txt trans.txt
執行這個命令之后,就可以通過 trans.txt 來訪問 /home/james/transactions.txt,對于 trans.txt 的修改會體現到源檔案上,
注意,以上命令會在當前目錄創建鏈接檔案 trans.txt,你也可以使用以下命令在其它目錄中創建鏈接檔案:
ln -s /home/james/transactions.txt my-stuffs/trans.txt
以上命令要求當前目錄必須存在一個名為 "my-stuffs" 的目錄——否則會拋出錯誤,
如何為目錄創建符號鏈接——命令示例
與上面的命令類似:
ln -s /home/james james
這會創建一個名為 "james" 的符號鏈接檔案夾,其中包含了 /home/james 目錄中的內容,對于鏈接檔案夾的操作也會體現到原始檔案夾,
如何洗掉符號鏈接
在洗掉符號鏈接之前,需要確認這個檔案或檔案夾確實是符號鏈接,以免誤刪源檔案,
可以這樣做:
ls -l <path-to-assumed-symlink>
在終端運行以上命令會列印出這個檔案的屬性資訊,如果第一個字符是小寫的 "L"(l)的話,即表明這個檔案(或檔案夾)是一個符號鏈接,
你還可以看到末尾有一個箭頭(->),指向這個符號鏈接的目標檔案(或檔案夾),
有兩種方式可以洗掉符號鏈接:
使用 unlink 洗掉符號鏈接
語法如下:
unlink <path-to-symlink>
如果命令成功執行的話,將會洗掉指定的符號鏈接,
即使符號鏈接是檔案夾形式的,也不要在前面加 "/",如果加了 "/",Linux 會把它當成是一個目錄,然而 unlink 是無法洗掉目錄的,
使用 rm 洗掉符號鏈接
正如我們所見,符號鏈接只是一種指向源檔案(或目錄)的檔案(或目錄),只要洗掉鏈接檔案就可以解除這種關系,
語法如下:
rm <path-to-symlink>
例如:
rm trans.txt
rm james
注意,試圖執行 rm james/ 會引發錯誤,因為 Linux 會把 james/ 當成目錄來處理,要想洗掉目錄還需要提供 r 和 f 等引數,然而這并不是我們想要的,雖然符號鏈接有可能是檔案夾形式的,但我們只需要關心它的名字,
比起 unlink,rm 的主要優勢在于可以一次性洗掉多個符號鏈接,就像洗掉多個檔案那樣,
如何找出失效鏈接并將其洗掉
當源檔案(或目錄)被移動或者被洗掉時,指向它的符號鏈接就會失效,
如果把 "transactions.txt" 從 /home/james 移動到 /home/james/personal,"trans.txt" 這個鏈接就會失效,之后嘗試訪問 "trans.txt" 會引發錯誤:"No such file or directory",
如果發現失效的鏈接,可以很輕松地將其洗掉,以下方法可以很方便地找出失效鏈接:
find /home/james -xtype l
這個命令會列出 james 目錄下各種型別(如:檔案、目錄及子目錄)的所有失效鏈接,
傳入 -delete 引數就可以將它們洗掉:
find /home/james -xtype l -delete
總結
如果對Python有興趣,想了解更多的Python以及AIoT知識,解決測驗問題,以及入門指導,幫你解決學習Python中遇到的困惑,我們這里有技術高手,如果你正在找作業或者剛剛學校出來,又或者已經作業但是經常覺得難點很多,覺得自己Python方面學的不夠精想要繼續學習的,想轉行怕學不會的, 都可以加入我們,可領取最新Python大廠面試資料和Python爬蟲、人工智能、學習資料!VX【pydby01】暗號CSDN
符號鏈接是 Linux/UNIX 系統的有趣特性,
可以為不方便訪問的檔案或檔案夾創建符號鏈接,以便于訪問,多加練習,你就能對它的作業方式有一個直觀的理解,符號鏈接能夠幫助你更高效地管理檔案系統,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/387270.html
標籤:區塊鏈
