我怎樣才能得到我的系統或某個目錄下所有鏈接文件的列表。我曾經創建鏈接,但隨着時間的推移它們變得難以管理。我想要一個目錄中所有這些鏈接的列表。誰能幫忙?如何找到Linux上其他目錄或文件基本上軟或硬鏈接的所有文件?
回答
查找符號鏈接很簡單:
% find . -type l
找到硬鏈接是棘手的,因爲如果有問題的目錄的子目錄中也有子目錄,然後將這些增加的硬鏈接數。這就是子目錄如何在UNIX中與其父母鏈接(這是每個子目錄中的..
條目)。
如果你只是想找到鏈接文件(而不是目錄),這將工作:
% find . -type f \! -links 1
這工作,因爲一個文件確實有硬鏈接將有一個鏈接數> 1和鏈接的文件有一個鏈接數== 1,因此這個命令將其鏈接數的所有文件<> 1
另外,對find
新版本,你可以使用:
% find . -type f -links +1
這與上述相同的原因起作用;不過,新版本的find可以帶+ n或-n,而不僅僅是一個數字。這相當於分別測試大於n或小於n。
Wao,這是一個如此小的命令。謝謝Alnitak – DKSRathore 2009-11-27 19:50:15
呃...文件是否可以有<1個鏈接?我的意思是,這不會使它成爲一個無文件的inode嗎? – naught101 2014-10-08 04:49:54
@ naught101那麼,提供-1確實無法找到任何文件。 – Alnitak 2014-10-08 09:00:41
@OP,如果您有GNU查找,您可以使用-printf "%n"
,
find /path -type f -printf "%f/%n/%i\n" | while IFS="/" read filename num_hlinks inum
do
echo "Filename: $filename. Number of hard links: $num_hlinks, inode: $inum"
# if 2 or more files have the same inode number, then they are hard links.
# you can therefore count how many $inum that are the same and determine those hard links, which
# you have to try doing yourself.
done
find/-xdev -samefile filename
參見例如這裏 https://www.gnu.org/software/findutils/manual/html_node/find_html/Hard-Links.html 或者將Alnitak和amber_linux答案合併爲 find -L /where/to/search -samefile /some/link/to/file
可以查找給定文件的所有硬鏈接和軟鏈接。
非常感謝!這正是我正在尋找的 - 如何找到哪些其他文件實際上與我正在查看的文件相同。 – cb2 2014-07-30 16:54:55
- 1. Linux:查找鏈接到特定目錄的所有軟鏈接
- 2. 如何在Python中找到文件或目錄的所有者
- 3. 靜脈文件找不到其他靜脈文件 - 無此文件或目錄
- 4. 如何刪除文件以及Windows上的所有硬鏈接?
- 5. 在PHP,linux openssl或其他軟件上驗證x509簽名文本
- 6. CSS鏈接到硬盤上的文件?
- 7. Shared Preference上沒有文件或目錄
- 8. 如何找到給定的文件是一個符號(軟)鏈接或硬鏈接
- 9. 基本的makefile /鏈接/庫的問題:沒有這樣的文件或目錄
- 10. 做硬鏈接或軟鏈接在文件系統中佔用任何空間?
- 11. 將文件添加到文檔目錄(或其他地方)?
- 12. 如何鏈接其他目錄中的文件?
- 13. HTML文件將不會使用其他文件或鏈接
- 14. scp上傳文件:沒有這樣的文件或目錄
- 15. 確定文件或目錄在哪個硬盤上?
- 16. 將文件上傳到服務器上的其他目錄
- 17. 如何製作文本文件(或其他文件)解析器?
- 18. QTKit無法找到文件或目錄
- 19. 找不到文件或目錄消息
- 20. 404 - 文件或目錄未找到
- 21. 味酸:文件或目錄未找到
- 22. 文件或目錄未找到「UIConstants.js」
- 23. 上傳文件到服務器拋出文件或目錄未找到異常
- 24. 如何在Linux Ubuntu上的任何txt,php,css或其他文件類型上創建文件鎖定?
- 25. 找到目錄中的所有文件不是目錄本身
- 26. GIT:如何將所有本地忽略的文件導出到其他目錄?
- 27. codeignaiter 404 - 找不到文件或目錄。在服務器上
- 28. 刪除文本文件中的所有超鏈接,linux腳本
- 29. 上傳目錄中的所有文件
- 30. 讀取文件夾或目錄中的所有文件
我認爲這屬於serverfault – 2009-11-27 19:33:36
什麼是serverfault? – DKSRathore 2009-11-27 19:35:37
請嘗試在這裏:serverfault.com – 2009-11-27 19:38:18