一般的な問題は、どこかに配置したファイルを見つけることができないことです。 Linuxで作業している間、配布に関係なく、多くのGUIオプションを使用すると、ファイルを検索できます。 ただし、多くの場合、特にサーバーを管理したり、SSHを使用してシステムにアクセスしたりする場合は、コマンドライン端末のみを使用します。 が見つからない場合はファイルは、検索用コマンドライン用プログラムを利用しています。.
この記事では、Ubuntu OSのコマンドラインアプリケーションであるターミナルを使用してファイルを検索する方法を説明します。,
- Findコマンドを使用する
- Locateコマンドを使用する
- Grepコマンドを使用する
FindおよびLocateコマンドはシステム内のファイルを検索するために使用され、grepコマンドを使用すると、それに含まれるテキストに基づいてファイルを検索するために使用されます。 Findは遅い方法ですが、いくつかの検索条件が含まれていますが、Locateは多くの条件は含まれていませんが、Findよりもはるかに高速です。
私たちは、手順を開始しましょう。 この記事で説明した手順を説明するためにUbuntu18.04LTSを使用します。,
方法1:Findコマンドの使用
Findは、さまざまな条件に基づいてファイルを検索するために使用される柔軟性の高いコマンドです。 あなたがファイルの名前を覚えていないファイルを検索するとき、それは非常に便利なツールです。 Findコマンドを使用すると、ファイルとフォルダーの名前、作成日、変更日、および権限に基づいて検索できます。 これらの複数の条件を一つのFindコマンドで組み合わせることがで これは非常に強力ですが、遅い検索ツールです。,
コマンドの一般的な構文は次のとおりです。
$ find /path/to/file/ -iname filename
特定のディレクトリ内のファイルを検索する
Findコマンドを使用すると、特定のディレクトリ内のすべてのファイルを検索できます。, 一般的な構文は次のとおりです。
$ find /path/to/file/
たとえば、/home/tin/Downloads/ディレクトリの下にあるすべてのファイルを見つけるには、Ctrl+Alt+Tを押してターミナルを起動し、ターミナルで次のコマンドを実行します。
$ find /home/tin/Downloads/
ファイル内のファイルを検索します。現在のディレクトリ
現在のディレクトリ内のファイルを検索するには、
$ find .
eという名前のファイルを検索します。,g”ソフトウェア”カレントディレクトリの下で、ターミナルで次のコマンドを使用します。
$ find . -iname Softwares
ワイルドカードを使用した検索
ワイルドカード文字を使用して、クエリに一致するファイルを見つけることもできます。 一般的な構文は次のようになります。
$ find /path/to/file/ -iname filename*
たとえば、”cent”で始まるファイルを検索するには、ターミナルで次のコマンドを実行します。
$ find /home/tin/ -iname cent*
空のファイルを検索する
Findコマンドを使用して空のファイルを検索することもできます。, 一般的な構文は次のとおりです。
$ find /path/to/file/ -iname -empty
たとえば、/home/tinディレクトリの下にある空のファイルを見つけるには、ターミナルで次のコマンドを実行します。
$ find /home/tin/ -empty
日付と時刻に基づく検索
Findコマンドを使用すると、次のコマンドも実行できます。アクセスまたは変更された時期に応じてファイルを検索します。 ファイルの検索に使用できる時間の種類があります。
- mtime(Modification time):ファイルのコンテンツが最後に変更されたとき。
- atime(アクセス時刻):ファイルが最後にアクセスされた時刻。,
- ctime(Change time):ファイル属性が最後に変更された時刻。,2日前に、ターミナルで次のコマンドを実行します。
$ find . –atime -2
2日前に変更されたファイルを検索するには、ターミナルで次のコマンドを実行します。
$ find . –ctime -2
ファイルサイズに基づく検索
たとえば、サイズが5mbより大きいファイルを検索するには、ターミナルで次のコマンドを使用できます。
$ find . –size +5M\
ファイル権限に基づく検索
特定の権限を持つファイルを検索するために使用されます。, 一般的な構文は次のようになります。
$ find /path/to/file/ -type -perm mode
ここで、
タイプパラメータには、ファイルのタイプを指定するために使用されるdまたはf値が含まれます。 ディレクトリの場合はd、ファイルの場合はf。
モードは数値の許可を持つかどうかです(例:777、655。. たとえば、u=x、a=r+x)またはシンボリック許可(例えば、u=x、a=r+x)。,たとえば、644の許可を持つファイルを検索するには、ターミナルで次のコマンドを使用できます。
$ find . –type f –perm 644
方法2:Locateコマンドを使用します。
Linuxでファイルを検索するために使用できる別のコマンドLocateがあります。 検索ユーティリティが提供するほど多くの検索条件はありませんが、検索ユーティリティよりもはるかに優れており、高速です。 背景には、バックグラウンド処理を実際に運行システムを検索して、店舗の新しいファイル独自のデータベースです。, Findコマ そのデータベースを発表、定期更新の予定を検索します。
Locateのインストール
LocateはLinux OSにはデフォルトでインストールされません。 手動でインストールする必要があります。 Ctrl+Alt+Tを押してターミナルを起動し、sudoとして次のコマンドを入力してLocateユーティリティをインストールします。
$ sudo apt-get install locate
インストールが完了したら、すぐにLocateユーティリティを使用できます。,
コマンドの一般的な構文は次のとおりです。
$ locate –i filename
ここで、-iは大文字と小文字の区別を無視するために使用されます。
ファイルの検索
たとえば、ファイル名”centos”を検索するには、ターミナルで次のコマンドを使用します。
$ locate –i centos
ファイル名に”centos”という文字列を含むすべてのファイルを検索します。
複数のファイルを検索
複数のファイル名を同時に検索することもできます。 たとえば、ターミナルで次のコマンドを使用して、二つのファイル”sdn”を検索します。,txt”および”centos”:
$ locate –i sdn.txt centos
ワイルドカードを使用した検索
ワイルドカード文字を使用して、クエリに一致するファイルを検索することもできます。 たとえば、”で終わるすべてのファイルを検索します。iso”は、ターミナルで次のコマンドを使用します。
$ locate –i *.iso
Update locate database
Locateコマンドは、動作するデータベースに依存しているため、定期的に更新する必要があります。, ターミナルで次のコマンドを実行して、Locateユーティリティデータベースを更新します。
$ sudo updatedb
方法3:Grepコマンドの使用
Grepはシステム内のファイルを直接検索するためのものではありませんが、代わりにテキストを検索するために使用されます。 ただし、これを使用して、検索クエリに一致する特定の文字列を含むファイルの名前を表示できます。 文字列を検索するには、二重引用符で囲む必要があります。,
コマンドの一般的な構文は次のとおりです。
特定のディレクトリにあると思われる単語を含むファイルを探している場合は、ターミナルで上記のコマンド構文を使用して検索することができます。
たとえば、”tintin”という単語を含むファイルを検索し、そのファイルがダウンロードフォルダにあると思われるファイルを検索するには、次のコマンドを使用してそのファイルを見つけます。,
$ grep -r –i "tintin” /home/tin/Downloads
ここで、
-iは大文字と小文字の区別を無視するために使用されます。
–rは指定されたディレクトリを再帰的に検索するために使用されます。
複数の単語を検索します。
複数の文字列を同時に検索することもできます。 文字列の中には円記号”\”とパイプ記号”|”文字を使用する必要があります。,
たとえば、二つの文字列”tintin”と”ping”を検索するには、ターミナルで次のコマンドを使用できます。
$ grep –r –I "tintin\|ping” /home/tin/Downloads
それで、Ubuntuのコマンドラインを使ってファイルを検索する方法の簡単な概要でした。 この記事についてはこちらをご覧くつ有用なコマンドライン手法の検索のためのファイルです。 検索速度と条件に応じて、これらの方法のいずれかを選択することができます。
Ubuntuコマンドラインでファイルを見つける方法