インフラ

Linux便利コマンド8選 zoxide/bat/exa/fzfなど

Linux便利コマンド8選

reisuta

Webエンジニア | 20代中盤 | 大学時代はGmailすら知らないIT音痴でプログラミングとは無縁の生活を送る → 独学でプログラミングを学ぶ → Web系受託開発企業にエンジニアとして就職 → Web系自社サービス企業に転職 | 実務未経験の頃からVimを愛好しており、仕事でもプライベートでも開発はVimとTmuxを使っているので、VSCodeに疎いのが最近の悩み。何だかんだでやっぱりRubyが好き。

いつもcdとかcatのように、
お決まりのコマンドを使うと思いますが、
最近だと、こういったコマンドの強化版みたいなやつも熱いので紹介します。

本記事の内容は、
下記動画でもご紹介したので、
実際のハンズオンを視聴したい方は、
併せてご参考ください。

Linuxコマンド

さて、これらの便利コマンドを紹介する前に、
そもそものLinuxの基本コマンドに自信が無い方は、
こちらの記事で詳しく解説しているので、
ご参考ください。

Linuxコマンド基礎
参考Linuxコマンド基礎編 これだけは知っておきたい基本コマンド11選

コマンドとは何か? コマンドとは、コンピュータに対する命令のことです。ブラウザのアイコンとかをクリックすると、ブラウザが起動しますが、あれも内部的にはコンピュータに対してブラウザを起動させる命令となっ ...

続きを見る

さて、本記事でご紹介する、
便利コマンドは、多くがRust製というのも
特徴の一つです。

Rust製のツールは、
優秀なものが多く、いつも感動を与えてくれます。
(ターミナルのAlacrittyとかはRust製ですよね。
ターミナルのおすすめ記事はこちら)

以下、順番に紹介していきます。

zoxide

まずは、zoxideです。

これは、cdの完全上位互換のコマンドで
個人的にはこれは入れないと仕事できないレベルです。

https://github.com/ajeetdsouza/zoxide

これに関しては、何も考えずに
インストールしたら幸せになれます。(例外はありません)

それくらい優秀なコマンドですので、
早速インストールしましょう。

Macなら、いつもどおり、

brew install zoxide

でインストールできる。
基本的には、公式にインストール手順はすべて書いてあります。

https://github.com/ajeetdsouza/zoxide

あとは、シェルごとにパスを通す必要がありそうですね。
zshなら、.zshrcに

eval "$(zoxide init zsh)"

を追記します。

公式にfzfのインストールも推奨しているので、
このタイミングで入れるのもありです。
(ちなみに、fzfは本記事の後半で個別紹介します。)

brew install fzf

これでziコマンドが使えるようになります。

ziコマンドは、死ぬほど便利で、
zコマンドとかで行ったディレクトリパスとかを検索して移動できます。

私は、zoxideを入れる前は、
.zshrcとかに、頻繁に行くディレクトリに関しては、
aliasを設定していたのですが、
zoxideがあれば、そんなalias設定もほとんど不要になります。

一度行ったディレクトリは、
ziで検索しながら移動できるので、
これは本当に本当に便利です。

階層が深いディレクトリの行き来も
これがあれば一瞬ですね。

bat

お次は、batです。

これは、Catコマンドの強化版で、
Syntaxハイライトと、gitのstatusとかを出力してくれます。

https://github.com/sharkdp/bat

こちらもいつもどおり、

brew install bat

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

これは、たしかに文句無しで便利なのですが、
正直使うシチュエーションはあまり多くない印象です。

普段からcatを頻繁に使うという人であれば、
嬉しいかもしれませんが、なんだかんだでcatってそんなに使わないコマンドだと
思うので、catの上位互換だとしても、
そのパワーを発揮できないことのほうが多い印象です(あくまで私基準の話)

エディターがcatの人は、
batを死ぬほど使い倒せると思います。

exa

こちらは、lsの強化コマンド
ディレクトリとかを色付きで表示してくれます。

https://github.com/ogham/exa

こちらもいつもどおり

brew install exa

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

このコマンドも文句なしに便利です。
しかし、これはいつもインストールしたことを忘れてしまうコマンド
個人的第一位です。

というのも、Linuxコマンドにおいて、
lsの存在感はでかすぎて、
脳死モードだと、基本lsを打っています。

そして、lsのやっかいなところは、
心を鎮めるためにとりあえずlsを打つということもある、
ある種の鎮痛コマンドなので、
なかなかlsからexaに移行できないのが私です。

もう、lsのaliasにexaを設定してしまうのもありかもしれませんが、
個人的には、かの偉大なるlsを消してしまうことは、
あまりしたくありません。

なので、exaは、便利ではありますが、
lsが強すぎて、まだ移行しづらいコマンドかなと思います(あくまで私基準の話です)

procs

こちらはpsコマンドの上位互換。
色付きで表示してくれたりと、
見やすく表示してくれます。

https://github.com/dalance/procs

これも

brew install procs

でインストールできます。(いい加減くどいですね)

これも確かに便利かとは思うのですが、
正直あんま使わない...笑

ただ、現職がサーバーエンジニアの方とか、
プロセス監視をメインでやるような方なら、
かなりの便利コマンドかと思うので、
紹介しました。

あくまで私環境の話ですが、
procsコマンドは若干重い気がするので、
もしかすると、無難にpsとかのほうが、
いい場合もあるかもしれません。

