WindowsユーザーまたはOSXの非パワーユーザーの場合は、おそらくGUIを使用してファイルを検索します。また、インターフェイスが制限されている、イライラする、またはその両方であることに気付く場合があり、物事を整理し、ファイルの正確な順序を覚えるのに優れていることを学びました。 Linuxでもそれを行うことができますが、そうする必要はありません。
Linuxの最も優れている点の1つは、さまざまな方法を提供していることです。任意のファイルマネージャーとctrl
を開くことができます + f
、現在使用しているプログラムを使用してファイルを手動で開くことも、文字の入力を開始するだけで現在のディレクトリリストをフィルタリングすることもできます。
しかし、ファイルがどこにあるかわからず、ディスク全体を検索したくない場合はどうでしょうか。 Linuxは、これや他のさまざまなユースケースに適したツールです。
コマンド名によるプログラムの場所の検索
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
Linuxファイルシステムは、好きな場所に物を置くことに慣れていると、気が遠くなるように思えるかもしれません。私にとって、慣れることが最も難しいことの1つは、プログラムが存在するはずの場所を見つけることでした。
たとえば、which bash
通常、/bin/bash
を返します 、ただし、プログラムをダウンロードしてもメニューに表示されない場合は、which
コマンドは優れたツールになる可能性があります。
同様のユーティリティはlocate
です コマンド。構成ファイルを見つけるのに役立ちます。 locate php
のような単純なものなので、プログラム名を入力するのは好きではありません。 多くの場合、さらにフィルタリングする必要のある多くの結果が得られます。
locate
の詳細については およびwhich
、man
を参照してください ページ:
man which
-
man locate
検索
find
ユーティリティは、はるかに高度な機能を提供します。以下は、特定のパターンのファイル(globとも呼ばれます)が5日間だけ存在し、それより古いファイルがすべて削除されるようにするために管理するいくつかのサーバーにインストールしたスクリプトの例です。 (最後の変更以降、最大240分の差を説明するために小数が使用されます。)
find ./backup/core-files*.tar.gz -mtime +4.9 -exec rm {} \;
find
ユーティリティには多くの高度なユースケースがありますが、最も一般的なのは、ファイルをタイプ、作成、および変更日でチェーンおよびフィルタリングせずに、結果に対してコマンドを実行することです。
find
のもう1つの興味深い使用法 実行可能権限を持つすべてのファイルを検索することです。これにより、高価なサーバーにビットコインマイナーやボットネットをインストールしている人がいないことを確認できます。
find / -perm /+x
find
の詳細については 、man
を参照してください man find.
を使用したページ
Grep
その内容でファイルを見つけたいですか? Linuxはそれをカバーしています。多くのLinuxユーティリティを使用して、パターンに一致するファイルを効率的に検索できますが、grep
私がよく使うものです。
コード参照とスタックトレースを含むエラーメッセージを配信するアプリケーションがあるとします。これらはログにあります。グレッピングは常に頼りになるわけではありませんが、私は常にgrep -R
問題が指定された値にある場合。
ますます多くのIDEが検索機能を実装していますが、リモートシステムにアクセスしている場合、または何らかの理由でGUIがない場合、またはインプレースで反復する場合は、次を使用します。grep -R {searchterm}
または、egrep
をサポートするシステム エイリアス; -e
を追加するだけです コマンドegrep -r {regex-pattern}
へのフラグ 。
dhcpcd5
にパッチを適用するときにこの手法を使用しました 昨年ラズベリーで開催されたので、ラズベリーパイ財団からの新しいDebianリリースでネットワークアクセスポイントを運用し続けることができました。
Linuxでファイルをより効率的に検索するのに役立つヒントは何ですか?