GNU/Linux >> Linux の 問題 >  >> Linux

ファイルシステム上のすべてのハードリンクされたファイルを見つけるにはどうすればよいですか?

次のコマンドを実行できます:

find / -type f -printf '%n %p\n' | awk '$1 > 1{$1="";print}'

ハードリンクされたすべてのファイルを検索します。

または @mbafford バージョン:

find / -type f -links +1 -printf '%i %n %p\n'

find . -type f -links +1 2>/dev/null

複数のリンクを持つすべてのファイル、つまりハードリンクが存在するファイルのリストを返します。これをループするのは比較的簡単です。それほど多くのファイルがない場合は、ハッキーな解決策になります

for i in $(find . -type f -links +1 2>/dev/null); do find -samefile $i | awk '{printf "%s ", $1}'; printf "\n"; done | sort | uniq

しかし、たとえば最初の find を許可するなど、より良い解決策があることを心から願っています print i ノード番号を呼び出してから find を使用する の -inum この inode に関連付けられたすべてのファイルを表示するオプション。


Linux
  1. ソフトウェアに関連するすべてのファイルを見つける方法は?

  2. Linuxで1GBサイズを超えるすべてのファイルを見つける方法は?

  3. Linuxで777権限を持つすべてのファイル/フォルダを見つける方法は?

  1. すべてのファイルとディレクトリを再帰的に一覧表示する方法

  2. Linux で特定のテキストを含むすべてのファイルを見つけるにはどうすればよいですか?

  3. ls を使用して空でないファイルのみを一覧表示するにはどうすればよいですか?

  1. Linuxのviでfindによって返されたすべてのファイルを編集するにはどうすればよいですか?

  2. ディレクトリ内のすべてのゼロバイトファイルを見つける方法

  3. bzip されていないすべてのファイルを再帰的に bzip2 するにはどうすればよいですか?