叀い Linux コマンド ラむン ツヌルに代わる 5 ぀の最新ツヌル

叀いコマンド ラむン ツヌルず䞊行しお、より新しい代替手段を䜿甚するこずで、より楜しく、さらには生産性を向䞊させるこずができたす。

叀い Linux コマンド ラむン ツヌルに代わる 5 ぀の最新ツヌル

Linux/Unix での日垞的な䜜業では、ディスク䜿甚量やシステム リ゜ヌスを監芖するために du など、倚くのコマンド ラむン ツヌルを䜿甚したす。 これらのツヌルの䞭には、長い間存圚しおいるものもありたす。 たずえば、top は 1984 幎に登堎し、du の最初のリリヌスは 1971 幎に遡りたす。

長幎にわたっお、これらのツヌルは最新化され、さたざたなシステムに移怍されおきたしたが、䞀般的には最初のバヌゞョンから倧きく倉わっおおらず、倖芳や䜿いやすさもあたり倉わっおいたせん。

これらは、倚くのシステム管理者が必芁ずする優れたツヌルです。 ただし、コミュニティは远加の利点を提䟛する代替ツヌルを開発したした。 モダンで矎しいむンタヌフェヌスを備えたものもありたすが、䜿いやすさを倧幅に向䞊させるものもありたす。 この翻蚳では、暙準の Linux コマンド ラむン ツヌルに代わる XNUMX ぀のツヌルに぀いお説明したす。

1.NCDU察DU

NCurses のディスク䜿甚量 (NCDU) は du に䌌おいたすが、curses ラむブラリに基づく察話型むンタヌフェむスを備えおいたす。 ncdu は、ディスク領域の倧郚分を占めるディレクトリ構造を衚瀺したす。

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

2. htop 察 トップ

トップ は、top ず同様のむンタラクティブなプロセス ビュヌアですが、すぐに䜿甚できる優れたナヌザヌ ゚クスペリ゚ンスを提䟛したす。 デフォルトでは、htop は top ず同じ情報を、より芖芚的でカラフルな方法で衚瀺したす。

デフォルトでは、htop は次のようになりたす。

叀い Linux コマンド ラむン ツヌルに代わる 5 ぀の最新ツヌル
トップずは異なりたす:

叀い Linux コマンド ラむン ツヌルに代わる 5 ぀の最新ツヌル
さらに、htop は䞊郚にシステムに関する抂芁情報を衚瀺し、䞋郚にファンクション キヌを䜿甚しおコマンドを実行するためのパネルを衚瀺したす。 F2 を抌しお蚭定画面を開くず蚭定できたす。 [蚭定] では、色の倉曎、メトリクスの远加たたは削陀、たたは抂芁パネルの衚瀺オプションの倉曎を行うこずができたす。

最新バヌゞョンの top の蚭定を調敎するこずで同様の䜿いやすさを実珟できたすが、htop には䟿利なデフォルト蚭定が甚意されおおり、より実甚的で䜿いやすくなっおいたす。

3. TLDR vs 男

tldr コマンド ラむン ツヌルは、コマンドに関する簡略化されたヘルプ情報 (䞻に䟋) を衚瀺したす。 コミュニティによっお開発されたした tldrペヌゞプロゞェクト.

tldr は人間に代わるものではないこずに泚意しおください。 これは珟圚でも暙準的で最も包括的なマニュアル ペヌゞ出力ツヌルです。 ただし、堎合によっおは人間が䞍芁になる堎合もありたす。 コマンドに関する包括的な情報が必芁ないずきは、その基本的な䜿甚方法を芚えおおくだけです。 たずえば、curl コマンドのマニュアル ペヌゞには、玄 3000 行が含たれおいたす。 curl の tldr ペヌゞの長さは 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マネヌゞャヌを䜿甚しおむンストヌルできたす。 通垞、ツヌルを動䜜させるにはむンタヌネット アクセスが必芁です。 しかし、Fedora の Python クラむアントを䜿甚するず、これらのペヌゞをダりンロヌドしおキャッシュし、オフラむンでアクセスできるようになりたす。

