Bashツールをモダンな代替ツールに置き換えて、ターミナル作業を快適にする方法

今回は、10 Modern Alternatives That Made Me Ditch Standard Bash Tools という記事を参考に、私自身の開発環境でも定着しつつある「標準コマンドを置き換えるモダンなツール」について整理してみました。

定番の物がおおいのですが、CLIベースで作業している時の便利小物ですね。dogはもうメンテナンスされてない様子で、doge, doggo が使えますね。どちらを使うかはお好みで。😅


LinuxやmacOSのターミナルで長年使われてきた cat や find、git といった標準ツールは非常に強力ですが、最近ではより直感的で、視認性の高い代替ツールが登場しています。これらを取り入れることで、日々のコマンドライン操作が少しだけ楽になるかもしれません。

1. lazygit:複雑なGit操作を直感的に

Gitのコマンドは数が多く、特にインタラクティブなリベースや、特定の行だけのステージングといった操作は、慣れていないとコマンドを思い出すだけでも一苦労です。

lazygit は、ターミナル上で動作するUI(TUI)を提供してくれるツールです。キーボードの矢印キーやショートカットを使って、視覚的にリポジトリの状態を確認しながら操作できます。

lazygit の特徴とメリット

  • 部分的なステージング: ファイル内の特定の行だけをステージングするのが簡単です。

  • リベースの可視化: 複雑な履歴の整理も、UI上で流れを確認しながら進められます。

  • ミスの修正: 直前のコミットの修正(amend)や、やり直し(undo)が手軽に行えます。

2. zoxide:ディレクトリ移動を「記憶」させる

深い階層にあるプロジェクトディレクトリに移動するために、何度も cd ../../... と入力したり、長いパスをコピー&ペーストしたりするのは効率があまり良くありません。

zoxide は、ユーザーがよく訪れるディレクトリを学習し、断片的な名前だけでそこへジャンプできるようにしてくれるツールです。

仕組みのイメージ

たとえば、/home/user/work/projects/my-awesome-blog というディレクトリに一度でも行ったことがあれば、次回からは次のように入力するだけで済みます。

z blog

zoxide は内部で「どのディレクトリに、どれくらい最近、何回訪れたか」をスコアリングしています。

3. その他の便利なモダンツールたち

元記事では10個のツールが紹介されていますが、特におすすめしたいものをいくつかピックアップします。

bat(cat の代替)

標準の cat はファイルの中身をそのまま出力するだけですが、bat はシンタックスハイライト(色付け)をしてくれます。また、Gitと連携して「どの行が変更されたか」を横に表示してくれる機能もあります。

fd(find の代替)

find コマンドの構文は少し独特で、忘れがちではないでしょうか。fd はよりシンプルな構文でファイルを検索でき、デフォルトで隠しファイルや .gitignore に指定されたファイルを対象外にしてくれるため、実務上の「探し物」がスムーズになります。

eza(ls の代替)

ディレクトリの内容を表示する ls を拡張したものです。ファイルの種類ごとにアイコンを表示したり、Gitのステータス(変更あり、新規作成など)を一覧に表示したりできます。

代替ツールの比較表

まとめ

長年親しまれてきた標準ツールには、どんな環境でも動くという「不変の安心感」があります。一方で、今回紹介したようなモダンなツールは、人間の認知負荷を下げる工夫がたくさん盛り込まれています。

まずは zoxide や bat 辺りから少しずつ試してみると、ターミナルでの作業が「こちらの方が楽かもしれない」と感じる場面が増えてくるかと思います。設定ファイル(.bashrc や .zshrc)にエイリアスを張っておけば、操作感を損なわずに移行できるのでおすすめです。

参照記事


詳しくはこちらをご覧ください。

いいなと思ったら応援しよう!