Linuxコマンドを使用して検索を実行する方法を知りたいですか?次に、適切な場所に来ました!
この記事では、Linuxの検索について説明します。 および検索 コマンド。マシン上のファイルを探すのに役立ちます。
Linuxで検索および検索コマンドを使用する理由
Linuxの新規ユーザーは、サーバー上のファイルの場所について混乱していると主張することがよくあります。これは、ほとんどの人がWindowsまたはmacOSの操作に慣れているためである可能性があります。これらは、より明確でユーザーフレンドリーなディレクトリレイアウトを備えています。
これにはいくつかの真実がありますが、Linuxは、特定のコマンドを使用してファイルを検索する方法について、より多くのオプションをユーザーに提供します。一般的なフィルターに基づいて検索するだけでなく、ユーザーのアクセス許可、サイズ、タイムスタンプなどでファイルを検索することもできます。
コマンドを理解すれば、Linuxプラットフォームでファイルを検索するのは非常に簡単です。
そのために、検索を利用します および検索 Linuxのコマンド。
注意すべき重要なことは、このガイドではUbuntuVPSを使用することです。そうは言っても、この手順はDebian、CentOS、またはその他のLinuxディストリビューションでも機能するはずです。 VPSに接続する方法がわからない場合は、先に進む前にこのガイドに従うことができます。
Linuxでの検索コマンドの使用
まず、検索について説明しましょう コマンドとその使用方法。
Linuxでファイルを検索してフィルタリングするための最も一般的なコマンドは、 findです。 。基本的な構文は次のとおりです。
find <startingdirectory> <options> <search term>
キーワードfindで始まります 、これはLinuxに、その後に続くものはすべてファイルの検索に使用されることを警告します。
- /(スラッシュ) —システム全体を検索します。
- 。 (ドット) —現在作業しているフォルダ(現在のディレクトリ)から検索します。
- 〜(チルダ) —ホームフォルダから検索します。
2番目の引数
Linuxがユーザーに提供するさまざまなオプションを見てみましょう。
もちろん、ファイルを探す最も一般的な方法は、その名前を使用することです。ファイル名を使用して簡単な検索クエリを実行するには、検索を使用します このようなコマンド:
find . -name my-file
-名前を使用しました オプションを選択し、 my-fileというファイルを検索しました 。 を使用して、現在のディレクトリで検索を開始したことに注意してください。 (ドット) 引数。
-名前に注意してください 引数は、Linuxで大文字と小文字を区別する用語を探します。ファイルの名前はわかっているが、大文字と小文字の区別がわからない場合は、次の検索を使用してください。 コマンド:
find . -iname my-file
名前に特定のキーワードが含まれていないすべてのファイルを検索することもできます。これを行うには2つの方法があります。最初の方法では、 –notを使用します 次の方法でキーワード:
find . -not -name my-file
次に、感嘆符(!)を使用できます )。ただし、これが検索の一部であることをLinuxに通知するには、前にエスケープ識別子(\)を付ける必要があります。 コマンド。
find . \! -name my-file
.txtのような一般的な形式の複数のファイルを探すことができます 同様に:
find . -name “*.txt”
これにより、現在のフォルダから始まるすべてのテキストファイルが一覧表示されます。
最後に、特定のファイルを名前で検索して削除する場合は、 -deleteを使用します ファイル名の後の引数:
find . -name my-file -delete
Linuxでは、ユーザーはタイプに基づいてすべての情報を一覧表示できます。使用できるフィルターはいくつかあります:
- d –ディレクトリまたはフォルダ
- f –通常のファイル
- l –シンボリックリンク
- c –キャラクターデバイス
- b –デバイスをブロックする
ファイルタイプを使用する簡単な例を以下に示します。
find / -type d
これにより、ルートディレクトリから/(スラッシュ)記号を使用して検索したため、システム内の現在のすべてのディレクトリが一覧表示されます。
–タイプを組み合わせることもできます および-name 検索をさらに絞り込むためのオプション:
find / -type f -name my-file
これにより、 my-fileという名前のファイルが検索されます 、ディレクトリまたはリンクを除く。
アクセスされた日時と変更時間のフットプリントに基づいてファイルを検索する場合。 Linuxは、これら3つのタイムスタンプを使用してファイルを追跡します。
- アクセス時間 (-一度に )–ファイルが読み取られたときまたは書き込まれたとき。
- 変更時間 ( -mtime )–ファイルが変更されたとき。
- 変更時間 ( -ctime )–ファイルのメタデータが更新されたとき。
このオプションは、ファイルがアクセス、変更、または変更されてから何日経過したかを指定する数値とともに使用する必要があります。
find / -atime 1
このコマンドは、現在の時刻から1日前にアクセスされたすべてのファイルを表示します。
プラスを追加することで、クエリをさらに絞り込むことができます ( + )およびマイナス (–)日数の前の記号。例:
find / -mtime +2
2日以上前の変更時刻を持つすべてのファイルが一覧表示されます。
メタデータが1日以内に更新されたすべてのファイルを検索するには、次のコマンドを実行します。
find / -ctime -1
あまり使用されませんが、時限検索にも関連するいくつかの追加の引数があります。 -mmin 引数は、変更されたファイルを分単位で検索します。次のように使用できます:
find / -mmin -1
また、 -newer 引数。2つ以上のファイルの経過時間を比較し、新しいファイルを表示するために使用できます。
find / -newer my-file
取得するのは、ファイルよりも最近変更されたすべてのファイルです。
Linuxでは、サイズに基づいてファイルを検索できます。サイズでファイルを検索するための構文は次のとおりです。
find <startingdirectory> -size <size-magnitude> <size-unit>
次のサイズ単位を指定できます:
- c –バイト
- k –キロバイト
- M –メガバイト
- G –ギガバイト
- b –512バイトのチャンク
検索の使用方法の簡単な例 ファイルサイズのコマンドは次のとおりです。
find / -size 10M
ここでは、システム内で正確に10メガバイトのすべてのファイルを検索します。時間に基づいて検索する場合と同様に、プラス記号とマイナス記号を使用して検索をさらにフィルタリングできます。
find / -size +5G
サイズが5ギガバイトを超えるすべてのファイルが表示されます。
Linuxでは、ファイルの所有権に基づいて検索を絞り込むことができます。特定の所有者のファイルを検索するには、次のコマンドを実行する必要があります。
find / -user john
スクリプトは、ユーザーが johnと名付けたすべてのファイルのリストを返します。 所有しています。ユーザー名と同様に、グループ名からファイルを見つけることもできます:
find / -group classroom
ユーザーは、 -perm を使用して、ファイルのアクセス許可に基づいてファイルを検索できます。 オプション。例:
find / -perm 644
Linuxでは、 644 読み取りおよび書き込み権限に対応します。つまり、このコマンドは、読み取りと書き込みのアクセス許可のみを持つすべてのファイルを検索します。このオプションをさらに試すことができます:
find / -perm -644
ダッシュ記号を追加すると、644以上の権限を持つすべてのファイルが返されます。
他のLinuxパーミッションに対応するパーミッションとさまざまなコードの詳細をお気軽に読んでください。
覚えておくべき他の便利なオプションがあります。
たとえば、システム上の空のファイルとフォルダを探すには、次を使用します。
find / -empty
同様に、ドライブに保存されているすべての実行可能ファイルを探すには、 -execを使用します。 オプション:
find / -exec
読み取り可能なファイルを探すには、次のコマンドを実行できます。
find / -read
ご覧のとおり、ユーザーが必要に応じてクエリを調整するためのオプションがたくさんあります。 Linuxでファイルを見つけるために使用できる他のコマンドを見てみましょう。
Linuxでのロケートコマンドの使用
検索 コマンドは検索よりも高速であるため、便利な代替手段です。 検索を実行するときのコマンド。これは、前者がシステム全体ではなくLinuxデータベースのみをスキャンするためです。さらに、構文は比較的簡単に記述できます。
デフォルトでは、Linuxにはlocateが付属していません コマンドがプリインストールされています。パッケージを入手するには、次のコマンドを次々に実行します。
sudo apt-get update sudo apt-get install mlocate
これで、コマンドを使用して、次の構文を使用してファイルを検索できます。
locate [my-file]を見つけます
バニラの場所 データベースが更新されていない場合、コマンドは削除されたファイルを返すことがあります。最善の解決策は、次のコマンドを実行してデータベースを手動で更新することです。
sudo updatedb
Linuxロケートコマンドの使用方法
Linuxの最も一般的なアプリケーションを検索して共有します コマンド。
基本的な構文では、検索語を含むファイルのみを検索できます。正確な名前のファイルを取得する場合は、 -rを使用できます。 オプションでドル記号を追加します( $ )検索語の最後に、たとえば:
locate -r my-file$
検索結果に表示されるファイルの数を確認するには、 -cを挿入します Locateコマンドの後。
locate -c my-file
すべてのファイルを一覧表示する代わりに、ファイルの総数が表示されます。
-iを使用します Linuxで検索 大文字と小文字を区別するファイルを無視するコマンド。例:
locate -i my-file
大文字または小文字の記号が見つかったかどうかに関係なく、この名前のすべてのファイルが表示されます。
前述のように、Linuxは検索 データベースを更新していない場合は、コマンドで削除されたファイルを表示することもできます。ありがたいことに、 -e を使用すると、この問題を回避できます。 このようなオプション:
locate -e my-file
これにより、検索を実行した時点で存在するファイルのみを取得できます。 コマンド。
-q オプションは、検索の処理中にエラーが表示されないようにします。これを行うには、次のように入力します。
locate -q my-file
検索結果の数を制限する場合は、 -n
locate my-file n 10
スクリプトは、それ以上のファイルがある場合でも、検出した最初の10個のファイルのみを表示します。
検索を使用してサーバー上のファイルを検索できます および検索 Linuxのコマンド。これらの2つの強力なツールには、独自の利点があります。したがって、両方を試して、どちらが自分に適しているかを確認することをお勧めします。これが私たちが話したことの簡単な要約です:
- findを使用する 他の便利なオプションに加えて、名前、種類、時間、サイズ、所有権、権限に基づいてファイルを検索する
- Linuxをインストールして使用する検索 ファイルのシステム全体の検索を高速化するコマンド。また、名前、大文字と小文字、フォルダなどで除外することもできます。
ご不明な点がございましたら、コメント欄でお気軽にお問い合わせください!