bash-completion と ターミナル Tips
補完機能を利用し、ターミナルを使ってみよう
近年、Linux の話題は GUI 中心の展開をしています。Windows 的なアプローチでは厄介者のイメージが強いかもしれないコマンド操作ですが、元々コマンドをシェルにしている Linux/UNIX には便利なコマンドラインツールがたくさんあります。ここでは、各コマンドの紹介、説明は行いませんが、bash を便利に拡張する bash-completion パッケージとコマンドを使い始めるための基礎の基礎、ターミナル利用の Tips をいくつか紹介します。
ここに書いた操作方法は GUI 画面のターミナル上でも、CUI のコンソールでも同様に使えます。CUI に馴染んでおけば「X が起動しない」とか、「レスキューモードに入らなければ」というときでも、落ち着いて作業できます。
bash-completion は bash の補完機能を大幅に拡張する Debian Linux 由来のパッケージです。
インストールすると、sudo に続くコマンドも補完の対象になります。また、コマンドだけでなくコマンドのオプション、引数なども補完が行えるようになります。一部ディストリビューションではデフォルトで bash-completion が有効になっているようですが、Vine Linux 6x では VinePlus パッケージにあり、別途インストール、設定が必要になります。
ディストリビューションのパッケージがある場合は、ディストリビューションの作法に従ってインストール、設定を行なってください。Vine Linux 6x では apt、synaptic などでインストールして、~/.bashrc に以下を追記します。
. /etc/profile.d/bash_completion.sh
すべてのユーザの .bashrc に追記する必要があります。追記後にターミナル/コンソールを再起動します。
mv コマンドを例に挙げます。
mv --[Tab]
すると、以下のようにオプションの一覧が表示されます。
--backup --no-target-directory --update --force --strip-trailing-slashes --verbose --help --suffix --version --interactive --suffix= --no-clobber --target-directory=
ここで、u [Tab] とすれば以下のように補完されます。
mv --update
「sudo mv --u」などとやっても補完されます。
注意: Meta キーは Alt で表現しています。
念の為、[tab] キーによる補完機能について復讐しておきましょう。
シェルといえば[tab]キーによる補完。コマンドを途中までタイプして [tab] キーを打てば、残りの部分は自動的に補完されます。例えば、Vine Linux のパッケージインストールアシストツール = vine-app-install をコマンドから起動する場合、
vine-a[Tab]
とすれば
vine-app-install
と補完されます。長いコマンド、typo しやすいコマンドほどありがたい機能です。
[↑]、[↓] で履歴をたどれます。[Ctrl] + [p]、[Ctrl] + [n] でも可能。
[Ctrl] + [r]で
「(reverse-i-search)`':」
と表示され、コマンド履歴のインクリメンタル検索モードになります。
このモードでタイピングすると、 `' 間にその文字列が表示され、文字列を含む直近の該当履歴が表示されていきます。さらに [Ctrl] + [r] すると、より以前の一致する履歴を検索・表示します。[Enter] で実行、[Esc] で通常の入力モード、[Ctrl] + [c]で実行せずに終了です。
ターミナルエミュレータではスクロールバーが表示され、画面に収まらなくなった後方部分を確認することは容易ですが、runlevel 3 の CUI 画面にはスクロールバーがありません。
CUI では [Shift] + [Page Up]、[Shift] + [Page Down] で隠れている領域までスクロールできます。
man はコマンドの使い方、説明のリファレンス (manpage) を表示するコマンドです。
man 調べたいコマンド名
通常、man コマンドは less コマンドを通して man ページを表示します。以下のキーバインドは ファイルを less で閲覧するときでも使えます。
man を表示後、[/] に続いて検索文字列をタイプします。
[?] に続いて検索文字をタイプします。
前方検索、後方検索ともに、検索した単語のさらに次候補を検索するには [n] 、前候補に戻るには [N] ([Shift] + [n])をタイプします。
[m] に続いてアルファベットキーを一文字タイプして設定します。ブックマークは複数設定できます。
['] に続いて設定したアルファベットをタイプします。
注意:ここでは、現在ターミナル/コンソールに表示されている部分を「画面」「ページ」としています。
[↓]
[Ctrl] + [n]
[↑]
[Ctrl] + [p]
[Space]
[Ctrl] + [f]
[Ctrl] + [v]
[b]
[Ctrl] + [b]
[Alt] + [v]
[g]
[<]
[G] ([Shift] + [g])
[>]
less のコマンド概要は [h] で見れます。
[q]
exit [Enter]
[Ctrl] + [d]
以下の記述を ~/.bashrc に追加すると、デフォルトの「manual page (man ページ名) (行数)」表示を「/:検索 ?:逆検索 n:次検索 N:前検索 <:文頭 >:文末 h:ヘルプ」という簡易ヘルプに入れ替えることができます。
alias man="man -r \"\ /\:検索 \?\:逆検索 n\:次検索 N\:前検索 < >< h\:ヘルプ\""
この部分は表示文字数に制限があるようなので、デフォルト表示と使い分けたい場合は、man の alias にせず、別名コマンドとして alias すればよいでしょう。
alias man="manhelp -r \"\ /\:検索 \?\:逆検索 n\:次検索 N\:前検索 < >< h\:ヘルプ\""
ごくごく基本的な操作方法を挙げたつもりですが、「必須の操作法」というのは人によって異なっているかもしれません。ここに挙げた操作に、紹介した以外のキーバインドがある場合もありますが、複数のキーバインドがある操作は、好みでひとつだけ選んで憶えてかまわないと思います。