最近,特にオープンソース関係の集まりなどに顔を出すと,Windowsマシンではなく,Mac(Macintosh)を持っている人の割合がかなり高くなっていることに気づきます。Macで動くOSといえば,Mac OS Xです。Mac OS Xはいろいろな顔を持ったOSです。まず,Mac独自のアプリケーション実行環境として「Carbon」と「Cocoa」を搭載しています(図1)。Microsoft OfficeやAdobe Photoshopといった市販のMac OS X用ソフトの多くはこの上で動作します。

 Part1「今さら聞けないOSの疑問」,Part2「これがWindows Vistaだ!」,Part3 「Windows XP Tips 25 」,Part4「仮想マシンの仕組みを理解する」に続いて,Part5では,Mac OS X(2006年9月時点の「Mac OS X v10.4 (Tiger)」)を取り上げて,そのUNIX的な使い方を説明します。

図1●Mac OS Xの構造を表現した図。Machマイクロ・カーネルと4.4BSDをベースとする「Darwin」の上に,「Carbon」「Cocoa」といったMac OS X独自の実行環境を備える。その上にはMac OS Xの特徴であるGUI「Aqua」が動いている。また,UNIXアプリケーションの実行環境と,X Window SystemやターミナルといったUNIX向けユーザー・インタフェースも備える
図1●Mac OS Xの構造を表現した図。Machマイクロ・カーネルと4.4BSDをベースとする「Darwin」の上に,「Carbon」「Cocoa」といったMac OS X独自の実行環境を備える。その上にはMac OS Xの特徴であるGUI「Aqua」が動いている。また,UNIXアプリケーションの実行環境と,X Window SystemやターミナルといったUNIX向けユーザー・インタフェースも備える

 もう一つ,Mac OS XにはUNIXの一種であるという側面もあります。米Apple Computerによれば,Mac OS Xは世界で最も広く使われているUNIXベースのOSだそうです。Mac OS XのコアOSは「Darwin」と呼ばれ,Machマイクロ・カーネルにBSD(現在は4.4BSD)のファイル・システムやネットワークの機能を加えたものです。当然,BSD互換のAPI(システム・コール)を持っており,各種UNIXアプリケーションを利用できます。もちろんUNIXのコマンドも利用できます。

 学生時代にUNIXを使っていた人や,職場でUNIXを使っていてUNIX環境に慣れている人は,自宅で使うパソコンとしてMacを使ってみてはいかがでしょうか。また,Windowsの経験しかないけれど,UNIXに興味があるという方にもお薦めです。UNIXと聞くと難しそうという印象を抱くかもしれませんが,Mac OS XはGUIの設定ツールが充実しているので,無理なくUNIXに慣れることができます。この特集では,Mac OS Xが備えるUNIXの機能を紹介していきます。実行環境としてはMac OS Xの2006年当時の最新バージョン10.4(Tiger)を想定して説明します(最終ページのカコミ記事「開発環境のインストールが必要」を参照)。

UNIXユーザーへの第一歩,ターミナルを使ってみよう

 Mac OS XでUNIXコマンドを利用するには,フォルダ[アプリケーション]→[ユーティリティ]の中にある「ターミナル」を起動します。これから何度も使うことになりますので,Dock(画面下に並ぶショートカット・アイコンの列)に追加しておきましょう。

 ターミナルの中では「シェル」(またはコマンド・シェル)と呼ばれるコマンドのインタプリタが動作しています。このインタプリタが,ユーザーが入力したコマンドを解釈して実行するわけです。UNIXの世界には何種類かのコマンド・シェルがあり,それぞれに癖があります。この特集では,Tiger標準のシェルであるbash(Bourne-Again SHell:バッシュ)を使います*1

 コマンド・シェルでは「シェル・スクリプト」という簡単なプログラムを組むことができます。テキスト・ファイルに続けて実行する一連のコマンドを記述することで,定型的な作業を短時間で実行するというものです。Windowsのコマンドプロンプトで動作するバッチ・ファイルをご存じの方ならわかりやすいでしょう。コマンド・シェルとスクリプトの使い方をマスターすると,パソコンでできる作業の幅が大きく広がり,作業効率が向上します。

 もう一つ,コマンド・シェルの使い方を覚えておきたい理由があります。UNIXの世界には,長年にわたって蓄積されてきたばく大なフリーソフト資産があります。その中には,コマンド操作で動作するソフトも少なくありません。便利なフリーソフトを知れば知るほど,UNIXをいっそう便利に使うことができるようになります。フリーソフトの多くは,ソースコードの形で配布されています。つまり,フリーソフトを使いこなすには,ソースコードを入手して,コンパイルし,インストールする手順を覚える必要があります。これにもコマンド・シェルを使うのが普通です。では,早速ターミナルでコマンド・シェルを使ってみましょう*2

 ターミナルを開いたら,まず「ls」コマンドを実行してみてください。Windows(MS-DOSコマンド)の「dir」に相当するもので,カレント・ディレクトリのファイル名を列挙するコマンドです。ファイル名はきちんと見えますか? 場合によっては,ファイル名に「?」が並んでいるファイルがある方もいるでしょう。これは,ファイル名に日本語を使ったファイルです。lsコマンドに「-v」オプションを付けて実行してください(図2)。今度は日本語のファイル名も見えます(最終ページのカコミ記事「設定を変更してターミナルを見やすくする」を参照)。

図2●lsコマンドに「-v」オプションを付ければ日本語のファイル名を正しく表示できる(初期設定の場合)
図2●lsコマンドに「-v」オプションを付ければ日本語のファイル名を正しく表示できる(初期設定の場合)