
というファイルを探したいのですが書籍1。
私のテストでは、前述のファイルを探そうとしていますが、このテストでは、そのファイルがどこにあるかわかりません。
試してみましたfind / -iname book1
が、出力がありません。
ファイルの保存場所がわからない場合、コマンド ラインを使用して book1 というファイルを見つけるにはどうすればよいですか?
編集:
私のシナリオの詳細は以下に記載されています。
- ファイル拡張子が不明です
- 正確な名前(大文字、数字など)は不明です
- ファイルの場所は不明です
答え1
まず、引数は-iname
シェルですパターンパターンの詳細については、Bash マニュアル要点は、find
実際に探すファイルの場合、ファイル名は指定されたパターンと一致する必要があります。大文字と小文字を区別しない文字列book1
を一致させるには、次のようにBook1.gnumeric
追加する必要があります。*
find / -iname 'book1*'
またはフルネームを指定します:
find / -iname 'Book1.gnumeric'
2 番目に、はファイル名の大文字と小文字を無視するので、 を指定すると-iname
、なども検索される可能性があります。探しているファイルが と呼ばれることが確実な場合は を使用しないでください。ただし、 を使用すると、より高速になります。find
-iname book1
Book1
bOok1
Book1.gnumeric
-iname
-name
find / -name 'Book1.gnumeric'
3番目に、パターンを引用することを覚えておいてください。その他の回答。
最後に、ファイルを検索してもよろしいですか?
どこにでもシステム上で作業していたり、どこかからダウンロードしていたりする場合は、探しているファイルが実際に$HOME
ディレクトリ内にある可能性があります。この場合も、その方がはるかに高速になる可能性があります。
編集:
質問を編集したことに気づきました。完全なファイル名、大文字と小文字、および場所がわからない場合は、次のようなものを使用する必要があります。
find / -iname 'book1*'
また、非ルート ユーザーとして起動した場合に表示されるすべてのエラーやその他のエラーを非表示にするには2>/dev/null
、行の末尾に次の行を追加することをおすすめします。*permission denied*
find
find / -iname 'book1*' 2>/dev/null
探しているファイルが 1 つだけであることが確実で、システム上に条件に一致するファイルが 1 つしかない場合は、find
一致する最初のファイルが見つかった後に終了するように指示できます。
find / -iname 'book1*' -print -quit 2>/dev/null
答え2
コマンドを試してみてくださいlocate
。ファイル名のデータベースを使用して、検索を高速化します。
に一致するすべてのファイルを検索し*book1*
、大文字と小文字を無視するには、次のようにします。
locate -i book1
ファイルを検索したい場合起動book1
ワイルドカードを自分で実行する必要があります。
locate -i 'book1*'
よりもはるかに高速ですfind
が、データベースが最後に更新された時点の最新の状態しか得られません。
答え3
というファイルがあることがわかっていてbook1.something
、ファイルの場所、 の正確な値something
、ファイル名の大文字と小文字のパターンがすべて不明な場合:
find / -iname 'book1.*'
ファイル名に単語が含まれていることだけが確実にわかっている場合はbook
、次のようにしておそらくはるかに大きなリストを生成できます。
find / -iname '*book*'
引数は-name
シェル glob パターンです。ファイルがあるディレクトリから、次を比較します。
$ ls Book1
ls: cannot access 'Book1': No such file or directory
$ ls Book1.*
Book1.gnumeric
これは、 によって実行される検索の種類を表します-name
。-iname
オプションは、単に大文字と小文字を区別しないバージョンを許可します。
答え4
Zsh では glob パターンを使用できるので、これも機能します:
ls -a /**/book1
これにより、 というファイルがbook1
存在するすべての場所が検索されます。
私のテストでは、これは を使用するよりも高速であるようでfind
、また、ほとんどまたはまったく生成されません。ユーザー権限エラールート権限なしで実行した場合
見るマニュアル。