Linux - Shell



 ◆ コマンドラインの操作

 コマンドラインの操作を理解する際に、先ず、シェルとは何かと下図を理解しておくことが大切です。


 ◆ シェルとは

 シェルとは、コマンドを解釈して実行するプログラムのこと。Linuxシステムの作業は端末で行いますが
 Linuxシステムへのログイン時に端末ごとに入力するコマンドを解釈し実行するプログラム(
シェル)が
 動作し始めます。シェルはいくつかの種類があり、ユーザは好みに応じて実行するシェルを選択できます。


  


 bashの場合、一般ユーザのプロンプトは $、rootユーザのプロンプトは # が表示されます。プロンプトはシェルにより異なる。


 Linuxで利用できるシェルには以下のような種類がありますが、一般的には
Bash が使用されます。

シェル プログラム名称 説明
Bシェル sh  UNIX V7(1978年リリース)から標準添付されているUNIXの基本的なシェル
Cシェル csh  C言語スタイルの構文を持ったUNIX系OSの代表的なシェル
TCシェル tcsh  Cシェルの派生版の中で特にユーザーインターフェイス部分を中心に拡張されたシェル
Kシェル ksh  Bシェルと上位互換を保ちながら、Cシェルなどから優れた機能を取り込んだシェル
Bash bash  UNIX系のシェルの一つであり、Linuxで用いられる標準のシェル


 システムへのログイン直後に起動するシェルは、ログインシェルと呼ばれており、これはユーザごとに
 定義できます。ユーザごとのログインシェルは、
/etc/passwdファイルに記述されています。以下では
 adminというユーザのログインシェルが「bash」であることが分かります。一番右側で定義しています。


 # more /etc/passwd
 
admin:x:500:500:CentOS-6.4-i386:/home/admin:/bin/bash



 なお、現在ログインしている自身が使用しているシェルは ps $$ コマンドで確認することができます。


 # ps $$
 PID   TTY   STAT  TIME  COMMAND
 17264 pts/1 S     0:00  -bash


 作業終了を通知しシェルを終了するためにはlogoutコマンドを入力します。exitコマンドでもシェルは終了。


 ◆ コマンドの入力方法

 コマンド入力の際に、例えば「Tabキー」を押せば、文字列の入力途中であっても自動的に補完されます。
 また、例えば「Ctrl + C」を押せば実行中の処理を中断することができます。このようなショートカット
 キーは、シェルがbashの場合には以下のような入力キーがあります。

入力キー 説明
Tabキー  コマンドやディレクトリ名などの文字列を補完する
Ctrl + A  行の先頭へカーソルを移動する
Ctrl + C  実行処理を中断する
Ctrl + D  カーソル上にある文字列を1文字削除する
Ctrl + E  行の最後へカーソルを移動する
Ctrl + H  カーソルの左側の文字列を1文字削除する
Ctrl + L  画面をクリアして、現在の行だけを再表示する
Ctrl + Q  画面への出力を再開する
Ctrl + S  画面への出力を停止する
Ctrl + Z  実行処理を一時停止する


 シェルがbashである場合、以下の特殊記号(メタキャラクタ)を使用してディレクトリの移動が可能です。

メタキャラクタ 説明
.  カレントディレクトリを表す。( ピリオドを1回入力 )
..  1つ上のディレクトリを表す。( ピリオドを2回入力 )
~  ホームディレクトリを表す。( チルダを入力 )


 ユーザ名がadmin、ホームディレクトリが /home/admin、カレントディレクトリが /home/admin/test で
 あるとします。その場合、以下のメタキャラクタを使用した表記に対応するディレクトリは以下の通りです。

メタキャラクタを使用した表記 対応するディレクトリ
 .  /home/admin/test
 ..  /home/admin
 ~  /home/admin
 ~/test2  /home/admin/test2



 ◆ メタキャラクタとは

 メタキャラクタとは複数のファイルを簡単に指定する際に使用する特殊な記号のこと。メタキャラクタにより
 個別にファイルを指定することなく複数のファイルを指定できます。メタキャラクタには次の記号があります。

メタキャラクタ 説明
*

 任意の0文字以上の文字列
 例 : 111.txt、abc.txt のファイルは
*.txt と表せる

?

 任意の1文字の文字列
 例 : 1.txt、a.txt のファイルは
?.txt と表せる。abc.txt のように1文字でない場合は合致せず

[ ]

 [ ] 内の任意の1文字の文字列
 例 : ab、ac、ad は
a[bcd] と表せる。任意の1文字なので例えば abc には合致せず

{ }

 カンマ( , ) で区切られた文字列
 例 : data1 と data2 は 
data{1,2} のように表せる


 例えば、ディレクトリ内に存在する全ての.txt ファイルだけを表示させたい場合は以下のコマンドを入力。

 $ ls *.txt


 このシェルのメタキャラクタを、メタキャラクタではなく通常の文字として使用したい場合、メタキャラクタ
 の直前に \ (半角のバックスラッシュ)を入力します。例えば、「 \* 」は * を文字として認識するよう
 になります。ちなみに \ は日本語環境では \ と表示されることがあります。



Linux 技術入門

Copyright(C) 2002-2024 ネットワークエンジニアとして All Rights Reserved