63
54

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

一度は触れてほしい、ターミナルが美しいと思えるツール5選+α

Posted at

はじめに

こんにちは!ITスクールRareTECHにてCS(Customer Support)を担当している池村です。今回の記事は、ターミナルで使える便利ツールのご紹介です。

サードパーティ製のツールの中でも、これは良い(というか美しい)と思ったツールを紹介していきます。完全に私の趣味の領域ですが、ある程度シェルを使い慣れてきた方はぜひ一読ください。

btop

まずはPCのリソースをモニタリングできるbtopコマンドの紹介です。
こちらはCPU・メモリ・ディスク・ネットワーク・プロセスの情報をリアルタイムで表示できるリソースモニタと呼ばれるものです。
image.png

Macユーザーであれば、以下のコマンドでインストール可能です。

btopのインストール
brew install btop

Windowsの方は以下で使えると思われます。(Windowsユーザーではないので確かではありません)

Windowsの場合
scoop install btop

btopの起動はそのままbtopで実行可能です。
escキーをクリックすると、メニューが表示されるのでお試しください。

image.png

OPTIONSでは様々な設定を変更できます。
image.png

HELPでは、btopのキー設定が確認できます。

image.png

btopの前はhtopというコマンドがありましたが、最近はこっちの方を使っている方が多い印象です。軽さで言えばhtopの方が軽量ですが。

