UNIXコマンドの基礎
UNIX(ユニックス)はオペレーティングシステム(OS)※の一種である。1969年に開発された古いOSであるが様々な派生版が作成され、またFreeBSDやLinuxなどのフリーでオープンソースなものも現れたこともあって、現在でもサーバやワークステーションといった大型のコンピュータからスマートフォンなどの携帯機器に至るまで広く使用されている。MacのOSであるmacOSもUNIXの派生版である。
※コンピュータのハードウェアの制御、メモリ管理、ファイル管理、通信機能、複数のタスクのスケジューリング、といった、様々なソフトウェアで共通に使用する機能を提供したり、ソフトウェアの実行を制御するための基本ソフトウェアのこと。
UNIXで人間がコンピュータに指示を出すためには、コマンドと呼ばれる単語をキーボードで入力する。また、コマンドに対するコンピュータの返答も文字だけである。UNIXが開発された当時はコンピュータグラフィクスはまだ一般的ではなかったのである。現在のグラフィクスを使ったユーザインタフェースのことはGUI (Graphical User Interface) と呼ばれるが、それと対比して、コマンドによるユーザインタフェースはCUI (Character User Interface または Command User Interface など) と呼ばれたりすることもある。
GUI全盛の現代において一般ユーザがCUIを使うことはほとんど無くなったが、技術者としては最低限の操作方法は知っている必要があるだろう。OSの深部を操作する、ネットワーク越しに別のコンピュータを遠隔操作する、といった場合にはコマンドが不可欠になる。また、同じような手順の繰り返しといったGUIでは面倒な操作もコマンドであれば一発で解決できることもある。あるいはシェルスクリプトという一種のプログラムを使って複雑な操作を自動化することも可能である。
コマンドのためのキータイプの基本
まず、コマンドを入力するためのキーボード操作についておさらいしておこう。
- コマンド入力には英数字と記号のみを使用する。日本語(いわゆる全角文字)はファイル名を指定する場合などを除いて基本使わない。
- アルファベットと数字を入力するにはキートップに書いてあるとおりのキーをタイプする。タイプとは、キーを押して離すことである。
- 大文字を入力するにはShiftキーを押しながらアルファベットキーをタイプする。コマンドでは大文字と小文字は区別されるので注意。また、コマンド自体は通常は小文字のみである(が、現在のmacOSでは、コマンドの大文字は自動的に小文字に変換してくれるようだ)。
- 記号(~や*など)を入力するには該当キー、あるいはShiftキーを押しながら該当キーをタイプする。
- Deleteキーをタイプすると1文字消去される。
- Controlキー、Tabキーを使うこともある。
Controlキーは、押しながらアルファベットなどをタイプする。この操作をCtrl+xあるいはC-xと表記する。 - コマンド入力の最後にはReturnキーをタイプする。
ターミナル
macOSでの操作の基本はGUIである(Macは1984年発売時からGUIでの操作が特徴だったのだ)。なので、コマンドで操作するためには「ターミナル」アプリを使う。「ターミナル」アプリは「アプリケーション」フォルダの中の「ユーティリティ」フォルダの中にある※。
※Launchpadから起動する場合は「その他」の中にある。


