竹形誠司 ブログ
Mac mini サーバー化計画    »トピック一覧
掲示板へのスパムが多いため、「ご質問」のコーナーはユーザー登録制とさせていただきました。お手数ですが、上の「新規ユーザーの登録」メニューより登録をお願いします。
帳票Web
アプリケーション

受注開発始めました
詳しくは こちら
竹形 誠司 著/ラトルズ刊
JSP帳票アプリケーション実践開発入門
JSP帳票アプリケーション
実践開発入門

JSP業務アプリケーション短期開発入門
JSP業務アプリケーション
短期開発入門

Java+MySQL+Tomcatで始めるWebアプリケーション構築入門
Java+MySQL+Tomcatで始めるWebアプリケーション構築入門

Java+MySQL+Tomcatで作る掲示板とブログ
Java+MySQL+Tomcatで作る
掲示板とブログ
ターミナルの使い方
by 竹形 誠司[takegata]
ターミナルは、キーボードからコマンドを入力する画面です。Windowsにも、「コマンドプロンプト」という同様の機能があります。コンピュータをサーバとして使う場合には、ターミナルからコマンドを入力しなければならないことが多いので、ターミナルの基本的な使い方を覚えましょう。
ターミナルの起動
MacOSXのターミナルは[アプリケーション]フォルダの下の[ユーティリティ]フォルダの中にあります。ターミナルはよく使うことになるので、ドックにショートカットを作っておくとよいでしょう。
ターミナルのショートカットをドックに作成
ターミナルのショートカットをドックに作成

ターミナルを起動すると、次のような画面になります。
ターミナル
ターミナル

1行目には、前回のログインの記録が表示されます。これは、自分以外の誰かが勝手に自分のアカウントを使っていないかどうかを確認するためです。
2行目は「プロンプト」と呼ばれるもので、コマンドの入力を受け入れ可能であることを示しています。プトンプトの先頭の「mini」はコンピュータの名前で、その後のコロン(:)に続いて現在のディレクトリ名が表示されます。ディレクトリとは、ファイルを整理する箱のようなもので、それぞれのディレクトリには名前がつけられます(GUI上では昔からのMacOSの流儀に従って「フォルダ」と呼ばれていますが、ターミナルの中ではMacOSXのベースとなっているUNIXの流儀に従ってディレクトリと呼ばれることが多いようです)。上の画面では「~」が現在のディレクトリです。チルダ(~)はログインユーザ(この場合はtakegata)のユーザのホームディレクトリを表しています。ターミナルの起動直後は、ユーザーのホームディレクトリが現在のディレクトリになります。現在のディレクトリの後に半角スペースが続き、その後にユーザ名が表示されます。

シェル
プロンプトの後にユーザーがコマンドを入力すると、そのコマンドが実行され、結果が画面に表示されます。このようにユーザーからのコマンドを受け付け、結果を返すプログラムを「シェル」と呼びます。MacOSXにはいろいろなタイプのシェルがインストールされていますが、デフォルトではターミナルを開くとbashというシェルが起動するようになっています。

ファイルの一覧表示
lsコマンドを使って、現在のディレクトリにあるファイルとディレクトリの一覧を表示することができます。
mini:~ takegata$ ls
Desktop                Movies                  Sites
Documents              Music                  ユーサ゛登録
Downloads              Pictures
Library                Public
mini:~ takegata$
ファインダでホームディレクトリを見ると、次のようになっています。
ホームディレクトリ
ホームディレクトリ

ファインダには、選択した言語に応じてファイル名やディレクトリ名を翻訳して表示する機能があるため、Desktopは「デスクトップ」、Documentは「文書」というように翻訳されて表示されます。

