GNU/Linux >> Linux の 問題 >  >> Linux

重要なLinuxコマンドラインツールの5つの最新の代替手段

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デスクトップおよびラップトップマシンの管理と作業に役立ちます。

ワークフローに役立つ他のツールを使用していますか?以下のコメントセクションに追加してください。


Linux
  1. Linuxでのcronの4つの代替手段

  2. 私の5つのお気に入りのLinuxシステム管理者ツール

  3. LinuxコマンドラインツールでCA証明書を利用できるようにする

  1. Linuxでのalternativesコマンドの概要

  2. Linuxでのmvコマンド:7つの重要な例

  3. Linux のオーバークロック ツール

  1. 最新のLinuxでのシリアル通信

  2. Linuxのコマンドライン履歴

  3. Linuxのコマンドラインテキストエディタ