340
358

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

コマンドラインでの作業効率が上がる!CLIツール20選

Last updated at Posted at 2023-05-07

はじめに

開発者として働き始めてよく見るようになった黒い画面... コマンドライン...
使い方はなんとなくわかってきたけどもう少し便利に使いたいと思っている方も多いのではないでしょうか。
この記事では、コマンドラインでの作業効率を上げるCLIツールをたくさん紹介していきます。マスターすれば、作業効率が爆上がりすること間違いなしです。

弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。
また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。

そもそもCLIツールとは?

CLI(CUI)

コマンドラインインターフェース(キャラクターユーザーインターフェース)の略です。
文字列(コマンド)を入力してコンピュータと指令を送る方法です。Macであればターミナル、Windowsであればコマンドプロンプトを開いて操作をします。コマンドを覚える必要があり、知識も必要なため一般にはあまり使われませんが、大量のデータを処理したり、複雑な操作を行ったりできるため、開発を行う際などはよく使われます。

GUI

グラフィカルユーザーインターフェースの略です。
ウィンドウやアイコンなどをマウスで操作してコンピュータに指令を送る方法です。視覚的にわかりやすく簡単に操作ができるので、一般的にPCを操作する際にはGUIを使う機会が多いと思います。

ユーザーインターフェース
ユーザーインターフェース(UI)とは、コンピュータを使用する人(ユーザー)とコンピュータを結びつける接点のことです。
接点という言い方だとピンとこないかもしれませんが、簡単に言うとユーザーがコンピュータを操作する方法のことを指します。

いつもの操作をより便利にしてくれるツール

the fuck

コマンドを打ち間違えてエラーになった時やインストールしていないコマンドを使おうとした時などに自動修正をしてくれるコマンドです。
github:https://github.com/nvbn/thefuck
開発言語:Python
スター数:76.7k

f⚫︎⚫︎kとタイプするだけで修正してくれてめちゃくちゃ便利です

zoxide

cdの改良版です。よく使うディレクトリを登録しておくことによって、フルパスを覚えることなく使いたいディレクトリにダイレクトで移動できます。
github:https://github.com/ajeetdsouza/zoxide
開発言語:Rust
スター数:10.2k
代替コマンド:cd

bat

catコマンドの改良版です。catと同じようにファイルの中身を見たり、ファイルの内容を連結したりすることができます。
catと違い、シンタックスハイライトとgitの連携を備えています。
github:https://github.com/sharkdp/bat
開発言語:Rust
スター数:40.7k
代替コマンド:cat

bat

cat

見比べてみるとbatの方が圧倒的にわかりやすいですね

tldr

manページをよりわかりやすく表示してくれるツールです。使い方が曖昧なコマンドがある場合に重宝します。
github:https://github.com/tldr-pages/tldr
スター数:43.9k
代替コマンド:man

色付けされてるかつ簡潔に書いてあるので、manよりも格段にみやすいことがわかります

aria2

webサーバ等からファイルをダウンロードする際に使用するツールです。並列ダウンロードで高速なダウンロードを可能にしているので、同じ機能を備えているwgetより数倍速くダウンロードをすることができます。
github:https://github.com/aria2/aria2
開発言語:C
スター数:30k
代替コマンド:wget

exa

ファイルを一覧表示するためのコマンドで、lsの改良版です。カラフルな見た目でとても見やすく、アイコン表示も可能です。また、ツリーやグリッド、リストなど複数の出力形式に対応しています。
gitfub:https://github.com/ogham/exa
開発言語:Rust
スター数:21.4k
代替コマンド:ls

hyperfine

コマンドラインやスクリプトをベンチマークし、比較をすることができます。キャッシュのクリアや他プログラムからの干渉を防ぐことができ、正確な結果を得ることができます。
github:https://github.com/sharkdp/hyperfine
開発言語:Rust
スター数:15.5k

lsとexaを比べてみました

duf

ディスクの使用量や空き容量をカラフルな表形式で出力できるコマンドです。結果をソートしたり、JSON出力をしたりすることも可能です。
github:https://github.com/muesli/duf
開発言語:Go
スター数:10.9k
代替コマンド:df