ファイルの作成
ターミナルから次のように入力して、新たなファイルを作ってみましょう。
mini:~ takegata$ echo test>test.txt
mini:~ takegata$
echoというコマンドは、指定した文字列を画面に表示するコマンドで、上の例では「test」という文字列を指定しています。次の > は文字列の出力先を変更するリダイレクトという機能を表す記号で、文字列の出力先を画面からtest.txtというファイルに変更しています。その結果、testという文字列の書かれたtest.txtというファイルが作られます。本当にこのファイルが作られているかどうか、lsコマンドで確認してみましょう。
mini:~ takegata$ ls
Desktop                Movies                  Sites
Documents              Music                  test.txt
Downloads              Pictures                ユーサ゛登録
Library                Public
mini:~ takegata$
テキストファイルの内容を表示するコマンドは何種類かありますが、ここではcatを使ってみましょう。"cat"に続けてファイル名を入力すると、その内容が画面に表示されます。
mini:~ takegata$ cat test.txt
test
mini:~ takegata$
ファイルのコピー
ファイルをコピーするコマンドは"cp"です。"cp"に続けてコピー元のファイル名とコピー先(新しく作られるファイル)の名前を指定します。
mini:~ takegata$ cp test.txt test2.txt
mini:~ takegata$
test2.txtというファイルができているか、lsコマンドで確認してみましょう。
mini:~ takegata$ ls
Desktop                Movies                  Sites
Documents              Music                  test.txt
Downloads              Pictures                test2.txt
Library                Public                  ユーサ゛登録
mini:~ takegata$
test2.txtファイルの内容をcatコマンドで確認しましょう。
mini:~ takegata$ cat test2.txt
test
mini:~ takegata$
ファイル名の変更
ファイル名を変更するコマンドは"mv"です。"mv"に続けて現在のファイル名と変更後のファイル名を指定します。
mini:~ takegata$ mv test2.txt test3.txt
mini:~ takegata$
ファイル名が変わっているかどうか、lsコマンドで確認してみましょう。
mini:~ takegata$ ls
Desktop                Movies                  Sites
Documents              Music                  test.txt
Downloads              Pictures                test3.txt
Library                Public                  ユーサ゛登録
mini:~ takegata$
test2.txtからtest3.txtにファイル名が変わっていることが分かります。では、test3.txtファイルの内容をcatコマンドで確認しましょう。
mini:~ takegata$ cat test3.txt
test
mini:~ takegata$
ファイルの削除
ファイルを削除するコマンドは"rm"です。"rm"に続けて削除するファイルを指定します。
mini:~ takegata$ rm test3.txt
mini:~ takegata$
test3.txtが削除されたかどうか、lsコマンドで確認しましょう。
mini:~ takegata$ ls
Desktop                Movies                  Sites
Documents              Music                  test.txt
Downloads              Pictures                ユーサ゛登録
Library                Public
mini:~ takegata$
ディレクトリの作成
新たなディレクトリを作成するコマンドは"mkdir"です。"mkdir"に続けて作成するディレクトリを指定します。
mini:~ takegata$ mkdir NewDir
mini:~ takegata$
NewDirができているか、lsコマンドで確認しましょう。
mini:~ takegata$ ls
Desktop                Movies                  Public
Documents              Music                  Sites
Downloads              NewDir                  test.txt
Library                Pictures                ユーサ゛登録
ディレクトリ間の移動
現在のディレクトリを移動するコマンドは"cd"です。"cd"に続けて移動先のディレクトリ名を指定します。
mini:~ takegata$ cd NewDir
mini:NewDir takegata$
プロンプト内のディレクトリの表示が「~」から「NewDir」になっています。これは現在のディレクトリがNewDirであることを表しています。新しいディレクトリには何も入っていません。lsコマンドで確認しましょう。
mini:NewDir takegata$ ls
mini:NewDir takegata$
ディレクトリの絶対パスと相対パス
上の例ではtakegataというディレクトリの下にNewDirを作りました。ディレクトリの構造は階層的になっていて、ディレクトリの下(中)にディレクトリを作ることができます。takegataというディレクトリはUsersというディレクトリの中にあります。最上位のディレクトリを「ルートディレクトリ」と呼び、Usersディレクトリはルートディレクトリの下にあります。このようなディレクトリの上下関係と「パス(path)」と呼び、ディレクトリ名をスラッシュ(/)で区切って表します。たとえば、ファイルシステム内でのNewDirの位置は
/Users/takegata/NewDir
と表記します。これは、ルートディレクトリの下のUsersの下のtakegataの下のNewDirを表しています。このようにルートディレクトリから順にディレクトリの階層を表す方法を「絶対パス」といいます。絶対パスの表記では必ず先頭がスラッシュ(/)になります。一方、現在のディレクトリからの相対的な位置関係で指定する方法を「相対パス」といいます。現在のディレクトリが/Usersの場合、/Users/takegata/NewDirは相対パスで次のように表記されます。
takegata/NewDir
相対パス指定では、上位ディレクトリを表すために2つのドット(..)を使います。現在のディレクトリがNewDirの場合、takegataディレクトリにあるtest.txtファイルは相対パスで次のように表記されます。
../test.txt
現在のディレクトリがNewDirの場合、"cd.."で1つ上のtakegataディレクトリに移動することができます。
mini:NewDir takegata$ cd ..
mini:~ takegata$
ファイルの移動
ファイルを別のディレクトリに移動する場合は"mv"コマンドを使います。現在のディレクトリがtakegataの場合、そこにあるtest.txtファイルをNewDirに移動するコマンドは次のようになります。
mini:~ takegata$ mv test.txt NewDir
mini:~ takegata$
現在のディレクトリからtext.txtが無くなっているはずです。lsコマンドで確認しましょう。
mini:~ takegata$ ls
Desktop                Movies                  Public
Documents              Music                  Sites
Downloads              NewDir                  ユーサ゛登録
Library                Pictures
mini:~ takegata$
lsコマンドでは、ディレクトリを指定してその中にあるファイルやディレクトリの一覧を表示することもできます。NewDirディレクトリ内の一覧を表示するコマンドは次のようになります。
mini:~ takegata$ ls NewDir
test.txt
mini:~ takegata$
上のように、NewDirディレクトリの中にtest.txtがあることが確認できます。NewDirディレクトリの下にあるtest.txtファイルを現在のディレクトリに移動する(元の場所に戻す)場合は、次のようなコマンドを使います。
mini:~ takegata$ mv NewDir/test.txt .
mini:~ takegata$
上のmvコマンドでは、移動先のディレクトリにドット(.)が指定されています。相対パス指定では、現在のディレクトリをドットで表すのです。

