locate
そしてその変形は高速な方法である傾向があります。
# updatedb # run as root, possibly using sudo, e.g. sudo -b updatedb. If file is on the system for more than a day it should already be in the index and this can be skipped
$ locate -i book1
Locateが使用できない場合は、find
代わりに使用できます。かなり遅くなる傾向がありますが、より正確です。
単一のパーティションがある場合:(ユーザーがファイルにアクセスできない場合は、rootとして実行します)
$ find / -xdev -iname 'book1*' -print # If the iname extension to find is available
$ find / -xdev -print | grep -F -i /book1 # if iname is not available
あなたは含まれていない場合は-xdev
find
検索し、他のパーティション上のもの、のように/proc
して/sys
root以外で操作している場合は特に、エラーで画面をあふれさせる傾向があり、。(エラー2> /dev/null
は、findコマンドの最後に追加することで非表示にできます(コメントは削除する必要があります))
複数のパーティションがあり、ファイルがどのパーティションにあるかわからない場合は、リストを取得してlsblk
(LinuxベースのOSではdf
そうでなければ出力の解析がオプションです)、findにフィードできます:ファイルにアクセスできるかどうかわからない)
$ find $(lsblk -O MOUNTPOINT -n | grep -F /) -xdev -iname 'book1*' -print # GNU-based OSes
$ find $(df -P|awk '$1 ~ /^\/dev/ {print $NF}') -xdev | grep -F -i book1 # Non-GNU based OSes.
(これは、マウントポイントにスペースが含まれている場合は少し壊れやすいです)(df
パラメーターの調整が必要な場合があります。-Pは、GNU df
に標準POSIX出力を提供します。
grep -F
除外他のものは、スワップパーティションのように、返されました。
GNU以外のバージョンでは、awkはマウントのあるデバイスを見つけて/dev
実際のファイルシステムを取得し、df
出力から最後のフィールド(マウントポイント)を出力します。
また、これは、ボーンのようなシェルを想定し(ksh
とbash
動作するはずです。あなたが使用している場合はcsh
バリアントを、起動スクリプト可能なシェルをあなたはこれを試す前に)
Book1
読み取り可能なディレクトリにある場合は、それfind / -iname book1
を見つけます。実際Book1
にそうなのBook1.xyz
か、そうではないのか?