Findコマンドを使用したときは、ほとんどの場合、ローカルドライブを検索する必要があります。しかし、私はほとんど常に超大規模なネットワーク共有をマウントしており、これらは検索に含まれています。 findコマンド、grep、および他の同様のコマンドでそれらを除外する簡単な方法はありますか?例:
検索/ -name .vimrc
-fstype local
オプションを使用して、以下を検索します。
find / -fstype local -name .vimrc
特定のパスのみを除外する場合は、-Prune
を使用できます。
find / -name /path/to/ignore -Prune -o -name .vimrc
更新:
local
psuedo-fstypeは、OS Xに付属しているバージョンのfindで使用できますが、GNU find( fstypescognited by GNU find )。
GNU find(ほとんどのLinuxシステムで使用されている)を使用している場合)、代わりに-mount
を使用する必要があります。
find / -mount -name .vimrc
man find
は以下を示します。
-xdev
他のファイルシステムのディレクトリを降りないでください。
元々の質問はローカルディスク上でのみ検索することでしたので、完全を期すために、ここで私が使用したものを使用します。
for PART in `awk '(!/^#/ && $6 != "0" || $3 == "xfs" ) { print $2 }' /etc/fstab 2>/dev/null`; do find $PART -xdev -name .vimrc -print 2>/dev/null; done
Fstabが適切に設定されている限り、ローカルディスクのみを検索します。つまり、cifsマウントでは、最終的なフラグを0に設定する必要があります。RHEL7への移行を開始したときに、OR for xfs filesystemsを含めました。何度も再起動した後、ディスクの再編成を実行してください。
お役に立てば幸いです。