シェル
- コマンド
- コマンド方式
LinuxではWindowsの コマンドプロンプト のように、キーボードからコマンドを入力してプログラムを実行する方式がよく利用されます。
コマンドの解釈や実行はシェルにより実行されます。
- コマンド方式の特徴
コマンドによるシステムの保守は、特に遠隔地(サーバーとは別の場所)から処理を行うには便利です。また、ファイル名の置換や、リダイレクト・パイプ機能、はコマンド方式の特徴で、WindowsによるGUI方式では備えていない機能です。
慣れた人にはキーボードによるコマンド入力方式は、メニュー方式より早く入力できます。
反面、コマンド方式はコマンドの形式やファイル名を知らないと実行できません。
- シェル
- シェル
ランレベル3で起動すると、コマンド入力画面に変わります。ランレベル5で起動した場合、Xウインドウが立ち上がります。この場合、xtermなどのコマンド入力ウインドウを立ち上げます。
コマンドはシェルにより解釈・実行されます。
- コマンドの再利用
利用するLinuxのシェルにもよりますが、先に利用したコマンドを 上向き矢印キーで表示することができます。左右キーでカーソルを移動して、編集後実行することもできます。
- ファイル名の置換
ファイル名に * を利用すると、任意の文字列を代表できます。例えば、a*.txt はabc.txt や
a12.txt を代表できます。? は任意の1文字を代表します。
また、[1-9]は 1から9までの1文字を代表します。
- ファイル名の補完
ファイル名を入力している途中でTABを入力すると、ファイル名を補間できます。例えば、abc123.txt
ファイルが存在するとき、abcに続けてTABを入力すると、abc123.txt に補完してくれます。ただし、abcxyz.txt
ファイルも存在するとき、abcの入力だけではファイル名が決定しませんから、補完はされません。
- リダイレクト
コマンドでは指定したプログラムを実行します。コマンドは、標準の入出力を利用しますが コマンド実行時に入出力を行うファイルを切り替えることができます。この機能をリダイレクト機能と呼びます。例えば、catは入力ファイルを出力にコピーするコマンドです。
$cat >temp.txt
は、出力ファイルをtemp.txtに切り替えます。入力ファイルは標準ではキーボードになりますから、このコマンドでは、キーボードからの入力をファイル temp.txt に保存します。終了は Ctrl-z を入力します。
- パイプ機能
多くのコマンドは入力と出力を持ちます。コマンド行に二つのコマンドを | で接続して、前のコマンドの出力を次のコマンドの入力に渡すことができます。この機能をパイプ機能といいます。
例
$ps | grep apache
これは ps で出力される ファイルの一覧情報を grep に渡し、apache が含まれる行のみを表示します。
- バックグラウンド処理
Linuxでは、複数の処理を同時に実行できます。しかし通常のコマンド入力は、前のコマンドが終了しないと次のコマンドが入力できません。
コマンドの最後に & を付記すると、指定したコマンドの起動が終わると(終了を待たずに)次のコマンドを入力できます。
例
$/usr/bin/apache &
apacheを起動します。起動したら、次のコマンドが入力できます。