Linux / Unixシステムの日常的な使用では、多くのコマンドラインツールを使用して作業を完了し、システムを理解して管理します。du
などのツールです。 ディスク使用率とtop
を監視します システムリソースを表示します。これらのツールのいくつかは長い間存在してきました。たとえば、top
du
が1984年に最初にリリースされましたが、 の最初のリリース日は1971年です。
何年にもわたって、これらのツールは最新化され、さまざまなシステムに移植されてきましたが、一般的には、元のアイデア、外観、および感触に従います。
これらは優れたツールであり、多くのシステム管理者のワークフローに不可欠です。ただし、近年、オープンソースコミュニティは追加の利点を提供する代替ツールを開発しました。見た目が良いものもあれば、使いやすさが大幅に向上するものもあり、最新のシステムで使用するのに最適です。これには、標準のLinuxコマンドラインツールに代わる次の5つの選択肢が含まれます。
1。 duの代わりとしてのncdu
NCursesディスク使用量(ncdu
)ツールはdu
と同様の結果を提供します しかし、ディスクスペースの大部分を消費するディレクトリに焦点を当てたcursesベースのインタラクティブなインターフェースです。
ncdu
ディスクの分析に時間を費やし、次のように、最もよく使用するディレクトリまたはファイルでソートされた結果を表示します。
ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help
--- /home/rgerardi ------------------------------------------------------------
96.7 GiB [##########] /libvirt
33.9 GiB [### ] /.crc
7.0 GiB [ ] /Projects
. 4.7 GiB [ ] /Downloads
. 3.9 GiB [ ] /.local
2.5 GiB [ ] /.minishift
2.4 GiB [ ] /.vagrant.d
. 1.9 GiB [ ] /.config
. 1.8 GiB [ ] /.cache
1.7 GiB [ ] /Videos
1.1 GiB [ ] /go
692.6 MiB [ ] /Documents
. 591.5 MiB [ ] /tmp
139.2 MiB [ ] /.var
104.4 MiB [ ] /.oh-my-zsh
82.0 MiB [ ] /scripts
55.8 MiB [ ] /.mozilla
54.6 MiB [ ] /.kube
41.8 MiB [ ] /.vim
31.5 MiB [ ] /.ansible
31.3 MiB [ ] /.gem
26.5 MiB [ ] /.VIM_UNDO_FILES
15.3 MiB [ ] /Personal
2.6 MiB [ ] .ansible_module_generated
1.4 MiB [ ] /backgrounds
944.0 KiB [ ] /Pictures
644.0 KiB [ ] .zsh_history
536.0 KiB [ ] /.ansible_async
Total disk usage: 159.4 GiB Apparent size: 280.8 GiB Items: 561540
矢印キーを使用して、各エントリに移動します。 Enterを押すと ディレクトリエントリで、ncdu
そのディレクトリの内容を表示します:
--- /home/rgerardi/libvirt ----------------------------------------------------
/..
91.3 GiB [##########] /images
5.3 GiB [ ] /media
これを使用して、ディレクトリにドリルダウンし、どのファイルが最もディスク容量を消費しているかを見つけることができます。 左を使用して前のディレクトリに戻ります 矢印キー。デフォルトでは、ncdu
を使用してファイルを削除できます dを押す キーを押すと、ファイルを削除する前に確認を求められます。事故を防ぐためにこの動作を無効にする場合は、-r
を使用してください 読み取り専用アクセスのオプション:ncdu -r
。
ncdu
多くのプラットフォームとLinuxディストリビューションで利用できます。たとえば、dnf
を使用できます 公式リポジトリから直接Fedoraにインストールするには:
$ sudo dnf install ncdu
このツールの詳細については、ncdu
をご覧ください。 Webページ。
2。 topの代わりとしてのhtop
htop
top
に似たインタラクティブなプロセスビューアです しかし、それは箱から出してより良いユーザーエクスペリエンスを提供します。デフォルトでは、htop
top
と同じ指標を表示します 心地よくカラフルなディスプレイで。
デフォルトでは、htop
次のようになります:
デフォルトのtop
とは対照的 :
さらに、htop
上部にシステム概要情報、下部にコマンドバーがあり、ファンクションキーを使用してコマンドをトリガーできます。 F2を押すとカスタマイズできます。 セットアップ画面に入ります。セットアップでは、色を変更したり、指標を追加または削除したり、概要バーの表示オプションを変更したりできます。
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
top
の最新バージョンを設定できますが 同様の結果を得るには、htop
より安全なデフォルト構成を提供します。これにより、プロセスビューアが使いやすくなります。
このプロジェクトの詳細については、htop
を確認してください。 ホームページ。
3。人間の代わりとしてのtldr
tldr
コマンドラインツールは、主に例を含む、簡略化されたコマンド使用率情報を表示します。コミュニティのtldrpagesプロジェクトのクライアントとして機能します。
このツールはman
の代わりにはなりません 。マニュアルページは、依然として多くのツールの標準的で完全な情報源です。ただし、場合によっては、man
多すぎ。コマンドに関するすべての情報が必要ない場合もあります。基本的なオプションを思い出そうとしているだけです。たとえば、curl
のマニュアルページ コマンドには約3,000行あります。対照的に、tldr
curl
の場合 は40行の長さで、次のようになります。
$ tldr curl
# curl
Transfers data from or to a server.
Supports most protocols, including HTTP, FTP, and POP3.
More information: <https://curl.haxx.se>.
- Download the contents of an URL to a file:
curl http://example.com -o filename
- Download a file, saving the output under the filename indicated by the URL:
curl -O http://example.com/filename
- Download a file, following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer:
curl -O -L -C - http://example.com/filename
- Send form-encoded data (POST request of type `application/x-www-form-urlencoded`):
curl -d 'name=bob' http://example.com/form
- Send a request with an extra header, using a custom HTTP method:
curl -H 'X-My-Header: 123' -X PUT http://example.com
- Send data in JSON format, specifying the appropriate content-type header:
curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234
... TRUNCATED OUTPUT
TLDRは「長すぎる、読まなかった」の略で、長いテキストの要約を表すインターネットスラングです。マニュアルページは便利ですが、長すぎる場合があるため、このツールに適した名前です。
Fedoraでは、tldr
クライアントはPythonで書かれました。 dnf
を使用してインストールできます 。その他のクライアントオプションについては、tldrpagesプロジェクトを参照してください。
一般的に、tldr
ツールを使用するには、tldrページを参照するためにインターネットにアクセスする必要があります。 FedoraのPythonクライアントを使用すると、これらのページをダウンロードしてキャッシュし、オフラインでアクセスできます。
tldr
の詳細については 、tldr tldr
を使用できます 。
4。 JSONのsed/grepの代わりとしてのjq
jq
コマンドラインJSONプロセッサです。 sed
のようなものです またはgrep
ただし、JSONデータを処理するように特別に設計されています。日常業務でJSONを使用する開発者またはシステム管理者の場合、これはツールボックスに不可欠なツールです。
jq
の主な利点 grep
などの一般的なテキスト処理ツールを使用する およびsed
JSONデータ構造を理解しているため、単一の式で複雑なクエリを作成できます。
説明のために、このJSONファイルでコンテナーの名前を見つけようとしていると想像してください。
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"labels": {
"app": "myapp"
},
"name": "myapp",
"namespace": "project1"
},
"spec": {
"containers": [
{
"command": [
"sleep",
"3000"
],
"image": "busybox",
"imagePullPolicy": "IfNotPresent",
"name": "busybox"
},
{
"name": "nginx",
"image": "nginx",
"resources": {},
"imagePullPolicy": "IfNotPresent"
}
],
"restartPolicy": "Never"
}
}
grep
を実行しようとした場合 name
に直接 、これが結果です:
$ grep name k8s-pod.json
"name": "myapp",
"namespace": "project1"
"name": "busybox"
"name": "nginx",
grep
name
という単語を含むすべての行を返しました 。 grep
にさらにいくつかのオプションを追加できます それを制限し、正規表現を操作することで、コンテナーの名前を見つけることができます。 jq
で必要な結果を得るには 、次のように、データ構造のナビゲートをシミュレートする式を使用します。
$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"
このコマンドは、両方のコンテナーの名前を提供します。 2番目のコンテナの名前のみを検索する場合は、配列要素のインデックスを式に追加します。
$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"
jq
はデータ構造を認識しているため、ファイル形式が少し変わっても同じ結果が得られます。 grep
およびsed
フォーマットを少し変更すると、異なる結果が得られる場合があります。
jq
多くの機能があり、それらすべてをカバーするには別の記事が必要になります。詳細については、jq
を参照してください。 プロジェクトページ、マニュアルページ、またはtldr jq
。
5。 findの代わりとしてのfd
fd
find
のシンプルで高速な代替手段です 指図。 find
の全機能を置き換えることを目的としたものではありません。 提供します。代わりに、特定のシナリオで大いに役立ついくつかの適切なデフォルトを提供します。
たとえば、Gitリポジトリを含むディレクトリでソースコードファイルを検索する場合、fd
.git
を含む隠しファイルと隠しディレクトリを自動的に除外します ディレクトリ、および.gitignore
からのパターンを無視します ファイル。一般に、最初の試行でより関連性の高い結果が得られ、より高速な検索が可能になります。
デフォルトでは、fd
色付きの出力を使用して、現在のディレクトリで大文字と小文字を区別しないパターン検索を実行します。 find
を使用した同じ検索 追加のコマンドラインパラメータを指定する必要があります。たとえば、すべてのマークダウンファイルを検索するには(.md
または.MD
)現在のディレクトリで、find
コマンドはこれです:
$ find . -iname "*.md"
これがfd
での同じ検索です :
$ fd .md
場合によっては、fd
追加のオプションが必要です。たとえば、隠しファイルと隠しディレクトリを含める場合は、オプション-H
を使用する必要があります 、これはfind
では必要ありませんが 。
fd
多くのLinuxディストリビューションで利用できます。標準のリポジトリを使用してFedoraにインストールします:
$ sudo dnf install fd-find
詳細については、fd
を参照してください。 GitHubリポジトリ。
特にサーバーにリモート接続する場合は特に、古い必須ツールをすべて定期的に使用していますが、代替ツールには、多くのシナリオで役立ついくつかの追加の利点があります。特に、Linuxデスクトップおよびラップトップマシンの管理と作業に役立ちます。
ワークフローに役立つ他のツールを使用していますか?以下のコメントセクションに追加してください。