今後よく使うことになるのですぐに起動できるように、必ずDockに登録しておこう。
ターミナルterminalとは「端末」という意味である。昔のコンピュータは現在のように一人一台使えるような安価なものではなく、大型のコンピュータを複数のユーザが共用するのが基本であった。端末は、ユーザが使うための窓口に相当する機械である。写真は標準的な端末であるVT100である。「ターミナル」アプリは、このVT100をソフトウェアで再現したものである。
「ターミナル」を起動すると次のようなウィンドウが表示される(表示される文字は使用環境に応じて異なる)。
1行目の"Last login:..."は、前回最後に使用した時刻と使用環境を表示している。誰かが勝手に使っていないか確認する、などの意味があるが、パソコンを共有せず一人で使っている分にはあまり気にしなくてよいだろう。
2行目は使用環境によって異なる(この部分の読み方が気になる人は下の赤枠を読んで欲しい)。最後に灰色の■が表示されている。設定によっては|(縦棒)になっていたり、点滅しているかもしれない。この■はカーソルcursorと呼ばれ、文字の入力位置を表している(ワープロと同じである)。つまり、2行目はターミナルがユーザからの入力を待っている状態を表しており、コマンドプロンプト prompt(あるいは単にプロンプト)と呼ばれる。
プロンプトの表示の意味:@まではユーザ名、@の後ろはMacに設定されたコンピュータの名前。スペースを空けて、現在作業中のディレクトリ。最後の%はプロンプトの最後であることを表している。上のスクリーンショットの例では、giantという名前のコンピュータのmminaというユーザが~(ホームディレクトリ)で作業中という意味。~についてはファイルシステムの回で説明する。なお、この表示パタンは初期設定であり、どのような情報をどのように表示するかは設定ファイルできめ細かく設定することが可能になっている。
なお、古いMacではbshがデフォルト設定だったため、次のとおりとなる:
スペースまで(~まで)の左側は、コンピュータの名前と現在作業中のディレクトリを表示している。ディレクトリについては後述する。スペース以降の右側は現在使用しているユーザ名と、プロンプトの最後であることを表す%が表示されている。
なお、標準状態では文字が小さくて読みにくいかもしれないので、「環境設定」メニューでフォントの大きさを変えるなどして見かけを好みに調整するとよいだろう。文字が小さいと間違いに気付きにくいのである程度大きくすることを強く推奨する。
ただし、フォントの種類は慣れるまで変更しない方がよい。初期設定のフォントは、0とO、1とlとIといった似た文字が区別しやすくなるような字体となっている。
ターミナル用のフォントでは0(ゼロ)はO(オー)と区別しやすいように斜線や点が輪の中に描かれている。
コマンド操作の基本
コマンド command は、コンピュータが提供する機能を呼び出すための呪文だと思えばよいだろう。実際は、それぞれの機能に応じてソフトウェアが用意されていて、そのソフトウェアを指定して実行するための操作がコマンドである。GUIではアイコンをダブルクリックしてソフトウエアを起動するが、CUIではソフトウェアの名前を直接入力するのである。
コマンドによる操作は次のような流れになる:
- コンピュータがコマンド入力を待つ(プロンプトを表示している)。
- ユーザがコマンドをタイプし、最後に入力完了を意味するReturnキーをタイプする。
- コンピュータは入力されたコマンドを実行する。コマンドによっては実行結果をターミナルに表示する。
- 1.に戻る。
ごく簡単なコマンド
まず手始めに、ごく簡単なコマンドを試してみよう。なお、本資料ではプロンプトは単に%のみを示すことにする。プロンプトの右側の単語がコマンドである。コマンド入力の最後にReturnをタイプするのを忘れずに。
% date 2021年 2月16日 火曜日 11時53分15秒 JST % ▌
dateコマンドは現在の時刻を表示するコマンドである(JSTは日本標準時の意味)。
コマンドは間違いを許さない。コマンド名を間違えると次のようなエラーメッセージが出る。
% data zsh: command not found: data % dete zsh: command not found: dete % ▌
"command not found"は「コマンドが見つかりません」という意味。これくらいの英語は臆せず読むようにしよう(なお、英文法としては完全な文になっていないが、日常的な英語は結構いい加減な感じで使われている)。最後の date とか dete は見つからなかったコマンドを表示している。人間が"date"という単語を"deta"とか"dete"と間違ったとしても、コンピュータにとって間違ったとは分からずに、単にそのようなコマンドは存在しない、というエラーを返す。もし仮に間違った単語に相当するコマンドが存在していたとすると、コンピュータはそのままそのコマンドを実行してしまう。
もう一つ別のコマンドを実行してみよう。
% cal
2月 2021
日 月 火 水 木 金 土
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28
% ▌
calコマンドは今月のカレンダーを表示するコマンドである(calendarのcal)。上の実行例は閲覧環境によってはフォントの違いのためずれて見えるかもしれないが、ターミナルではちゃんと揃って表示されると思う。
引数とオプション
calコマンドは単独で実行すると今月のカレンダーを表示するが、月と年を与えて指定した月のカレンダーを表示させることもできる。
% cal 3 2011 3月 2011 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 % ▌
このように、コマンド名に続けて、コマンドの動作に必要な情報を与えることがある。これを引数(ひきすう)と呼ぶ。上の例では"3"や"2011"が引数である。コマンドと引数、引数と引数の間にはスペースを入れる。どのようなコマンドがどのような引数を受け取ることができるか、引数の順番や意味などはコマンドによって決まっている。calの引数は英語的に月→年の順序で指定することになっている。
練習 自分の生まれた年月のカレンダーを表示してみよう。
次に、calコマンドに"-y"を付けてみよう。
% cal -y
2021
1月 2月 3月
日 月 火 水 木 金 土 日 月 火 水 木 金 土 日 月 火 水 木 金 土
1 2 1 2 3 4 5 6 1 2 3 4 5 6
3 4 5 6 7 8 9 7 8 9 10 11 12 13 7 8 9 10 11 12 13
10 11 12 13 14 15 16 14 15 16 17 18 19 20 14 15 16 17 18 19 20
17 18 19 20 21 22 23 21 22 23 24 25 26 27 21 22 23 24 25 26 27
24 25 26 27 28 29 30 28 28 29 30 31
31
4月 5月 6月
日 月 火 水 木 金 土 日 月 火 水 木 金 土 日 月 火 水 木 金 土
1 2 3 1 1 2 3 4 5
4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12
11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19
18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26
25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30
30 31
7月 8月 9月
日 月 火 水 木 金 土 日 月 火 水 木 金 土 日 月 火 水 木 金 土
1 2 3 1 2 3 4 5 6 7 1 2 3 4
4 5 6 7 8 9 10 8 9 10 11 12 13 14 5 6 7 8 9 10 11
11 12 13 14 15 16 17 15 16 17 18 19 20 21 12 13 14 15 16 17 18
18 19 20 21 22 23 24 22 23 24 25 26 27 28 19 20 21 22 23 24 25
25 26 27 28 29 30 31 29 30 31 26 27 28 29 30
10月 11月 12月
日 月 火 水 木 金 土 日 月 火 水 木 金 土 日 月 火 水 木 金 土
1 2 1 2 3 4 5 6 1 2 3 4
3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
31
% ▌
すると今月だけでなく、1年分のカレンダーが表示される(上の例はフォントの違いでずれて表示されているかもしれない)。yはyearのyである。
このように、コマンドの挙動を変化させる指示をオプションと呼ぶ。多くのコマンドのオプションは"-y"のような-とアルファベット一文字の組み合わせであるが、中には単語になっていたり、-が無いオプションがあったり、オプションの次に引数をとったり、と様々である。いずれにしてもコマンドによって異なるので、詳しいところはコマンドの使い方を調べなければならない(後述)。
対話型コマンド
もう一つの実行形態のコマンドの例も見ておこう。bcは電卓コマンドである(本当はプログラムによる高度な計算もできる)。
% bc Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. ▌
bcコマンドを入力すると、このようにメッセージを表示して止まってしまったように見える。これは計算式の入力を待っている状態である。試しに何か計算式を入力すると、計算結果を表示する(×の代わりに*を使う)。
% bc Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 1+2*3-4 3 ▌
練習 いろいろな計算式を与えてみよう。
÷の代わりに/を使う。割り算は整数で計算して小数点以下を切り捨てるので、答が変に感じることがあるかもしれない。例えば1+2*3/4を計算してみよう。
bcコマンドを終了させるには"quit"と入力する。
% bc Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 1+2*3-4 3 quit % ▌
このような、実行中にユーザからの入力を待って対応するコマンドを対話型コマンドなどと呼んだりする。
コマンドの使い方を調べる
コマンドがどのような機能を持つのか、どのような引数を与える必要があるのか、どのようなオプションが用意されているか、といったように、使い方を調べる必要がある。使い方すべてを覚える必要はない。どのようにして調べればよいか、を覚えればよい。
ちなみに、大学での学びは授業で教えられることだけをやっていれば良いのではない。教えられた内容も重要であるが、それ以上に、調べ方を覚える、自ら知らない知識を調べて得る、得た知識を自分の頭で咀嚼(そしゃく)して理解する、といったことが重要で不可欠となる。
調べ方としては、とりあえず次の3つくらいがあるだろう:
- コマンドを実行してみる
とりあえず実行してみて何が返ってくるかを観察する。引数が必要不可欠なコマンドの場合は簡単な使い方の説明を表示するコマンドも多い。また、無効なオプションや、ヘルプ表示のオプション(多くの場合-hあるいは-helpなど)を付けて実行してみても説明が表示されるかもしれない。
次の例はdateコマンドに-hを付けて実行してみた例である。"illegal option"と、無効なオプションであるエラーを報告しつつ、"usage"とコマンドの書式を表示している。一般的に、[]で囲まれた部分はあってもなくてもよい、|はどちらか、という意味である。
% date -h date: illegal option -- h usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ... [-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format] % ▌
- オンラインマニュアルを読む
コマンドの説明書を表示するコマンドとしてmanコマンド(manual=説明書のman)が用意されている。manコマンドの引数には調べたいコマンド名を与える。例えばdateコマンドの説明書は次のコマンドで(manとdateの間にスペースを忘れないように!!)、
% man date
次のように表示される(表示量はターミナルのウィンドウの大きさによって異なる)。DATE(1) BSD General Commands Manual DATE(1) NAME date -- display or set date and time SYNOPSIS date [-ju] [-r seconds] [-v [+|-]val[ymwdHMS]] ... [+output_fmt] date [-jnu] [[[mm]dd]HH]MM[[cc]yy][.ss] date [-jnu] -f input_fmt new_date [+output_fmt] date [-d dst] [-t minutes_west] DESCRIPTION When invoked without arguments, the date utility displays the current date and time. Otherwise, depending on the options specified, date will set the date and time or print it in a user-defined way. The date utility displays the date and time read from the kernel clock. :
1ページに収まらないので、キー操作でページを切り替えられるようになっている(最後の:はコマンド待ち状態を示している)。次のページに進む時はfまたはspaceキー、前のページに戻る時はbをタイプする。また、Returnキーで1行進み、yキーで1行戻る。表示を終了したいときはqをタイプする。manコマンドの表示にはmoreコマンドを使っている。他にも沢山の操作キーの使い方が用意されている。moreコマンドの説明もman moreで表示できる。
これを読むと、dateコマンドは時刻を表示するだけでなく、時刻を設定するためにも使えるコマンドであることがわかる。今時のコンピュータはインターネット上の時計サーバから正確な時刻を取得して自動的に時計合わせするので手で設定する必要性はあまりないが、開発したソフトウェアがどの時刻でも正しく動作するか確かめるためなどの用途では必要になるかもしれない。
残念ながらmacOSでのmanコマンドで表示される説明は英語のみであるが、英語の勉強も兼ねて頑張って読んでみよう。練習 他のコマンドの説明もmanコマンドで見てみよう。
- Webで検索する
現在では調べものをするにはWebを使うのが便利である。練習 dateコマンドの使い方をWebで検索してみよう。
検索には少しコツが必要となる。"date"だけでは単なる英単語として認識され、辞書サイトしか検索されないかもしれない。「date コマンド」のように、少し検索語を工夫して追加してやると欲しい情報が得られるだろう。
ただし、検索結果には注意する必要がある。まず、同じコマンドでもOSによって細かく使い方が違う場合があること。また、説明がすべて書かれているとは限らないこと。そして、Web上の情報は正しいとは限らないこと。これらの点に注意して活用して欲しい。Web上の情報の多くはボランティア的に発信されているものも多いので、間違っているからといって即非難してはいけない。また、恩返し的に、自分が提供できる情報を発信することも考えよう。
コマンド自体をどうやって調べるか
コマンド名を知っていれば使い方は前節のようにして調べることができる。が、そもそもどんなコマンドがあるのかをどうやって調べればよいのだろうか?
これについてはよい方法は無い。UNIXには大量のコマンドが標準で用意されている。さらに、非標準のコマンドを追加することもできるし、自作のプログラムですらコマンドとして使うこともできる。よって、すべてのコマンドを覚えるのは諦めた方が良い(コマンドを極めたいなら話は別だが)。「UNIXコマンド集」のような書籍やWebページもあるので、こういった情報源を駆使してやりたいことができるコマンドを探していくとよい。入門本を読んで試してみるのもよい。経験を積んだ人に教えてもらうのもよいだろう。
よく使うコマンドは覚えていこう。逆に言うと、使わないと覚えられないのは当然なので、積極的に使っていこう。何がよく使うコマンドか、はどのような作業を行うかに依存するが、大量のコマンドのうちのほとんどは滅多に使われないものである。例えば上記のcalは、もっと良いカレンダーアプリが存在する現在ではほとんど使われることがないだろう。dateコマンドは時刻を見るだけならあまり使わないかもしれないが、他のコマンドと組み合わせて時刻を記録するような用途に使われたりする。一般的によく使うものとしては、ファイル操作関連のコマンドが挙げられる。コンピュータ上での作業の大半はファイル操作であるという分析もあるようである。また、ネットワーク越しに別のコンピュータを使うためのコマンドなども覚えておくべきだろう。これらについては本演習で扱っていく。
コマンドで困ったときは
コマンド操作をしていると、誤った操作をしたりコマンドの使い方を間違ったりして、ターミナルの表示が変わらない、表示が崩れてしまう、プロンプトが表示されず入力できない、といったおかしな状態になってしまうことがある。そのような場合は次の方法を試すとよい。
- Ctrl+cをタイプする
実行中のコマンド(プログラム)を強制終了させることができる。コマンドが止まってしまって反応が無いように見える場合などに有効。1回でダメでも何回かCtrl+cをタイプすると効く場合もある。 - Ctrl+qをタイプする
キー入力しても入力されない場合に有効なことがある。Ctrl+sはターミナルをロックさせてしまうことがあり、それを解除するのがCtrl+qである。 - Ctrl+zをタイプする
Ctrl+zは実行中のコマンド(プログラム)を停止させる(Ctrl+cとの違いに注意)。停止しただけなので強制終了させるために、同じターミナルで「kill %%」(killと%%の間にはスペースが必要)コマンドを実行しておく。
killコマンドはプロセス(実行中のプログラム)を強制終了させる機能を持つ。引数である%%は「さっき停止させたプロセス」を指定する記法。なお、killで強制終了できない場合は、さらに強制的に終了させる「kill -KILL %%」(あるいは「kill -9 %%」)を試すとよい。
- ターミナルのウィンドウを閉じる
かなり無理矢理な対応法。手っ取り早そうに見えるが、異常状態のコマンド(プログラム)が実行されたまま残ってしまうこともあるので注意が必要。まず上の3つを試してからにしよう。 - ログアウトする
さらに無理矢理な対応法。OS全体に影響するような異常でなければ大抵はこれでなんとかなる。 - 再起動する
究極の対応法。電源を切ってしまえばなんとかなる。が、OS自体を壊してしまっている場合はどうしようもない。
以上の対応法は標準のコマンドに限らず、ターミナル上で実行する自作のプログラムでも同様である。今後プログラミングをやっていくと頻繁に使うことになるだろう。少なくともCtrl+cは覚えておくこと。
練習
catコマンドを実行してCtrl-cで中断させよう。catコマンドの機能と正しい使い方を調べてみよう。bcコマンドもCtrl-cで中断させてみよう。英語だからといって表示されたメッセージから目を背けないように!!
シェル
以上のように、コマンド操作はターミナルアプリ上でユーザが入力を行い、コンピュータがコマンドを実行して結果を表示する、ということの繰り返しとなる。ユーザとコンピュータが対話しているかのように進行するので、このような操作形式は「対話型操作 interactive operation」と呼ばれる。
ところで、コマンドはUNIX OSの一部として提供されている。このOSの中核部分はカーネルkernelと呼ばれるが、カーネル自体は対話機能、すなわちユーザからの入力を待ってコマンドを実行し結果を返す機能は持っていない。コマンド操作はターミナルアプリ上で行っているが、実際にはターミナルアプリはVT100という端末機械をソフトウェアで再現しているだけの機能しかない。対話型操作を実現するために別途、ユーザとカーネルの橋渡しをしてくれるプログラムが存在している。
このような特別なプログラムをシェル shell と呼ぶ。シェルの機能としてはコマンドを実行する以外にも、コマンド入力を補助する、コマンドが実行する際に参照する設定値(環境変数と呼ばれる)を管理する、シェルスクリプトと呼ばれるコマンドの自動実行スクリプト(プログラムの一種)を解釈して実行する、といった様々な機能を有している。
シェルには有名なものだけでも sh, bsh, csh, tcsh, ksh, zsh など様々あるが、最新のmacOS(Catalina以降)ではzshが標準で使用されている(Mojave以前はbash)※。シェルの機能は豊富ですべてをマスターするのは大変である。本演習ではコマンド入力の補助機能を紹介する程度にとどめておく。
※macOSにはバージョン毎に地名の名称が付いている。Macを使うならば覚えておこう。
ヒストリ機能
シェルは過去に入力・実行したコマンドの履歴を記録しており、呼び出して再利用することができる。この機能をヒストリ history 機能と呼ぶ。
記録されているコマンド履歴を表示するにはhistoryコマンドを使う。
練習 historyコマンドを実行して履歴を確認しよう。
左側は何個目の履歴かを表す番号である。数字以降は入力されたコマンドの内容である。履歴が沢山表示されて見にくい場合はオプションに数字を与えれば、遡って表示する個数を指定できる。
履歴を呼び出してコマンドを再実行する場合、次の2つの方法がある:
- 履歴の番号を指定して実行する
!(エクスクラメーションマーク、感嘆符、びっくりマーク)に続けて履歴の番号を入力し、Returnキーをタイプすれば、対応する番号のコマンドが再実行できる。直前のコマンドは!!で再実行できる。
練習 !を使った再実行を試してみよう。
!を使った呼び出し方法には他にも幾つかの書き方がある。興味があったら調べてみよう。
- 対話的に履歴を呼び出す
1つ前のコマンドを呼び出すには↑キー(上向きのカーソルキー)またはCtrl+pを使う。連続してタイプすると過去の履歴に遡って呼び出せる。戻り過ぎた場合は↓キー(下向きのカーソルキー)またはCtrl+nを使う。所望のコマンドが表示された状態でReturnキーをタイプすれば再実行できる。プログラミングの作業時には大変便利なので必ず覚えておこう。
pはprevious(前の)のp、nはnextのn。このようなキー設定は後に学習するテキストエディタでも同じであることが多い。カーソルキーを使うにはホームポジションから手が離れてしまうので、プロのプログラマにはCtrlを使う操作の方を好む人が多い(と思う)。
練習 対話的に履歴を呼び出して実行してみよう。
コマンドラインの編集
入力中のコマンドラインはカーソルを移動させて編集(修正)することもできる。一旦入力したものの間違いに気づいたり、履歴で呼び出したコマンドを一部を変更して実行したい場合などに役に立つ。
カーソル移動の基本は左右であるが、他にも幾つか便利な編集操作キーが設定されている。
キー | 機能 |
Ctrl+b または ← | 一文字左に移動(backward) |
Ctrl+f または → | 一文字右に移動(forward) |
ESC b | 1単語左に移動 |
ESC f | 1単語右に移動 |
Ctrl+a | 行頭に移動(ahead) |
Ctrl+e | 行末に移動(end) |
Delete または Ctrl+h | カーソルの左側の文字を一文字削除 |
Ctrl+d | カーソル上の文字を一文字削除 |
Ctrl+k | カーソルから行末まで全部を削除 |
これらのキー設定(キーバインド)も多くのテキストエディタと共通になっている。
練習 まず、calコマンドで自分の生まれた年月のカレンダーを表示させよう。次に、ヒストリ機能でこのコマンドを呼び出し、編集して前月および翌月のカレンダーを表示させよう。
ファイル名補完機能
コマンドの引数にファイル名やディレクトリ名(詳しくは後述)を指定することがあるが、途中まで入力してTabキーをタイプすると、入力した部分に一致する名前を探して、残りの部分を自動的に入力(補完)してくれる。コマンド自体もファイルなので同じように補完機能が働くが、コマンドは似たような短い名前のものが多いので、コマンドに対してはあまり有効でないかもしれない。例えば his まで入力してTabキーを押してみよう。