psとprocsで使い分けられるといいですね。

htop

こちらは、topコマンドの表示を見やすくしてくれるものです。
非Rust製です。この系のコマンドは、htop以外にもたくさんあるので、
好きなやつを見つけてほしいなと思います。

htopの公式を見ると、
インストール方法がやや煩雑に思えますが、

macなら、

brew install htop

でインストールできてしまう。
結局いつも通りでした。

改めて、Homebrewは偉大ですね。

https://github.com/htop-dev/htop

htopコマンドに慣れると、
普通のtopコマンドに戻れなくなると思うので、
普段からtopコマンドを頻繁に使う人には、
おすすめできます。

まあでも、topコマンドって、
使いそうで、意外と使わないコマンドの代表例なので、
インフラエンジニアとかでないとそこまで
お世話になる機会は少ないかもしれませんが。

pastel

こちらは、色の操作ができるコマンドです。
やや他のコマンドとは毛色が違うので紹介しました。

使い所は、若干難しいが、
CSSとかを書く際の参考になるかなと思います。

https://github.com/sharkdp/pastel

色の一覧っぽいのを出すときは、

pastel list

で出てきます。

ちなみに、色を選ぶこともできるみたいで、
これを使うと、カラーコードがよくわかんなくても、
視覚的にいい感じの色のカラーコードを調べたりすることができます。

 pastel pick

どちらかというと、
デザイナー向けのツールなので、
どの程度の人に刺さるかわかりませんが、
少なくともCSSを書くエンジニアには、
まあまあ役に立つコマンドかなと思います。

fzf

こちらは、zoxideのところで
すでにインストールされている方は、
もう入っていると思います。

これは、あいまい検索ができるツールで、

find . | fzf

とfindの結果をパイプにしたり、
fzfのpreview機能を使って、

fzf --preview 'head -100 {}'

みたいにして、先頭100行を
プレビューしながら検索みたいなことができます。

すでに紹介したbatコマンドと組み合わせると、

fzf --preview "bat  --color=always --style=header,grid --line-range :100 {}"

これは、alias設定するとめちゃくちゃ便利そうですね。

https://github.com/junegunn/fzf

fzfは、Vimのプラグイン周りでも
結構お目にかかるCLIツールなので、
知っている方も多いかもしれませんが、
意外と、単体でターミナルで実行したことは無いかなと思い、
紹介しました。

Neovimを使っていると、
telescope.nvimみたいなぶっ壊れプラグインを使うことが
できるので、上記のような死ぬほど便利なコマンドを
使わずとも似たようなことができてしまうのが、
やっぱNeovimの強みですね。

Vim/Neovimプラグイン
参考【Vim/NeoVimプラグイン】これだけは入れておきたいプラグイン10選

プラグインをどれだけ入れるかは、その人の思想なども関係するので、一概にこれがいいというのはないかもしれません。 プラグインを全く入れない人もいれば、100個以上入れる人もいます。 ただそれでも、これだ ...

続きを見る

fast-cli

最後にちょっとした面白ツールを紹介します。
非Rust製です。

https://github.com/sindresorhus/fast-cli

これはCLIツールとしては、
珍しくnpm経由でインストールするようです。
(JavaScript製なので、当然っちゃ当然かもしれませんが)

npm install --global fast-cli

npmを入れていない人は、
こちらの記事で環境構築について、
解説しているので、よろしければご参考ください。

このツールは何かというと、
光回線とか、ネットワークの速度を測るツールです。

いやここ見れば解決やんって野暮なことは言わないでください。

誰だって、CLIで実行したくなることはあるんですから。

  • この記事を書いた人
  • 最新記事

reisuta

Webエンジニア | 20代中盤 | 大学時代はGmailすら知らないIT音痴でプログラミングとは無縁の生活を送る → 独学でプログラミングを学ぶ → Web系受託開発企業にエンジニアとして就職 → Web系自社サービス企業に転職 | 実務未経験の頃からVimを愛好しており、仕事でもプライベートでも開発はVimとTmuxを使っているので、VSCodeに疎いのが最近の悩み。何だかんだでやっぱりRubyが好き。

おすすめ記事はこちら

Vim/Neovimプラグイン 1

プラグインをどれだけ入れるかは、その人の思想なども関係するので、一概にこれがいいというのはないかもしれません。 プラグインを全く入れない人もいれば、100個以上入れる人もいます。 ただそれでも、これだ ...

VimとNeovimの比較 2

本記事では、VimとNeovimの違いについて、解説します。 VimとNeovimの違いについては、普段頻繁にVimなどを使う方でなければ、正直、あまり気にしなくてもいいかなと思います。 ただ、Vim ...

Ruby変数やすべてがオブジェクトについて 3

本記事は、Rubyの基礎文法である、変数や真偽値、論理演算子に触れると同時に、「すべてがオブジェクト」というRubyの特徴的な思想についても解説します。 この思想は、Rubyの文法の根幹になっているの ...

4

エンジニアにおすすめの技術書 書籍学習は、エンジニアの嗜みみたいなところがありますが、 良書というものは、意外とそこまで多くもありません。 そこで本記事では「技術書マニアの筆者が厳選した技術書20選」 ...

5

エンジニアになるには? プログラミングは、専門性が高く自分一人で勉強するのが大変に感じることも多いですよね。 そこで本記事では「おすすめのプログラミングスクール5選」を特徴と、現役エンジニア目線で優れ ...

-インフラ