Linux ln命令的注意事項

介紹: 
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、只有在同一文件系統中的文件之間才能創建鏈接。 
  對硬鏈接文件進行讀寫和刪除操作時候,結果和軟鏈接相同。但如果我們刪除硬鏈接文件的源文件,硬鏈接文件仍然存在,而且保留了願有的內容。這時,系統就“忘記”了它曾經是硬鏈接文件。而把他當成一個普通文件。  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章