ディレクトリの削除
ディレクトリを削除するには"rmdir"コマンドを使います。NewDirを削除するコマンドは次のようになります。
mini:~ takegata$ rmdir NewDir
mini:~ takegata$
rmdirコマンドでは、空のディレクトリしか削除できません。ディレクトリを削除する前に、ディレクトリ内のファイルやディレクトリをすべて削除しておく必要があります(rmコマンドに-rfのオプションを付けて空でないディレクトリを削除する方法もあります)。

ファイル名の補完機能
bashにはファイル名を途中まで入力してTABキーを押すと、残りの部分を自動的に補ってくれる機能があります。これを「補完機能」といいます。たとえば、
mini:~ takegata$ ls /S
と入力してTABキーを押すと、bashがルートディレクトリの下にSystemディレクトリを見つけて補完を行い、コマンドラインは次のようになります。
mini:~ takegata$ ls /System/
これに続けてL(大文字のエル)を入力し、TABキーを押すと、Systemディレクトリの下にはLibraryディレクトリがあるので、次のようになります。
mini:~ takegata$ ls /System/Library
該当するものが複数ある場合は、TABキーを2回押すとその候補が次のように表示されます。
mini:/ takegata$ ls /System/Library/P
Perl/              PreferencePanes/  PrivateFrameworks/
PodcastProducer/  Printers/
mini:/ takegata$ ls /System/Library/P
ヒストリ機能
一度実行したコマンドの履歴が、bash内部に残っていて、↑キーと↓キーで履歴を呼び出すことができます。これをヒストリ機能といいます。
投稿:竹形 誠司[takegata]/2009年 03月 20日 20時 10分 /更新:2011年 01月 24日 00時 03分