next up previous contents
Next: 3 コマンド検索パス Up: UNIX 基礎演習 B 組 Previous: 1 シェル

Subsections


2 コマンド入力の支援機能

tcsh が持つコマンドの入力支援機能のうち,代表的なものを紹介します。 ここで取り上げる以外にもシェルには様々な機能がありますが,それらに興味が あればマニュアルや書籍,雑誌記事等を読んでみてください。

2.1 ヒストリ機能

2.1.1 ヒストリの一覧参照

次のコマンドを実行すると,これまでに実行したコマンド行の履歴 (ヒストリ; history) 一覧を表示できます。試してみましょう。

history

2.1.2 ヒストリの利用

ヒストリを利用して,過去に実行したコマンドを再実行できます。

ここで n には正の整数を,str には適当な文字列(通常はコマンド 名またはその始めの一部) を記述します。これらに続いて <ENTER> を押すと,当 該コマンド行の内容が実行されます。

2.1.2.1 練習

ホームディレクトリで以下を順に実行し,! の使い方を確かめてください。
ls -l .cshrc
!!
!-1 (数字の一)
!! .login
!l (エル)

2.2 コマンド行の補完

GNU Emacs において,ファイル読み込み時などに <TAB> による入力の補完 (completion) ができるように,コマンド行でもコマンド名やファイル名の入力 補完を利用できます。

<TAB> (補完)
CTRL-d (複数の補完候補がある場合の一覧表示)
CTRL-d はコマンド行に何か文字列をタイプした後で押してください。プロン プトに続いて CTRL-d を押すと,ワークステーション室のシステム (tcsh の 標準設定) では,シェルが終了してしまいます (ウィンドウが閉じる) 4

4.1.3 練習

  1. [コマンドの補完] コマンド行に his とタイプして <TAB> を押してみましょう。 続いて <ENTER> を押しましょう。
  2. [補完候補の表示] コマンド行に hi と打ってから <TAB> を押してみましょう。 続いて CTRL-d を打ってみましょう。
  3. s をタイプしてコマンド行を his としてから <TAB> を押し てみましょう。続いて <ENTER> を押しましょう。
  4. [ファイル名の補完] カレントディレクトリをホームディレクトリとし た後で,cat .csh に続いて<TAB> を押してみましょう。コマ ンド行が cat .cshrc になったら,続いて <ENTER> を押しましょう。

2.3 コマンド行の編集

GNU Emacs でのキー操作を用いて,コマンド行の内容を編集することができます 5

2.3.1 ヒストリ参照

Emacs でカーソルを上下方向に移動するための操作は,コマンド行では次の意味 を持ちます。

CTRL-p (一つ前のヒストリを表示), CTRL-n (一つ先のヒストリを表示)
Emacs におけるカーソルの上移動のキー操作 (CTRL-p) は,コマンド行ではヒ ストリを遡って表示するために使います。すなわち,CTRL-p を一回押すと, 一つ前に実行したコマンド行の内容が表示され,続いて CTRL-p を押すと二つ 前に実行したコマンド行の内容が表示されます。このようにヒストリを遡ってか ら,下移動のキー(CTRL-n) を押すと,最近のヒストリに戻っていきます。 この操作でコマンド行に現れる文字列は,以下に紹介するカーソル移動や消去, 貼り付けによって編集してから <ENTER> を押して実行することができます。

2.3.2 カーソル移動

コマンド行でのカーソル移動には

CTRL-a (行頭), CTRL-b (左), CTRL-f (右), CTRL-e (行末)
などが使えます。なお,カーソルをコマンド行の途中に移動させた状態で <ENTER> を押すと,カーソルの左側のみではなく,コマンド行の全体が実行され ます。従って,<ENTER> を押す前にカーソルを行末まで移動させる必要はありま せん。

2.3.3 消去と貼り付け

コマンド行において文字や文字列を消去するときにも Emacs のキー操作が使え ます。 また,消去した文字列をコマンド行に貼り付けることもできます。 よく使うのは次のものでしょう。

CTRL-d (カーソル位置の一文字削除; delete),
CTRL-k (カーソル位置から行末まで消去; kill),
CTRL-y (消去した文字(列)の貼り付け; yank)
これらは,CTRL-pやCTRL-nによるヒストリの表示と組み合わせて使うと便利 です。

2.3.4 練習

  1. ホームディレクトリで ls .cshrc を実行しましょう。続いて, CTRL-p でヒストリ表示を行ってから,コマンド行の編集機能を用いて, ls -l .cshrc を実行しましょう。

  2. ヒストリに保存されている文字列 .cshrc を使って,cat .cshrc を実行 します。 そのために CTRL-p, CTRL-b, CTRL-k を使って コマンド行の文字列 .cshrc を消去してから(ファイル .cshrc を消し てはいけません。),CTRL-n と CTRL-y で新しいコマンド行に貼り 付けてください。さらに, コマンド行の先頭 (CTRL-a) で cat とタイプして 実行してください。


next up previous contents
Next: 3 コマンド検索パス Up: UNIX 基礎演習 B 組 Previous: 1 シェル

平成18年1月25日