Linux ln命令的注意事項

2021-05-28 15:00:06 字數 2487 閱讀 7507

介紹: 

ln命令用來連線檔案或目錄,如同時指定兩個以上的檔案或目錄,且最後的目的地是乙個已經存在的目錄,則會把前面指定的所有檔案或目錄複製到該目錄中。若同時指定多個檔案或目錄,且最後的目的地並非是乙個已存在的目錄,則會出現錯誤資訊。

語法: 

ln [-b] [-d] [-f] [-i] [-n] [-s] [-v] 原始檔或目錄 目標檔案或目錄 

選項介紹: 

-b: 將在鏈結時會被覆寫或刪除的檔案進行備份; 

-d: 允許系統管理者硬鏈結自己的目錄; 

-f: 強行建立檔案或目錄的鏈結,不**件或目錄是否存在; 

-n: 把符號鏈結的目的目錄視為一般檔案; 

-i: 在刪除與dist同檔名的檔案時先進行詢問; 

-s: 進行軟鏈結(符號鏈結); 

-v: 在鏈結之前顯示其檔名; 

解釋:鏈結檔案有點類似於windows 的所謂快捷方式,但並不完全一樣。鏈結有兩種方式,軟鏈結和硬鏈結。 

1.軟鏈結檔案 

軟鏈結又叫符號鏈結,這個檔案包含了另乙個檔案的路徑名。可以是任意檔案或目錄,可以鏈結不同檔案系統的檔案。鏈結檔案甚至可以鏈結不存在的檔案,這就產生一般稱之為"斷鏈"的問題(或曰「現象"),鏈結檔案甚至可以迴圈鏈結自己。類似於程式語言中的遞迴。 

[yaoyao@linux236 yaoyao]$ ls -l 

total 0 

lrwxrwxrwx 1 yaoyao yaoyao  5 aug 6 17:39 1.txt -> 3.txt 

lrwxrwxrwx 1 yaoyao yaoyao  5 aug 6 17:38 2.txt -> 1.txt 

lrwxrwxrwx 1 yaoyao yaoyao  5 aug 6 17:39 3.txt -> 2.txt 

上面的三個檔案形成了乙個遞迴,實質上沒有任何作用。系統管理員應該避免系統出現斷鏈或迴圈鏈結。 

用ln -s 命令可以生成乙個軟連線,如下: 

[root@linux236 test]# ln -s source_file softlink_file 

在對符號檔案進行讀或寫操作的時候,系統會自動把該操作轉換為對原始檔的操作,但刪除鏈結檔案時,系統僅僅刪除鏈結檔案,而不刪除原始檔本身。 

硬鏈結檔案 

info ln 命令告訴您,硬鏈結是已存在檔案的另乙個名字(a "hard link" is another name for an existing file),這多少有些令人困惑。硬連線的命令是 

ln -d existfile newfile 

硬鏈結檔案有兩個限制 

1、不允許給目錄建立硬鏈結; 鏈結檔案有點類似於windows 的所謂快捷方式,但並不完全一樣。鏈結有兩種方式,軟鏈結和硬鏈結。 

軟鏈結檔案 

軟鏈結又叫符號鏈結,這個檔案包含了另乙個檔案的路徑名。可以是任意檔案或目錄,可以鏈結不同檔案系統的檔案。鏈結檔案甚至可以鏈結不存在的檔案,這就產生一般稱之為"斷鏈"的問題(或曰「現象"),鏈結檔案甚至可以迴圈鏈結自己。類似於程式語言中的遞迴。 

[yaoyao@linux236 yaoyao]$ ls -l 

total 0 

lrwxrwxrwx 1 yaoyao yaoyao  5 aug 6 17:39 1.txt -> 3.txt 

lrwxrwxrwx 1 yaoyao yaoyao  5 aug 6 17:38 2.txt -> 1.txt 

lrwxrwxrwx 1 yaoyao yaoyao  5 aug 6 17:39 3.txt -> 2.txt 

上面的三個檔案形成了乙個遞迴,實質上沒有任何作用。系統管理員應該避免系統出現斷鏈或迴圈鏈結。 

用ln -s 命令可以生成乙個軟連線,如下: 

[root@linux236 test]# ln -s source_file softlink_file 

在對符號檔案進行讀或寫操作的時候,系統會自動把該操作轉換為對原始檔的操作,但刪除鏈結檔案時,系統僅僅刪除鏈結檔案,而不刪除原始檔本身。 

2.硬鏈結檔案 

info ln 命令告訴您,硬鏈結是已存在檔案的另乙個名字(a "hard link" is another name for an existing file),這多少有些令人困惑。硬連線的命令是 

ln -d existfile newfile 

硬鏈結檔案有兩個限制 

1、不允許給目錄建立硬鏈結;

////////////非常重要的注意點 

2、只有在同一檔案系統中的檔案之間才能建立鏈結。 

對硬鏈結檔案進行讀寫和刪除操作時候,結果和軟鏈結相同。但如果我們刪除硬鏈結檔案的原始檔,硬鏈結檔案仍然存在,而且保留了願有的內容。這時,系統就「忘記」了它曾經是硬鏈結檔案。而把他當成乙個普通檔案。  

2、只有在同一檔案系統中的檔案之間才能建立鏈結。 

對硬鏈結檔案進行讀寫和刪除操作時候,結果和軟鏈結相同。但如果我們刪除硬鏈結檔案的原始檔,硬鏈結檔案仍然存在,而且保留了願有的內容。這時,系統就「忘記」了它曾經是硬鏈結檔案。而把他當成乙個普通檔案。  

ps命令注意事項

1.ps命令由於歷史原因,版本比較多,主要分為三種版本 1 unix風格的版本,命令引數加單橫線。比如ps ef 2 bsd風格的版本,命令引數前不加任何橫線。比如ps aux 3 gnu風格的版本,命令引數前加雙橫線。比如ps deselect forest 顯示所有程序,並且顯示出程序的父子關係...

常用git命令及注意事項

整個android原始碼放在scm伺服器上,我們首先要從伺服器上獲取原始碼,進行修改 編輯後再上傳回伺服器。獲取原始碼的方法參考 獲取源 以下是我們工作中常用到的git命令 git clone 該命令從伺服器上轉殖乙份完整 最新的源 參考 獲取源 git pull 執行該命令可將伺服器端的 同步到本...

常用git命令及注意事項

原始碼放在伺服器上,我們首先要從伺服器上獲取原始碼,進行修改 編輯後再上傳回伺服器。獲取原始碼的方法參考 獲取源 以下是工作中常用到的git命令 git clone 該命令從伺服器上轉殖乙份完整 最新的源 參考 獲取源 git pull 執行該命令可將伺服器端的 同步到本地。當其他同時上傳 到伺服器...