/Linuxコマンド

基本

便利な新しい定番ツール

fzf・bat・eza・zoxide・ncdu・htop・tldr など、昔からのコマンドをより快適にする新しいツール。

どれも sudo apt install だけで入ります(一部は Ubuntu でのコマンド名が違うので注意)。入れておくと毎日の作業がかなり楽になります。ファイルの変更を監視して実行する entr は プロセスとジョブ、fd は ファイルを探す にあります。

fzf何でもあいまい検索で選ぶ

Ubuntu には最初から入っていません。 で入れられます。

一覧をその場で絞り込んで選べるツールです。履歴検索やファイル選択が格段に楽になります。

bash
$ vim "$(fzf)"                         # ファイルを選んで開く
$ git switch "$(git branch --format='%(refname:short)' | fzf)"
$ kill -9 "$(ps aux | fzf | awk '{print $2}')"
$ history | fzf                        # 履歴から選ぶ

~/.bashrc に次を書くと、Ctrl+R の履歴検索と Ctrl+T のファイル選択が fzf になります。

bash
source /usr/share/doc/fzf/examples/key-bindings.bash     # zsh なら key-bindings.zsh
# (fzf 0.48 以降なら eval "$(fzf --bash)" でもよい)

bat色付きの cat

Ubuntu には最初から入っていません。 で入れられます。

Ubuntu ではコマンド名が batcat です。alias bat=batcat を設定して使います。

bash
$ batcat main.go                 # 構文の色付け・行番号・git の変更箇所
$ batcat -p config.yaml          # 行番号などを付けない
$ batcat -A file.txt             # 見えない文字を表示
$ export MANPAGER="sh -c 'col -bx | batcat -l man -p'"   # man も色付きに

eza見やすい ls

Ubuntu には最初から入っていません。 で入れられます。

ls の代わりに、見やすい一覧を表示します。

bash
$ eza -l --git --icons           # 詳細・git の状態・アイコン
$ eza -T -L 2                    # 木の形で2階層(tree の代わり)
$ eza -la --sort=modified

zoxideよく行くディレクトリにすぐ移動する

Ubuntu には最初から入っていません。 で入れられます。

よく行くフォルダに、名前の一部だけで移動できるようにします。

bash
eval "$(zoxide init bash)"       # ~/.bashrc に追加(zsh なら init zsh)
bash
$ z proj                         # 「proj」を含む、よく使うディレクトリへ
$ z web ref                      # 複数の単語で絞る
$ zi                             # fzf で選ぶ

ncdu容量を食っているものを対話的に探す

Ubuntu には最初から入っていません。 で入れられます。

容量を食っているフォルダを、矢印キーでたどりながら探せます。

bash
$ ncdu ~                         # 矢印キーで移動、d で削除、q で終了
$ ncdu -x /                      # 別のファイルシステム(/mnt/c など)をたどらない

duf見やすい df

Ubuntu には最初から入っていません。 で入れられます。

df の代わりに、ディスクの空き容量を見やすく表示します。

bash
$ duf
$ duf --only local

btopグラフ付きのリソースモニター

Ubuntu には最初から入っていません。 で入れられます。

CPU・メモリ・ネットワーク・ディスクの使用状況をグラフで表示します。

bash
$ btop                           # グラフ付きでCPU・メモリ・ネットワーク・ディスクを一度に

tldr例だけの短いマニュアル

Ubuntu には最初から入っていません。 で入れられます。

コマンドのよく使う例だけを短く表示します。

bash
$ tldr --update                  # 最初にデータを取得
$ tldr tar
$ tldr ffmpeg

tig / lazygitgit をターミナルで見やすく操作する

Ubuntu には最初から入っていません。 で入れられます。

git の履歴や変更を、端末の中で見やすく操作できます。

bash
$ tig                            # 履歴をブラウズ(Enter で差分、q で戻る)
$ tig status                     # 変更をステージ(u でステージ/解除)

lazygit は apt にはないので、GitHub のリリースから入れます。

git-delta見やすい差分表示

Ubuntu には最初から入っていません。 で入れられます。

git の差分を色付き・横並びで見やすく表示します。

bash
$ git config --global core.pager delta
$ git config --global interactive.diffFilter "delta --color-only"
$ git config --global delta.side-by-side true

httpie人に優しい curl

Ubuntu には最初から入っていません。 で入れられます。

API を試すときに使いやすい、人に優しい curl です。

bash
$ http GET https://api.github.com/users/octocat
$ http POST httpbin.org/post name=alice age:=20     # JSON で送る(:= は数値)
$ http -a user:pass https://example.com/private

まとめて入れる

bash
$ sudo apt install -y fzf bat eza zoxide ncdu duf htop btop tldr tig git-delta httpie jq tree fd-find
$ mkdir -p ~/.local/bin && ln -sf "$(which fdfind)" ~/.local/bin/fd && ln -sf "$(which batcat)" ~/.local/bin/bat