Linux上でファイルやディレクトリを検索して見つける方法はたくさんありますが、最も簡単で最も速いのはおそらくターミナルを介して行うことでしょう。 しかし、多くのLinuxユーザーを知る、不要なやりすぎです。 ここではクイックガイドになってほしいと願うおういが探しています。
Locateコマンドを使用してください
“locate”コマンドは、Linuxユーザーが利用すべき最初の手段です。, この比類のない速度の理由は、locateコマンドが実際にあなたが見つける必要があるファイルまたはディレクトリをローカルハードディスクで検索していdbデータベースファイルを含むすべてのファイルパス。
locateをまだインストールしていない場合は、次のコマンドを使用します。
DebianおよびUbuntu
sudo apt-get install locate
CentOS
yum install locate
最初に使用するlocateコマンドを準備します。
mlocateを更新します。,dbデータベース最初に使用する前に、次を実行します。
sudo updatedb
locateを使用するには、ターミナルを開き、locateと入力し、探しているファイル名が続きます。 この例では、名前に”sunny”という単語が含まれているファイルを検索しています。
locate sunny
Locateは、データベース内で検索キーワードが何回一致したかを示すこともできます。 これは、コマンドに”count”を表す”-c”パラメータを含めることによって達成されます。,
locate -c sunny
ユーザーがここで念頭に置く必要があるのは、”locate”には、他のより柔軟なツールとは対照的に、探しているファイルの特定の正確な つまり、locateはその名前について確信しているものを見つけるのに最適ですが、ファイル名を正確に覚えていない場合にはそれほど素晴らしいもので
locate howtoforge
vs
locate Howtoforge
さらに、”locate”はデータベースファイルを読み込むため、結果は時代遅れで完全に真実ではない可能性があります。, この問題を軽減するために、端末セッションで”sudo updatedb”と入力してファイルパスデータベースを更新できます。
locateコマンドを使用する方法の例については、こちらを参照してください。
その後も探していたものが得られない場合、または結果の数に圧倒されている場合は、次のステップである”検索”コマンドに進みます。
Findコマンドを使用します
“find”コマンドは、はるかに強力ですが、より遅い検索ユーティリティです。, これは、”locate”コマンドに反して、”find”が実際にユーザーが後にしているファイルとディレクトリをディスクで検索するためです。 “Find”は、特定のユーザーまたはユーザーグループに属するファイル、最近変更またはアクセスされたファイル、特定のサイズ範囲のファイル、隠しファイル、実行可能ファイル、読み取り専用ファイル、および特定の権限を持つファイルを検索できるため、ファイルまたはディレクトリを検索しようとしているが、その名前を思い出すことができない場合に最適です。, 最良の部分は、ユーザーが基本的に結果を絞り込む、一つの”検索”コマンドで上記の基準の複数を自由に組み合わせることができるということです。絞り込みといえば、”find”を実行するときにまずやりたいことは、特定のディレクトリで検索するように指示することです。 これにより、検索プロセスが大幅に高速化されますが、常にディレクトリのサイズに依存します。 ファイルがどこにあるかがわかっている場合は、ターミナルを開き、ディレクトリに移動して”find. ”. 何かを探検索を現在のディレクトリです。, 代わりにホームディレクトリを検索したい場合は、ドットを”-/”に置き換え、ファイルシステム全体を検索したい場合は、代わりに”/”を使用します。
例として、ダウンロードディレクトリにポスターを含むファイルを検索したいと思います。 私はファイル名に”poster”という単語が含まれていることを知っていますが、名前を正確に覚えていません。, このため、ターミナルから”cd Downloads”でダウンロードフォルダに移動し、次のコマンドを入力します。
sudo find . -name "*poster*"
結果は次のとおりです。
これは、ダウンロードフォルダに”billy_poster copy”という名前のpdfファイルがあることを示します。 それがどこにあったのかわからなかった場合でも、親ディレクトリで検索した場合、”find”はダウンロードフォルダにあることを知らせます。ここで、”-name”パラメータを”-iname”に置き換えると、大文字と小文字に関わらず結果を得ることができます。, それは”locate”にはないものなので、ファイル名についてわからないときに役立つもう一つの要素です。
sudo find . -iname "*poster*"
さて、私はまだその同じポスターファイルを探しているとしましょう、そして私が覚えている唯一のことは、それが5MB未満のサイズ その場合に使用するコマンドは次のとおりです。
find ~/ -size -5M
2MBよりも高いことがわかっていれば、コマンドは”find~/-size+2M”になります。 最良の部分は、検索がさらに強力にするためにブール演算子をサポートしていることです。, この例では、ファイルのサイズが5メガバイト未満であり、2以上であるという私の知識を組み合わせたコマンドを使用します。 このためのコマンドは次のようになります。
find / -size -5M -and -size +2M
最後に、ファイルについて何も覚えていないことをお勧めしますが、三分前にアクセスしたことを覚えています。 それを見つけるには、findコマンドを次のように使用します。
find / -amin -3
これは、半時間は”find/-amin-30″、二時間は”-amin-120″などになります。, 二日前にファイルにアクセスした場合は、代わりにこれを使用します。
find / -time -2
これにより、過去二日間にアクセスされたすべてのファイルが検索
私は上記が通常のユースケースのシナリオのほとんどをカバーしていると思います。 強力な”検索”コマンドの詳細については、ターミナルを開き、”man find”と入力してください。 あなたが探しているものを見つける幸運。
Linuxのfindコマンドのより多くの例を見つけることができますここに。
Leave a Reply