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 の中国語ソートの詳細と例

推薦する

MySQL スロークエリログの役割と公開

序文MySQL スロー クエリ ログは、MySQL が提供するログ レコードの一種です。これは、応答...

Nginx プロキシ転送構成を通じてクロスドメイン API プロキシ転送を実装する方法

序文WEB 開発では、クロスドメイン リクエストが頻繁に発生します。クロスドメインの問題を解決する方...

MySQLグループクエリ最適化方法

MySQL はほとんどの場合、GROUP BY クエリと DISTINCT クエリを同様に処理します...

MySQL EXPLAIN ステートメントの使用例

目次1. 使用方法2. 出力結果1.id 2.選択タイプ3.表4.パーティション5.タイプ6.可能な...

重複データの処理に関するMySQL学習ノート

MySQLは重複データを処理します一部の MySQL テーブルには重複レコードが含まれている場合があ...

Vueは画像のズームとドラッグをサポートするリッチテキストエディタを統合しています

必要:ビジネス要件によると、写真をアップロードできる必要があり、アップロードされた写真はモバイル端末...

Linux で crontab を使用してスケジュールされたタスクを追加する方法

序文Linux システムはシステム サービス crond によって制御されます。 Linux システ...

MySQL データベース インデックスが B+ ツリーの使用を選択するのはなぜですか?

MySQL データベース インデックスが B+ ツリーを使用する理由をさらに分析する前に、データ構...

HTML に埋め込まれた Flash HTML ウェブページ コードに Flash ファイルを埋め込むソリューション (パート 2)

上の記事で、SWFObject V1.5 の使い方の紹介は一旦終了です。これから、SWFObject...

Tomcat を設定して IntelliJ IDEA 2018 で最初の Java Web プロジェクトを実行する方法

1 Tomcatをダウンロードして起動する公式サイト http://tomcat.apache.or...

SpringBoot と Vue の相互作用におけるクロスドメイン問題の解決策

目次ブラウザ同一生成元ポリシー1. VUEフロントエンド構成プロキシはクロスドメインの問題を解決しま...

HTMLリンクタグのrel属性

<link> タグは、現在のドキュメントと Web コレクション内の他のドキュメントとの...

Alibaba Cloud ECS サーバーの開始プロセス (初心者必読のチュートリアル)

1. Alibaba Cloudは、個人のニーズに応じて適切なクラウドサーバーを選択し、CPU、メ...

MySQL最適化ソリューション: スロークエリログを有効にする

目次序文スロークエリログの設定テスト付録: ログ解析ツール mysqldumpslow要約する序文こ...

VMware仮想マシンにLinux(CentOS)をインストールするための詳細な構成手順

CentOS7をダウンロード私がダウンロードしたイメージはCentOS-7-x86_64-DVD-1...