歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux ln命令的注意事項

Linux ln命令的注意事項

日期:2017/2/28 16:05:32   编辑:Linux教程

介紹:
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、只有在同一文件系統中的文件之間才能創建鏈接。
  對硬鏈接文件進行讀寫和刪除操作時候,結果和軟鏈接相同。但如果我們刪除硬鏈接文件的源文件,硬鏈接文件仍然存在,而且保留了願有的內容。這時,系統就“忘記”了它曾經是硬鏈接文件。而把他當成一個普通文件。

Copyright © Linux教程網 All Rights Reserved