参考画像(htop
image.png

これはこれで、眺めているだけでご飯食べれるくらい綺麗ですけどね!

ctop

topシリーズ二つ目はctopです。
こちらはc、つまりcontainerの略です。Dockerを使っているエンジニアの方は重宝するコマンドになります。

インストール方法
# Mac
brew install ctop

# Windows
scoop install ctop

# Ubuntu
sudo apt install ctop

使い方はbtop同様、ctopと叩けば実行されます。

image.png

何かしらのコンテナを立ち上げた状態でないと表示はされません。あと、そもそもDocker Engineが起動していないと動きません。ご注意ください。

このctopでは、起動しているコンテナの詳細、再起動やコンテナの中に入ることなど、簡単に行えるようになります。

image.png

とても便利ですが、Dockerの基本コマンドを押さえてから使うようにしてください。

oha

次に紹介するのはohaコマンドです。
こちらは主にHTTPサーバーへの負荷テストなどで使われるコマンドですね。

image.png

インストール方法
# Mac
brew install oha

# Windows
winget install hatoo.oha

# Ubuntu
echo "deb [signed-by=/usr/share/keyrings/azlux-archive-keyring.gpg] http://packages.azlux.fr/debian/ stable main" | sudo tee /etc/apt/sources.list.d/azlux.list
sudo wget -O /usr/share/keyrings/azlux-archive-keyring.gpg https://azlux.fr/repo.gpg
apt update
apt install oha

使い方はリクエストを送りたいURLに対して、ohaを実行する形です。

ohaの使い方
oha https://www.google.co.jp/

デフォルトですと、1秒間の間、HTTPリクエストを送り続けるようになっています。その後、リクエスト数・応答時間・スループットをサマリーとして表示してくれます。

image.png

負荷テストは、システムやWebサービスが高負荷の状態でも正常に動作するか?を確認するためのテストのことです。

こちらもかなりのオプションがあるのですが、いくつか代表的なものを紹介します。

リクエスト数を指定する
oha -n 1000 https://example.com

上記コマンドを叩くことで、合計1000リクエストを送ることができます。

同時リクエストを送る
oha -c 50 https://example.com

上記の場合、『50人が同時にアクセスする』を再現することができます。

認証付きのAPIテストの場合
oha -H "Authorization: Bearer token123" https://example.com

トークンをHTTPヘッダーに含めて、APIにアクセスする認証テストで重宝します。

POSTリクエストでjson形式のデータを送る
oha -m POST -d '{"key":"value"}' -H "Content-Type: application/json" https://example.com/api

これもよくあるパターンかと思いますので、負荷テストに最適です。

output5.gif

lazygit

こちらはGit関係のツールになります。
これもかなり使いやすく、Git コマンドを視覚的に操作できるのでおすすめです。

ある程度Gitのコマンドを扱えるようになってから利用することをおすすめしています。

image.png

インストール方法は以下になります。

Macの場合
# 最新版を早めに使いたい場合
brew install jesseduffield/lazygit/lazygit

# 安定版を使いたい場合
brew install lazygit
Windowsの場合
winget install -e --id=JesseDuffield.lazygit
Ubuntuの場合
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | \grep -Po '"tag_name": *"v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit -D -t /usr/local/bin/

詳しくは以下のリンク先を参照してください。👇

使い方は簡単です。ですが。

注意点として、Git管理下ではないディレクトリで実行すると、新しくgit initを行う使用になっています。もちろん確認画面は出ますが、ホームディレクトリなどでは実行しないことをおすすめします。

lazygitを起動
lazygit

lazygitを開くと、様々なウィンドウが見えると思います。
キーバインドは、?キーを叩くと表示されます。

image.png

様々なことがこちらのキーバインドでできるようになっています。

簡単に使い方を説明します。
まず、左側にあるウィンドウには番号が振られており、それぞれ1~5キーを押すことで移動が可能です。←,→キーでも移動は可能です。
image.png

[1] Statusウィンドウ

まず1のウィンドウには、リポジトリ名と、現在のブランチが表示されており、aキーを押すと右側のウィンドウに操作履歴やコミット履歴が表示されるようになります。

image.png

[2] ファイルウィンドウ

2のウィンドウには、変更されたファイルなどの差分が表示されます。
例として、test.txtを作成した状態の画像を残しておきます。

image.png

このtest.txtにカーソルが当たった状態で、spaceキーを押すとステージングされます。その後、cキーでコミットメッセージを作成するウィンドウが表示され、コミットが可能になります。

image.png

[3] ブランチウィンドウ

こちらはブランチ一覧が表示され、簡単に切り替え可能になっています。
ブランチにカーソルを合わせると、今までのログも確認することが可能です。

image.png

下部にキー操作の説明が書いてありますので、そちらの通りに操作も可能です。

image.png

[4] コミットウィンドウ

こちらはコミットの詳細や、操作の履歴を確認できます。git showgit reflogなどを扱っているウィンドウですね。

image.png

こちらも下部にあるキー操作の通りに操作が可能です。
image.png

[5] Stashウィンドウ

こちらはその名の通り、変更差分を一時的に退避したものを一覧表示するウィンドウです。

Gitのコマンドに飽きてきたら、使ってみて欲しいツールです!

yazi

次に紹介するのはyaziです。こちらはRust製のファイルマネージャーです。
とても高速で、ファイル内のプレビューや、画像などもCUI上で見ることができるようになります。

image.png

ドキュメントはGitHubとは別になっているので、以下を参照してください。

これを使うには追加で色々なものをインストールする必要があります。

Macの場合
brew install yazi ffmpeg sevenzip jq poppler fd ripgrep fzf zoxide imagemagick font-symbols-only-nerd-font
Windowsの場合
scoop install yazi
scoop install ffmpeg 7zip jq poppler fd ripgrep fzf zoxide imagemagick
Ubuntuの場合
apt install ffmpeg 7zip jq poppler-utils fd-find ripgrep fzf zoxide imagemagick

使い方は特に難しくありません。

yaziを起動
yazi

キーバインド一覧

キーバインド 代替キー アクション
k カーソルを上へ移動
j カーソルを下へ移動
l 選択中のディレクトリに入る
h 現在のディレクトリを抜けて親ディレクトリへ移動
キーバインド アクション
K プレビュー内を 5 ユニット上にスクロール
J プレビュー内を 5 ユニット下にスクロール
g ⇒ g カーソルをリストの先頭へ移動
G カーソルをリストの末尾へ移動
z zoxide を使用してディレクトリへ移動
Z fzf を使用してディレクトリへ移動またはファイルを開く

残りはドキュメントを参考に色々いじってみてください🖐️
Vimを使っていると、少々使い所が減りますが、画像プレビューも含めて綺麗なツールです😄

ここからは無駄系コマンドをご紹介

lolcat

まずはlolcatコマンドです。
これはターミナル画面上への出力結果を虹色にしてくれるものです。
特に意味のあるコマンドではありませんが、出力結果が綺麗なので気に入っています。
image.png

インストール方法(Mac)
brew install lolcat

Windowsの方はWSLを入れていれば使えます。

使い方
ls | lolcat
cat ファイル名 | lolcat

基本的に|(パイプ)で繋いで使う形になります。

cmatirix

cmatirixはターミナル画面上にマトリックスのような文字を降らせるコマンドです。
なんの意味もないコマンドですが、綺麗なので気に入っています。

output.gif

インストール方法(Mac)
brew install cmatrix
使い方
# 基本的な使い方
cmatrix

# lolcatとの連携
cmatrix | lolcat

lolcatと連携すると、、👇こんなこともできます。
output2.gif

termdown

次はtermdownと呼ばれるコマンドです。
これはターミナル上でカウントダウンをしてくれるツールになっています。
これもlolcatと一緒に使うことが多いですね。

インストール方法(Mac)
brew install termdown
使い方
# 基本的な使い方(10mは10分間、1hで1時間なども可能)
termdown 10m

# lolcatとの連携
termdown 10m | lolcat

output3.gif

オプションを使うことで、時間になったらボイスが流れるなども可能です。
--helpオプションで色々使ってみてください。

cowsay

cowsayコマンドは、アスキーアートを表示することができるコマンドです。
特に意味はありません。
image.png

インストール方法(Mac)
brew install cowsay
使い方
# 基本的な使い方(デフォルトは牛)
cowsay "Hello World"

# ドラゴンのアスキーアート
cowsay -f dragon "Hello World" | lolcat

私は仕事中に20~30分ほど仮眠を取ることがよくあり、その際にこのコマンドを使って『寝ています』を伝えている時があります!😴
下の画像を表示しておいて寝ています(笑)

image.png

gping

最後はgpingコマンドですね。
これも正直pingコマンドで十分なのですが、視覚的にわかりやすくなりますし、綺麗なので気に入っています。
そもそもpingコマンドはサーバーなどに通信が可能なのか疎通確認をするコマンドです。pingコマンドの実行結果は👇

image.png

これをグラフィカルに表現したのがgpingです。

output4.gif

インストール方法(Mac)
brew install gping
使い方
gping 任意のURL

おわりに

サードパーティ製のものばかりなので、実際の業務の時に使って良いかは会社次第というところではありますが、便利なコマンド(無駄コマンドもあり)なので、ぜひ一度使ってみて欲しいです!シェルは美しいなあと日頃から感じており、仲間が増えると嬉しいなあ〜と思っています。

ぜひ美しいシェルライフをお送りください😃

b2936eba-b4d8-4887-b0bd-678a9ce4ebf6_720.png

63
54
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
63
54

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?