fstype 奇妙な動作で「検索」を除外

fstype 奇妙な動作で「検索」を除外

「find」コマンドで「/proc」ファイルシステムを除外しました。私は、GNUベースではないホスト(たとえば、「find」に「-path」オプションがない最も古いAIX)で使用できるポータブルソリューションを好みます。

Linuxホストで試した内容と部分的にフィルタリングされた出力は次のとおりです。

$found/!-fstype プロセス>/dev/null
あなたが探しているもの: `/proc/9475/task/9535/fdinfo/7':そのファイルやディレクトリはありません
検索: `/proc/10856': 該当するファイルやディレクトリがありません。
検索: `/proc/10856': 該当するファイルやディレクトリがありません。
検索: `/proc/10858': そのファイルやディレクトリはありません。
検索: `/proc/10858': そのファイルやディレクトリはありません。
検索: `/proc/15650': そのファイルやディレクトリはありません。
検索: `/proc/15650': そのファイルやディレクトリはありません。
検索: `/proc/15654': そのファイルやディレクトリはありません。
検索: `/proc/15654': そのファイルやディレクトリはありません。
検索: `/proc/15656': そのファイルやディレクトリはありません。
検索: `/proc/15656': そのファイルやディレクトリはありません。
検索: `/proc/15657': そのファイルやディレクトリはありません。
検索: `/proc/15657': そのファイルやディレクトリはありません。
検索: `/proc/15663': そのファイルやディレクトリはありません。
など....

「!-fstype proc」スイッチにもかかわらず、「find」が「/proc」ファイルシステムから移動し続ける理由を理解できません。

ベストアンサー1

〜のようにTerdenは説明したfindディレクトリ/procは入力され続けますが、そのファイルシステムタイプのパス名は返されません。

procファイル・システム・タイプが検出されるとすぐに検索パスを削除するには、次のようにします。

find / -fstype proc -prune -o -print

ただし、以前のバージョンでこれを実行したいので、findこの-fstypeオプションを使用できない可能性があります。-path(の標準オプション)も利用できない場合、find実装は明らかにPOSIXと互換性がないため、推奨事項を提示することは少し難しくなります。

選択できる-xdevこれを使用すると、起動findパスと同じファイルシステムに厳密に保持されます。次に、find確認したいファイルシステムごとに1つずつ実行する必要があります。 .-x-xdev

-type d -name proc -pruneこれが不可能な場合は、を使用して名前付きのすべてのディレクトリを無視する必要がありますproc

おすすめ記事