ターミナルを使ってみよう

bash-completion と ターミナル Tips

Last Update 2012年 4月 23日

補完機能を利用し、ターミナルを使ってみよう

近年、Linux の話題は GUI 中心の展開をしています。Windows 的なアプローチでは厄介者のイメージが強いかもしれないコマンド操作ですが、元々コマンドをシェルにしている Linux/UNIX には便利なコマンドラインツールがたくさんあります。ここでは、各コマンドの紹介、説明は行いませんが、bash を便利に拡張する bash-completion パッケージとコマンドを使い始めるための基礎の基礎、ターミナル利用の Tips をいくつか紹介します。
ここに書いた操作方法は GUI 画面のターミナル上でも、CUI のコンソールでも同様に使えます。CUI に馴染んでおけば「X が起動しない」とか、「レスキューモードに入らなければ」というときでも、落ち着いて作業できます。

bash-completion

bash-completion は bash の補完機能を大幅に拡張する Debian Linux 由来のパッケージです。
インストールすると、sudo に続くコマンドも補完の対象になります。また、コマンドだけでなくコマンドのオプション、引数なども補完が行えるようになります。一部ディストリビューションではデフォルトで bash-completion が有効になっているようですが、Vine Linux 6x では VinePlus パッケージにあり、別途インストール、設定が必要になります。

bash-completion のインストール

ディストリビューションのパッケージがある場合は、ディストリビューションの作法に従ってインストール、設定を行なってください。Vine Linux 6x では apt、synaptic などでインストールして、~/.bashrc に以下を追記します。

. /etc/profile.d/bash_completion.sh

すべてのユーザの .bashrc に追記する必要があります。追記後にターミナル/コンソールを再起動します。

bash-completion によるコマンドオプション補完の例

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」などとやっても補完されます。

bash の機能

注意: Meta キーは Alt で表現しています。

Tab キーによる補完機能

念の為、[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]で実行せずに終了です。

CUI ログイン時の画面のスクロールバック

ターミナルエミュレータではスクロールバーが表示され、画面に収まらなくなった後方部分を確認することは容易ですが、runlevel 3 の CUI 画面にはスクロールバーがありません。
CUI では [Shift] + [Page Up][Shift] + [Page Down] で隠れている領域までスクロールできます。

man を使う

man はコマンドの使い方、説明のリファレンス (manpage) を表示するコマンドです。

man 調べたいコマンド名

通常、man コマンドは less コマンドを通して man ページを表示します。以下のキーバインドは ファイルを less で閲覧するときでも使えます。

man ページ内を検索

後方検索

man を表示後、[/] に続いて検索文字列をタイプします。

前方検索

[?] に続いて検索文字をタイプします。

前方検索、後方検索ともに、検索した単語のさらに次候補を検索するには [n] 、前候補に戻るには [N] ([Shift] + [n])をタイプします。

文書内をブックマーク

ブックマークを設定

[m] に続いてアルファベットキーを一文字タイプして設定します。ブックマークは複数設定できます。

設定したブックマークにジャンプ

['] に続いて設定したアルファベットをタイプします。

行・画面の移動

注意:ここでは、現在ターミナル/コンソールに表示されている部分を「画面」「ページ」としています。

1 行送る(下記のどれでもひとつ)

[↓]
[Ctrl] + [n]

1 行戻る(下記のどれでもひとつ)

[↑]
[Ctrl] + [p]

1 ページ送る(下記のどれでもひとつ)

[Space]
[Ctrl] + [f]
[Ctrl] + [v]

1 ページ戻る(下記のどれでもひとつ)

[b]
[Ctrl] + [b]
[Alt] + [v]

ファイルの先頭に戻る(下記のどれでもひとつ)

[g]
[<]

ファイルの末尾に移動(下記のどれでもひとつ)

[G] ([Shift] + [g])
[>]

SUMMARY OF LESS COMMANDS

less のコマンド概要は [h] で見れます。

man、lessの終了

[q]

ターミナル、コンソールログインの終了

下記のいずれか

exit [Enter]

[Ctrl] + [d]

man ページ閲覧時の簡単なヘルプを表示するコマンド alias 例

以下の記述を ~/.bashrc に追加すると、デフォルトの「manual page (man ページ名) (行数)」表示を「/:検索 ?:逆検索 n:次検索 N:前検索 <:文頭 >:文末 h:ヘルプ」という簡易ヘルプに入れ替えることができます。

alias man="man -r \"\ /\:検索 \?\:逆検索 n\:次検索 N\:前検索 < >< h\:ヘルプ\""

この部分は表示文字数に制限があるようなので、デフォルト表示と使い分けたい場合は、man の alias にせず、別名コマンドとして alias すればよいでしょう。

alias man="manhelp -r \"\ /\:検索 \?\:逆検索 n\:次検索 N\:前検索 < >< h\:ヘルプ\""

最後に

ごくごく基本的な操作方法を挙げたつもりですが、「必須の操作法」というのは人によって異なっているかもしれません。ここに挙げた操作に、紹介した以外のキーバインドがある場合もありますが、複数のキーバインドがある操作は、好みでひとつだけ選んで憶えてかまわないと思います。

NOTE

インクリメンタル検索
「逐次検索」などと訳されます。タイピングを進めるたびに自動的に検索対象を絞り込んでいく検索形式です。

本文に戻る

ターミナルエミュレータ
GUI 画面にコンソールの機能を実現する機能です。単に「ターミナル」ともいいます。
xterm、gnome-terminal、mlterm、sakura、lxterminal、rxvt-unicode など、多種なターミナルプログラムがあります。
ターミナルエミュレータでは、スクロールバックできるヒストリー行数(ログサイズ)を設定できるものがあります。

本文に戻る

runlevel 3
GUI を使わないコンソールログイン。

本文に戻る

inserted by FC2 system