/home ディレクトリ (直接またはすべてのレベルのサブディレクトリのいずれか) にあるファイル以外のファイルを検索するには、次のコマンドを実行します。
find / ! -path '/home/*'
ただし、次のような「許可拒否」メッセージでエラーが発生します。
find: '/home/user/here/is/some/file': Permission denied
それ自体が「権利拒否」であることは関係ありません。私が嫌いなのは、そこからでも検索しようとしているということです。
最初は/home/user/内のディレクトリを参照するFSの他の場所にいくつかのシンボリックリンクがあるためかもしれないと思いましたが、次のように-Hオプションを試しました。
find -H / ! -path '/home/*'
それでも/ home / *に対応するファイル/ディレクトリが一覧表示されます。
この問題を解決する方法についてのアイデアはありますか?
答え1
-path
このコンポーネントは、可能なすべてのパスに対して評価されます。検索時間は短縮されません。-prune
これを行う必要があります。
find / -path '/home/*' -prune -o -print