便利シェル「fish」を使う(その1)

【連載】

にわか管理者のためのLinux運用入門

【第70回】便利シェル「fish」を使う(その1)

[2017/04/18 07:30]後藤大地 ブックマーク ブックマーク

サーバ/ストレージ

Linuxサーバにログインして管理業務を行う場合、ユーザーが触れることになるのは、そのユーザーに設定されたインタラクティブシェルになることが多い。多くのLinuxディストリビューションでは、インタラクティブシェルとして「bash」が使われている。Macもデフォルトのインタラクティブシェルはbashだし、Windows 10で動作するLinux(Windows Subsystem for Linux)でもデフォルトのインタラクティブシェルはbashだ。

確かにbashは便利なインタラクティブシェルだが、もっと便利なインタラクティブシェルがある。「可能な限り、作業を楽にこなしたい」という趣旨のこの連載にぴったりのシェル、その名は「fish」だ。設定不要で最初から使えるように組まれている。

残念な点は、Linuxディストリビューションによってはインストールが面倒くさいということだ。各Linuxディストリビューションでのインストール方法はfishの公式サイトを参考にしていただきたいが、代表的なものをいくつか紹介しておこう。

fishインストール(Red Hat Enterprise Linux 7)

fishインストール(CentOS 7)

fishインストール(Ubuntu)

fishインストール(Mac / Homebrew)

fishインストール(FreeBSD)

MacやFreeBSDのようにfishがパッケージに取り込まれているものはインストールが簡単なのだが、Red Hat Enterprise LinuxやCentOSのようにオフィシャルパッケージに含まれていない場合には注意が必要だ。場合によっては、上記の方法ではインストールできないことがある。

対処法としては、ソースコードをダウンロードし、依存するライブラリとビルドツールを揃えて自分でコンパイル・インストールすればよいのだが、そこまでやるのは本連載の趣旨に反する。もし手元で試してみてうまくインストールできなかったら、今回は「そういうシェルもあるのだな」と参考程度に読んでいただければと思う。

さて、インストールが完了したらユーザーのシェルをfishに変えてみる。まずは「/etc/shells」ファイルにfishが追加されていることを確認し、入っていない場合にはインストールされたfishのパスを追加しておく。


# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/bin/fish
/usr/sbin/nologin
#

ここまで準備したら、「chsh」コマンドを実行する。そこでfishのパスを入力して保存すれば準備完了だ。いったんログアウトして、もう一度ログインすれば、シェルがbashからfishに切り替わる。

fishの機能は、bashやzshといったほかの多機能インタラクティブシェルでも提供されている。ただし、fishではそうした機能を特に設定しなくても最初から使うことができる上、補完候補の表示機能が賢い。カレントディレクトを加味して補完候補を出してくれるし、一覧表示も扱いやすい。一覧表示中にフィルタリングして候補を絞り込むといったこともできる。

しかも、覚えるべきショートカットキーの数が少ないという特徴がある。補完候補を表示させたり、移動したりするのならタブキー、表示される補完候補を展開するのであれば「Ctrl-F」だ。

タブキーで保管候補をリスト表示

補完候補自動表示をCtrl-Fで展開

とにかく困ったら、タブキーかCtrl-Fキーを押すといい具合に操作が進むようになっていて、いったん馴れると手放せない。本連載では、次回から数回にわたってこのfishの便利な使い方を紹介していこう。

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

関連リンク

2644
2
【連載】にわか管理者のためのLinux運用入門 [70] 便利シェル「fish」を使う(その1)
Linuxサーバにログインして管理業務を行う場合、ユーザーが触れることになるのは、そのユーザーに設定されたインタラクティブシェルになることが多い。多くのLinuxディストリビューションでは、インタラクティブシェルとして「bash」が使われている。確かにbashは便利なインタラクティブシェルだが、もっと便利なインタラクティブシェルがある。「可能な限り、作業を楽にこなしたい」という趣旨のこの連載にぴったりのシェル、その名は「fish」だ。
https://news.mynavi.jp/itsearch/assets_c/2017/04/Linux70_006-thumb-300xauto-9861.jpg
Linuxサーバにログインして管理業務を行う場合、ユーザーが触れることになるのは、そのユーザーに設定されたインタラクティブシェルになることが多い。多くのLinuxディストリビューションでは、インタラクティブシェルとして「bash」が使われている。確かにbashは便利なインタラクティブシェルだが、もっと便利なインタラクティブシェルがある。「可能な限り、作業を楽にこなしたい」という趣旨のこの連載にぴったりのシェル、その名は「fish」だ。

会員登録(無料)

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

ページの先頭に戻る