CentOS8でexaを使いたい


ある日(今日)、Qiitaにアクセスするとトレンドに以下の記事が上がっていた。

(ちなみに私は「たけのこの里」派です。記事、面白かったです)

ls よりも exa を使おう!モダンな Linux コマンド達を紹介

はー…すっごいカラフル…。
別に派手なものが好きというわけではないですが、入れてみたくなったので入れてみましょう。

導入方法を確認

まずは該当のGitへアクセスし、導入方法を確認してみましょう。

…これは、$ yum installで出来ないタイプじゃな?
Linuxに触り始めて間もない身ではありますが、仮想環境に立てたCentOSですし、やりたい放題にしちゃいましょ。

というわけで、ソースからビルドして/usr/local/binへ配置する方法でいきます。

Rust実行環境の整備

今回入れようとしているexaは、Rustで書かれています。
なので、Rust実行環境の整備から始めます。

公式より提供されている、rustupを使います。

terminal
$ sudo curl https://sh.rustup.rs -sSf | sh

curlコマンドを使って、対象URIへGETリクエストの発行。
進捗は出さなくてもいいけど、エラーは出してね。(-sS)
宛先からエラーが返ってきたら、長い文章じゃなくてステータス「22」を返してね(-f)
そしてそのままshコマンドで実行するね。

terminal
…
Rust is installed now. Great!

To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH
environment variable. Next time you log in this will be done
automatically.

To configure your current shell run source $HOME/.cargo/env

「インストール終わったよ。やったね!」と言われたのでたぶんおっけー。
PATHを通してね、と言われたので通します。
(今すぐ使いたいなら、直でsourceコマンド叩いてね)

~/.bash_profile
export PATH="$HOME/.cargo/bin:$PATH"
terminal
$ source ~/.bash_profile

terminalを再起動してー、バージョン確認。

terminal
$ rustc --version
rustc 1.41.1 (f3e1a954d 2020-02-24)

おっけおっけ。

cargoを使ってインストールする

当初の想定だと、Gitからexaのソースを入手して、それをビルドと考えていたのですが、cargo installでいけそうな気がしてきた。やってみる。

terminal
$ cargo install exa

cargoにより、exaのバイナリをもってきて、それをビルドする。

terminal
…
Installed package `exa v0.9.0` (executable `exa`)

やったね!

すっごいカラフル!
公式によると、「--no-user」というUserフィールドを非表示にするオプションがあるようですが、そんな引数ないよと怒られてしまいました。

terminal
$ exa -lh --no-user
Unknown argument --no-user

$ exa -l --no-user
Unknown argument --no-user

$ exa --no-user
Unknown argument --no-user

$ exa --no-user -l
Unknown argument --no-user

よくわかんない。

参考リンク

ls よりも exa を使おう!モダンな Linux コマンド達を紹介

Rust公式のインストール手順