Linux コマンドラインのクイックヒント: ファイルの検索方法

Linux コマンドラインのクイックヒント: ファイルの検索方法

私たちのコンピューターには、ディレクトリ、写真、ソース コードなどのファイルが保存されています。たくさんありますよ。それは間違いなく私の記憶を超えています。目標を念頭に置いていないと、適切な目標を見つけるのに時間がかかります。この記事では、コマンド ラインで必要なファイルを見つける方法、特に必要なファイルをすばやく見つける方法について説明します。

幸いなことに、Linux コマンドラインには、コンピューター上のファイルを検索するために特別に設計された非常に便利なコマンドライン ツールが多数あります。 ls、tree、find の 3 つを見てみましょう。

ls

ファイルの場所がわかっていて、ファイルを一覧表示したりファイルに関する情報を表示したりしたい場合は、ls が最適です。

現在のディレクトリにあるすべての表示可能なファイルとディレクトリを一覧表示するには、 ls を実行するだけです。

$ ls
ドキュメント 音楽 写真 ビデオ notes.txt

ファイルに関する情報を表示するには、-l オプションを追加します。また、人間が読める形式でファイル サイズを表示するには、-h オプションを追加します。

$ ls -lh
合計60K
drwxr-xr-x 2 adam adam 4.0K 11月2日 13:07 ドキュメント
drwxr-xr-x 2 adam adam 4.0K 11月2日 13:07 音楽
drwxr-xr-x 2 adam adam 4.0K 11月2日 13:13 写真
drwxr-xr-x 2 adam adam 4.0K 11月2日 13:07 動画
-rw-r--r-- 1 adam adam 43K 11月2日 13:12 notes.txt

ls は特定の場所を検索することもできます。

$ ls 写真/
木.png 壁紙.png

または特定のファイル - 名前の一部のみが続く場合でも、次のようになります。

$ ls *.txt
ノート.txt

何が足りないのでしょうか?隠しファイルを表示しますか?問題ありません。-a オプションを使用してください。

$ ls -a
. .bash_logout .bashrc ドキュメント 画像 notes.txt
.. .bash_profile .vimrc ミュージックビデオ

ls には、組み合わせることで必要な効果を得ることができる、他にも多くの便利なオプションがあります。詳細については、次のコマンドを使用できます。

$ 男 ls

ファイルのツリー構造を表示する場合は、tree が適切な選択です。デフォルトではシステムにインストールされていない可能性があります。パッケージ マネージャー DNF を使用して手動でインストールできます。

$ sudo dnf ツリーをインストール

オプションや引数なしで tree を実行すると、現在のディレクトリから開始され、その下にあるすべてのディレクトリとファイルのツリーが表示されます。注意してください。この出力には、このディレクトリの下にあるすべてのディレクトリとファイルが含まれるため、かなり大きくなる可能性があります。

$ツリー
。
|-- ドキュメント
| |-- ノート.txt
| |-- 秘密
| | `-- クリスマスプレゼント.txt
| `-- 仕事
| |-- プロジェクト-abc
| | |-- README.md
| | |-- do-things.sh
| | `-- プロジェクトノート.txt
| `-- ステータスレポート.txt
|-- 音楽
|-- 写真
| |-- 木.png
| `-- 壁紙.png
|-- ビデオ
`-- ノート.txt

リストするには多すぎる場合は、-L オプションに続けて表示するレベル数を指定することで、リストされるファイルのレベル数を制限できます。

