コマンドラインの便利なツール集
update:2025/08/22
Category : command line tool
コマンドラインを充実させるにはいろいろなツールがありますよね。 今回はそんなツールを紹介していこうと思います。 不定期で更新していこうと思っています。
tmux
tmuxはウィンドウを開いてログイン状態を保持し続けてくれるツールです。 通常Linuxではコマンドラインを閉じるとプロセスは停止してしまいますが、tmuxはセッションを保持してくれるのでサーバから抜けても回し続けてくれます。
こんな感じで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はコマンドライン上で画像を表示してくれるツールです。
こんな感じで、コマンドラインの大きさに応じて表示してくれます。リモートサーバで使う際に~/.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コマンドを使用せずとも 可読性ある表示をしてくれます。
インストール方法は簡単で
cargo install bat
でいけます。
eza
ezaはlsのrust版でツリー表示やファイルの種類の応じたアイコンの表示などができます。
元々はexaというものでしたが、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 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に
使用例
- 初期化
uv init hoge
- パッケージ追加
uv add numpy
- パッケージ削除
uv remove numpy
- 実行
uv run main.py
- バージョン固定
uv python pin 3.10
- すでにtomlが与えられているとき
uv sync
- プロジェクトに関係なくPython製ツールをつかいたいとき
uvx run nvitop(gpuの使用率が見れます)
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についての記事を書いているので、こちらも参照ください。
このリンクに私の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
を実行しておけば、安定最新版をインストールすることができます。