カラフルで見やすいですね

fzf

コマンドライン上で曖昧検索を行うことができるコマンドです。gitやVimとの連携もでき、非常に便利です。
github:https://github.com/junegunn/fzf
開発言語:Go
スター数:51.6k
代替コマンド:fd

ripgrep

正規表現を用いて、ディレクトリを再帰的に検索できるツールです。grepよりも高速で結果も見やすく使いやすくなっています。
github:https://github.com/BurntSushi/ripgrep
開発言語:Rust
スター数:37.2k
代替コマンド:grep

jq

JSONからの値の抽出、集計、整形などができるツールです。
github:https://github.com/stedolan/jq
開発言語:C
スター数:24.7k

こちらのJSONデータを使ってjqでデータをいじってみます。
samplejson.png

簡単に必要な情報を抽出したり、整形したりできます。

diff-so-fancy

diffの改良版です。ファイルの差分を強調して表示してくれるため、よりわかりやすくなっています。
github:https://github.com/so-fancy/diff-so-fancy
開発言語:C
スター数:16.4k
代替コマンド:diff

モニタリングとパフォーマンス評価ができるツール

bandwhich

ネットワーク帯域幅の使用状況をリアルタイムで監視できるツールです。プロセス、接続情報、発信ホストごとに見れるため便利です。
github:https://github.com/imsnif/bandwhich
開発言語:Rust
スター数:7.8k

glances

様々な情報を一目で見ることができるモニタリングツールです。CPU情報、CPU負荷、メモリ情報、ネットワーク、プロセスの総数などたくさんの情報を見ることができます。
github:https://github.com/nicolargo/glances
開発言語:Python
スター数:22.6k
代替コマンド:top

gping

複数のホストに対してPingテストを実行し、その結果をリアルタイムにグラフ表示することができます。
github:https://github.com/orf/gping
開発言語:Rust
スター数:7.3k
代替コマンド:ping

speedtest-cli

インターネットのスピードテストをターミナルから直接実行できます。
github:https://github.com/sivel/speedtest-cli
開発言語:Python
スター数:12.7k

開発の時に重宝するツール

httpie

HTTPクライアントツールです。HTTPやAPIサーバーへのリクエストをわかりやすく表示してくれます。curlと異なり、http/httpsに特化していますが、シンタックスされたわかりやすい色付きの出力を提供します。
github:https://github.com/httpie/httpie
開発言語;Python
スター数:27.3k
代替コマンド:curl

lazygit

コマンドライン上で操作できるgitクライアントです。すでに存在しているリポジトリに対して、コミットやブランチ操作をコマンドライン上で行うことができます。
github:https://github.com/jesseduffield/lazygit
開発言語:Go
スター数:34.1k

スクリーンショット 2023-04-29 16.03.56.png

lagydocker

コマンドライン上で操作できるDocker管理ツールです。コンテナやイメージの操作、ログの表示、リソース使用状況の確認など多くのことをコマンドライン上で行うことができます。
github:https://github.com/jesseduffield/lazydocker
開発言語:Go
スター数:26.3k

ngroc

ローカルホストで動いているサーバーを、LANの外からアクセスできるようにできるツールです。
ローカル環境を簡単に一時的に外部に公開できるため、リモートで作業している人と簡単に作業内容を共有できます。
github:https://github.com/inconshreveable/ngrok
開発言語:Go
スター数:22.8k

ngrokを使用する際はこちらからngrokのサインアップが必要になります

おもしろ機能

figlet

文字やテキストのASCIIアートを出力することができます。フォントを変えることで様々なASCIIアートを生成できます。
github:https://github.com/cmatsuoka/figlet
開発言語:C
スター数:1.1k

フォントも変えることができます。

lolcat

テキストを虹色にします。
github:https://github.com/busyloop/lolcat
開発言語:Ruby
スター数:5.5k

色の変化の度合いを変えることもできます。

参考サイト

最後に

CLIツールをマスターして、より快適なコマンドライン生活を送りましょう!!

340
358
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
340
358

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?