$ツリー-L 2
。
|-- ドキュメント
| |-- ノート.txt
| |-- 秘密
| `-- 仕事
|-- 音楽
|-- 写真
| |-- 木.png
| `-- 壁紙.png
|-- ビデオ
`-- ノート.txt

特定のディレクトリのツリー ビューを表示することもできます。

$ ツリー ドキュメント/作業/
文書/仕事/
|-- プロジェクト abc
| |-- README.md
| |-- do-things.sh
| `-- プロジェクトノート.txt
`-- ステータスレポート.txt

tree を使用して大きなツリーを一覧表示する場合は、それを less と組み合わせることができます。

$ tree | less

繰り返しになりますが、tree には他にも使用できるオプションが多数あり、それらを組み合わせることでさらに強力な効果を生み出すことができます。 man ページにはこれらのオプションがすべて記載されています。

$ man tree

探す

ファイルの所在が分からない場合はどうすればいいでしょうか?見つけてみましょう!

システムで find が利用できない場合は、DNF を使用してインストールできます。

$ sudo dnf findutilsをインストール

オプションやパラメータなしで find を実行すると、現在のディレクトリ内のすべてのファイルとディレクトリが再帰的に一覧表示されます。

$ 検索
。
./ドキュメント
./ドキュメント/秘密
./Documents/secret/クリスマスプレゼント.txt
./ドキュメント/notes.txt
./ドキュメント/作業
./Documents/work/ステータスレポート.txt
./ドキュメント/作業/プロジェクト-abc
./Documents/work/project-abc/README.md
./Documents/work/project-abc/do-things.sh
./Documents/work/project-abc/project-notes.txt
./.bash_logout
./.bashrc
./ビデオ
./.bash_プロファイル
./.vimrc
./写真
./Pictures/木々.png
./画像/壁紙.png
./notes.txt
。/音楽

しかし、find の本当の力は、ファイル名を使用して検索できることです。

$ 検索 -name do-things.sh
./Documents/work/project-abc/do-things.sh

または、ファイル拡張子のように名前の一部だけでもよいです。すべての .txt ファイルを見つけましょう:

$ 検索 -name "*.txt"
./Documents/secret/クリスマスプレゼント.txt
./ドキュメント/notes.txt
./Documents/work/ステータスレポート.txt
./Documents/work/project-abc/project-notes.txt
./notes.txt

サイズ別にファイルを検索することもできます。この方法は、スペースが不足している場合に特に便利です。次に、1 MB より大きいすべてのファイルを一覧表示します。

$ 検索 -サイズ +1M
./Pictures/木々.png
./画像/壁紙.png

もちろん、特定のディレクトリを検索することもできます。たとえば、ドキュメント フォルダー内のファイルを検索したいのですが、そのファイルの名前に「project」という単語が含まれていることが分かっているとします。

$ ドキュメントを検索 -name "*プロジェクト*"
ドキュメント/作業/プロジェクト-abc
ドキュメント/作業/プロジェクト-abc/プロジェクト-ノート.txt

ファイルのほかにディレクトリも表示されます。検索をクエリ ファイルのみに制限できます。

$ ドキュメントを検索 -name "*プロジェクト*" -type f
ドキュメント/作業/プロジェクト-abc/プロジェクト-ノート.txt

もう一度言いますが、find には他にも多くのオプションがあり、それらを使用したい場合は、man ページが間違いなく役立ちます。

$ 男が見つける
出典: https://fedoramagazine.org/commandline-quick-tips-locate-file/

要約する

上記は、私が皆さんに紹介した Linux コマンドラインのクイックトリックで、ファイルの検索方法です。皆さんのお役に立てれば幸いです。ご質問があれば、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Python 経由で Linux コマンドラインコード例に接続する
  • Linux コマンドラインでメールを送信する 5 つの方法 (推奨)
  • Linux コマンドラインでパケットをキャプチャするために tcpdump を使用するいくつかの機能
  • Linux コマンドラインターミナルで画面を分割するための 2 つのツール
  • Linux のコマンドラインから Android アプリケーションをパッケージ化する方法
  • Linux で IP、DNS、ルーティングのコマンドライン設定を変更する方法
  • Linux コマンドラインで他のユーザーと通信する方法

<<:  Vue router-viewとrouter-linkの実装原理

>>:  MySQL の中国語ソートの詳細と例

推薦する

jQueryはフォーム検証機能を実装します

jQuery フォーム検証の例 / ユーザー名、パスワード、住所、電子メールの検証を含む下記の通り ...

Linuxでディスクをマウントする方法

仮想マシンを使用しているときに、ディスク容量が不足し、継続使用するためにディスクをマウントする必要が...

MySQL で日付を保存するためのベスト プラクティス ガイド

目次序文時間型を保存するのに文字列を使用しないでくださいMySQL の日付型日時タイムスタンプTIM...

TypeScript における列挙型の理解と応用シナリオ

目次1. 何ですか2. 使用数値列挙文字列列挙異種列挙自然3. 応用シナリオ要約する1. 何ですか列...

MySQL 8.0.18 ハッシュ結合は左/右結合をサポートしていません 左と右の結合の問題

MySQL 8.0.18 では、インデックスが作成されていないフィールドに適用でき、等価値の関連付け...

Linux ファイル記述子、ファイルポインタ、および inode の詳細

目次Linux - ファイル記述子、ファイルポインタ、インデックスノード1. Linux - ファイ...

ウェブサイトのビジュアルデザイン(画像とテキスト)における情報伝達の役割と方法

現代の Web ビジュアル デザインは、初期の情報の積み重ねから、その後のグラフィックスと抽象化、そ...

LinuxにKafkaをインストールする

目次1.1 前提条件としてのJava環境1.2 Zookeeperのインストールと設定1.3 Kaf...

MySQL パフォーマンス最適化のヒント

MySQL パフォーマンスの最適化MySQL はインターネット企業で広く使用されており、MySQL ...

Kali に docker と portainer をインストールする方法

dockerの登場により、多くのサービスが徐々にハードウェアアーキテクチャへの依存から脱却しました。...

Zabbix を使用して Nginx/Tomcat/MySQL を監視する方法の詳細なチュートリアル

目次ZabbixはNginxを監視するZabbixはTomcatを監視するZabbixはMySQLを...

mysql8.0.11 winx64 手動インストールと設定チュートリアル

まず、私の日常生活についてお話しします。MySQLの急速なアップデートにより、MySQLはバージョン...

mysql ワイルドカード (sql 高度なフィルタリング)

目次まず、値の一部と一致させるために使用される特殊文字であるワイルドカードについて簡単に紹介します。...

IE で UTF8 エンコードされたページで行が理由もなく空白のままになり、UTF8 ページが表示されない問題の解決方法

理由は、すべてのファイルが utf8 でエンコードされているためです。ファイルがインクルードされると...