幸者堂

コマンドラインの便利なツール集

update:2025/08/22

Category : command line tool


コマンドラインを充実させるにはいろいろなツールがありますよね。 今回はそんなツールを紹介していこうと思います。 不定期で更新していこうと思っています。

tmux

tmuxはウィンドウを開いてログイン状態を保持し続けてくれるツールです。 通常Linuxではコマンドラインを閉じるとプロセスは停止してしまいますが、tmuxはセッションを保持してくれるのでサーバから抜けても回し続けてくれます。

windowを複数枚開いてhello world!

こんな感じでctrl+b ,shift+sで同じ操作を同時に複数のwindowに対してすることもできます。

~/.tmux.confを書くことでデザインやキーバインドを設定できます。中には相当書き込んでいるLinuxユーザもいるのだとか。 私も色をちょこっと変えています。 ここに私の個人用のtmux.confを晒します。

# ctrl+bの代わりにctrl+jを使う(macだとこの方が都合がよい)
unbind-key C-b
set-option -g prefix C-j
bind-key C-j send-prefix

set -g default-terminal 'screen-256color'
set -g terminal-overrides 'xterm:colors=256'

set-environment -g TZ Asia/Tokyo
set -s escape-time 0
set-option -g mouse on

# message表示時のstatus lineの色。dispaly,confirm-before -p などのコマンド出力の色
#set -g message-style fg=colour68,reverse,bg=brightwhite

set -g pane-border-status bottom
set -g pane-border-format "#{pane_index}:#{pane_current_command}"
set -g status-interval 1
bind-key -T edit-mode-vi WheelUpPane send-keys -X scroll-up
bind-key -T edit-mode-vi WheelDownPane send-keys -X scroll-down
bind S set-window-option synchronize-panes

# アクティブウィンドウの色
setw -g window-status-current-style fg=cyan,bg=default,dim

# アクティブペインの枠線色を藍色に変更
set -g pane-active-border-style "fg=colour39"

# 非アクティブペインの枠線色
set -g pane-border-style "fg=grey"

# コマンドラインの色
set -g message-style fg=white,bg=black,dim

# ステータスバーの色
set -g status-fg white
set -g status-bg '#444444'


# コピーモードのハイライト
set -g mode-style "fg=default,bg=default,reverse"

インストール方法

sudo apt install tmux

で入ります。簡単ですね。 リモートサーバでsudo権限がない場合は

wget https://github.com/tmux/tmux/releases/download/3.4/tmux-3.4.tar.gz
tar xvf tmux-3.4.tar.gz
cd tmux-3.4
./configure --prefix=$HOME/.local
make -j$(nproc)
make install

でローカル環境にtmuxを導入できます。

imcat

imcatはコマンドライン上で画像を表示してくれるツールです。

imcatの使い方例
使い方例:x(旧Twitter)のiconを落として見る

こんな感じで、コマンドラインの大きさに応じて表示してくれます。リモートサーバで使う際に~/.local/bin/imcatなどとビルドしておいておけば手軽に使えます。 インストール方法は簡単で

git clone https://github.com/stolk/imcat
cd imcat
make #makeによりビルドする必要がある
mv imcat ~/.local/bin # sudo権限なしでも使える
imcat foo.png #imcatによる画像表示

とするだけで使えます。

cargo(rustup)

Rust製ツールを使用するためにはRustをインストールする必要があります。 MacOSかLinuxを使用している方は

curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh

でインストールできます。 より詳細が知りたい方は日本語のRustドキュメントを参照してみてください。

Windowsの方はこちらから手順に従ってインストールできます。

bat

batはcatに代わるrust製のツールです。 行番号を振ってくれたり、インデントを揃えたりシンタックスカラーリングなどしてくれます。jsonなどはjqコマンドを使用せずとも 可読性ある表示をしてくれます。

C++のコードの表示例

インストール方法は簡単で

cargo install bat

でいけます。

eza

ezaはlsのrust版でツリー表示やファイルの種類の応じたアイコンの表示などができます。

元々はexaというものでしたが、ezaに名前が変わったようです。

eza単体で使っても良いし、オプションを盛って見やすくしても良い!

それがezaです。

ezaの例

インストール手順は

cargo install eza
brew install eza #mac OSならbrewでも入ります

です。

starship

starshipはプロンプトをオシャレにするツールで、bash,zsh,fishなどのshellで使用できます。 こちらもRust製を売りにしていて、高速で使い勝手も良いです。

先ほどezaの紹介の画像内で使用していたコマンドラインのプロンプトもstarshipで、私は普段使うマシンは全てstarshipで統一してあります。 インストールは

cargo install starship

です。

使い方

~/.config/starship.tomlを作成し、その中に記述していくスタイルです。

プリセットも充実しており、

starship preset tokyo-night -o ~/.config/starship.toml

のようにtokyo-nightの箇所にプリセット名を入れればそのまま利用できます。

ちなみにnerd fontが必須で、ない場合はインストールすることをお勧めします。

git-delta

git-deltaはgit diffの際におしゃれな見た目になるツールです。

通常時
git-deltaを使うとおしゃれになる

もともとのgit diffでも慣れていれば十分見やすいですが、git-deltaを導入した場合はシンタックスハイライトがついて見やすくなりますし、変更点もくっきり表示されます。

見やすくていいし、こんなの使ってるのを横から見たらイケメンすぎて惚れちゃうね!

cargo install git-delta

でインストールした後に~/.gitconfig

[core]
    pager = delta
[interactive]
    diffFilter = delta --color-only

を貼り付ければそのまま使えます。

uv

uvはPythonのパッケージマネージャです。 ここに至るまでpyenvやpoetry、ryeといった多様なツールが出てきましたが、uvはそのrust版と言えます。安定さと高速性から昨今注目を集めています。

インストールと導入は以下のとおりです。

curl -LsSf https://astral.sh/uv/install.sh | sh
echo 'source $HOME/.cargo/env' >> ~/.zshrc
source ~/.zshrc #bashならbashrcに

使用例

gitignore.io

.gitignoreはgitに追加しないファイルを指定するファイルです。

*.txt
tmp*
.env
.vscode

以上のように書くことでgitに追加されなくなります。 そんな.gitignoreを生成してくれるのがgitignore.ioというサイトなのです。

本記事のコンセプトとしてはコマンドラインから実行するべきなのでしょうが、ウェブサイトからでもできます。 正直、ブラウザからやったほうが早いです。

neovim

vimの派生で、githubで公開されている拡張機能を使用することができます。 neovimは拡張機能が豊富な点でvimと異なります。

インストール方法は

sudo apt install neovim
brew install neovim

または公式githubからバイナリデータを落としてくるなどの方法があります。 バイナリデータであればsudo権限が不必要なので~/.local/.bin/neovimに配置することでリモートサーバで手軽に使用できます。

過去にneovimについての記事を書いているので、こちらも参照ください。

neovimの設定次第ではこのようになる。
neovimの設定次第ではこのようになる。

このリンクに私のnvimの設定ファイルを貼ります。

これを~/.config/nvim/init.luaとして保存すればそのまま使えます。 ただし、補完予測の拡張機能の部分でnode.jsの環境が必要となっています。

node.js

node.jsは普段ブラウザで使用されるJava Scriptを、サーバサイドでも利用できるようにしたものです。

最近流行のGemini CliやClaude Codeなどを使用する際には必要となるでしょう。

nvmを使ったインストール

node.jsのバージョン・インストール管理ツールとしてnvmが知られています。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

でインストールできます。

node.jsを利用する際は

nvm use --lts

を実行しておけば、安定最新版をインストールすることができます。