4.jq ず sed/grep の比范

jq はコマンドラむン甚の JSON プロセッサです。 これは sed たたは grep に䌌おいたすが、特に JSON デヌタを操䜜するように蚭蚈されおいたす。 日垞業務で JSON を䜿甚する開発者たたはシステム管理者にずっお、これは最適なツヌルです。

grep や sed などの暙準テキスト凊理ツヌルに察する jq の䞻な利点は、jq が 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 を実行しお文字列名を芋぀けたす。

$ grep name k8s-pod.json
        "name": "myapp",
        "namespace": "project1"
                "name": "busybox"
                "name": "nginx",

grep は単語名を含むすべおの行を返したした。 grep にさらにいく぀かのオプションを远加しお制限したり、正芏衚珟操䜜を䜿甚しおコンテナヌ名を怜玢したりできたす。

jq を䜿甚しお同じ結果を埗るには、次のように蚘述したす。

$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"

このコマンドにより、䞡方のコンテナヌの名前が埗られたす。 XNUMX 番目のコンテナヌの名前のみを探しおいる堎合は、配列芁玠のむンデックスを匏に远加したす。

$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"

jq はデヌタ構造を認識しおいるため、ファむル圢匏が倚少倉曎されおも同じ結果が埗られたす。 この堎合、grep ず sed が正しく動䜜しない可胜性がありたす。

jq には倚くの関数がありたすが、それらを説明するには別の蚘事が必芁です。 詳现に぀いおは、お問い合わせください プロゞェクトペヌゞ jq たたは tldr に送信したす。

5. fd ず find の比范

fd find ナヌティリティの簡玠化された代替手段です。 Fd は、Fd を完党に眮き換えるこずを目的ずしたものではありたせん。Fd には、ファむルを操䜜するための䞀般的なアプロヌチを定矩する、最も䞀般的な蚭定がデフォルトでむンストヌルされおいたす。

たずえば、Git リポゞトリ ディレクトリ内のファむルを怜玢する堎合、fd は、.git ディレクトリを含む隠しファむルずサブディレクトリを自動的に陀倖し、.gitignore ファむルのワむルドカヌドも無芖したす。 党䜓ずしお、最初の詊行でより関連性の高い結果が返されるため、怜玢が高速化されたす。

デフォルトでは、fd は珟圚のディレクトリで倧文字ず小文字を区別しない怜玢を実行し、カラヌ出力を行いたす。 find コマンドを䜿甚した同じ怜玢では、コマンド ラむンに远加のパラメヌタヌを入力する必芁がありたす。 たずえば、珟圚のディレクトリ内のすべおの .md (たたは .MD) ファむルを怜玢するには、次のような find コマンドを䜜成したす。

$ find . -iname "*.md"

fd の堎合は次のようになりたす。

$ fd .md

ただし、堎合によっおは、fd に远加のオプションも必芁になりたす。たずえば、隠しファむルやディレクトリを含める堎合は、-H オプションを䜿甚する必芁がありたすが、これは通垞、怜玢時には必芁ありたせん。

fd は倚くの Linux ディストリビュヌションで䜿甚できたす。 Fedora では次のようにむンストヌルできたす。

$ sudo dnf install fd-find

䜕も諊める必芁はないよ

新しい Linux コマンド ラむン ツヌルを䜿甚しおいたすか? それずも叀いものだけに座りたすか でも、コンボを持っおいる可胜性は高いですよね コメントであなたの経隓を共有しおください。

広告の暩利に぀いお

倚くのお客様がすでにそのメリットを高く評䟡しおいたす ゚ピックサヌバヌ!
それ AMD EPYCプロセッサを搭茉した仮想サヌバヌ、CPUコア呚波数は最倧3.4 GHz。 最倧構成では、128 CPU コア、512 GB RAM、4000 GB NVMe を最倧限に掻甚できたす。 急いで泚文しおください

叀い Linux コマンド ラむン ツヌルに代わる 5 ぀の最新ツヌル

出所 habr.com

コメントを远加したす