情報処理 第9回講義資料
今回の目的
- Unixにおけるコマンドを知る。
- ファイルシステムの基本、および、ファイルの操作の仕方を学ぶ。
講義内容
- GUI と CUI (Revisited)
- UNIX コマンド
- ファイルシステム
- Finderを使ったファイルの操作
- コマンドを使ったファイルの操作
GUI と CUI (Revisited)
- オペレーティングシステム (Operating System) を操作するユーザインターフェース(UI)には、
大きく分けると、マウスを主たる入力装置として利用する GUI (Graphic User Interface)
とキーボードからの入力が中心の CUI (Charactor User Interface)
があります。
- CUIにおいてキーボードから入力する命令をコマンド (command)といいます。
- UNIX というオペレーティングシステムの操作は、CUI
が中心であったため、UNIX の操作を覚えるには、UNIX
のコマンドを覚える必要がありました。
- Mac OS X というオペレーティングシステムは、UNIX
をベースに開発されながらも、ウィンドウシステムも充実しています。従って、GUI
の操作だけで一通りのことができるようになっていますが、「ターミナル」という CUI から直接
UNIX のコマンドを入力することもできます。
- Mac OS X v10.3 のアーキテクチャ(構成)は以下のようになっています(詳細はこちらを参照)。
 |
Aqua
は、ウィンドウシステムなどのGUIを提供するシステム。
Carbon、Cocoa、Java
はアプリケーション開発・実行環境を提供するシステム。
Quarts、OpenGL、QuickTime
は描画やマルチメディアのシステム。
Darwin
は、Mach3.0+FreeBSD5というUnixをベースとしたオペレーティングシステム。 |
Unix コマンド
演習9-1
- (1) zip, (2) gzip (3) bzip2 (4)tar というコマンドについて、man コマンドを用いて調べてみましょう。これらのコマンドは、アーカイブ(archive)と呼ばれる、複数のファイルやディレクトリをまとめた一つのファイルを作成するためのコマンドです。
アーカイブを作成するコマンドは、ファイルサイズを小さくする機能を持っていることがあります。このため、アーカイブを作成する操作を、「圧縮」と呼ぶことがあります。
man zip |
|
- 次に、zipコマンドを用いて、前回作成した ウェブサイトのディレクトリのアーカイブを作成します。
cd ~ |
zip -r myweb.zip .public_html |
|
- zipコマンドのオンラインマニュアルをよく読み、zipコマンドの逆の操作、つまり、アーカイブからその中にまとめられているファイルを引き出す操作を行うコマンドを探してみましょう。この操作は、「圧縮」に相対して、「解凍」と呼ばれることがあります。
ファイルシステム
- ファイル
-
ファイルとは、オペレーティングシステムが扱うデータのひとまとまり(単位)を表します。データはハードディスクなどの外部記憶装置にファイル単位に保存されています。
-
ファイルには、大きく分けて、バイナリファイル(文字として解釈できないようなデータ)とテキストファイル(人間が読めるような文字で書かれたファイル)があります。
- ファイルにはファイル名という名前がついています。ファイルに名前を付けるときには大文字と小文字の英数字、そしていくつかの記号を使うことができます(大文字と小文字は区別されます)。Mac
OS Xではファイル名の長さに255文字までという制約があります。
(注意)名前に使用する記号としては,英数字の他に,ハイフン(-),ピリオド(.),アンダースコア(_)だけにした方がよいでしょう.他の記号,たとえばアスタリスク(*),バックスラッシュ(フォントによっては円記号)(¥),疑問符(?)などはターミナルでコマンドを入力する際に特別な意味を持つ文字なので、ターミナルで入力したコマンドが意図したものと全く違ってしまうことになります。
-
ファイル名の一部として、ピリオド(.)以下に特定の文字列を記してファイルの種類を明示することが頻繁におこなわれます。このピリオド(.)以下の文字列を、ファイルの「拡張子」と呼びます。
たとえばindex.htmlという名前のファイルは、最後のピリオド以下の部分「.html」によってHTML形式のファイルであることが明示されています。
| 文書関係 |
|
| .txt |
プレーンテキストファイル |
| .rtf |
画像なども入れられるリッチテキストフォーマット文書ファイル |
| .html |
HTML言語で書かれたファイル |
| .tex |
TeXやLaTeXのファイル |
| .dvi |
DVIファイル (LaTeXのファイルのコンパイル時にできる) |
| .ps |
PostScript(PS)ファイル |
| .pdf |
PDFファイル |
| 言語関係 |
|
| .java |
Java言語で書かれたソースファイル |
| .class |
コンパイルされたJavaファイル |
| .c |
C言語で書かれたソースファイル |
| .cc |
C++言語で書かれたソースファイル |
| アプリケーション関係 |
|
| .app |
Mac OS Xにおけるアプリケーション |
| .exe |
Microsoft Windowsにおけるアプリケーション |
| 画像関係 |
|
| .gif |
GIF形式の画像ファイ |
| .jpg |
JPEG形式の画像ファイル |
| .png |
PNG形式の画像ファイル |
| 音楽関係 |
|
| .aac |
AAC(Advanced Audio Codec)形式の音声ファイル |
| .mp3 |
MP3(MPEG Audio Layer 3)形式の音声ファイル |
| アーカイブ関係 |
|
| .tar |
TAR形式のアーカイブファイル |
| .gz |
GZIP形式で圧縮されたファイル |
| .zip |
ZIP形式で圧縮されたアーカイブファイル |
- 名前がピリオド(.)から始まるファイル(例えば ".forward" や ".cshrc"
など)は、通常、プログラムの設定などを記述したファイルであり、いわゆる隠しファイル(hidden
files)になっています。
- Mac OS
XのGUI環境においては、ファイルは以下のようなアイコンとして表示されます。これらのファイルにアクセスするためには、「Finder]というアプリケーションを使いますが、通常隠しファイルはFinderからは見えなくなっているので注意が必要です。ターミナルから"ls
-a"というコマンドをタイプすることで隠しファイルをリストすることができます。

- フォルダ(ディレクトリ)
- フォルダ(ディレクトリ)は、複数のファイルをまとめて入れておくための「場所」(単位)を表します。ファイルシステムの中でファイルはさらにフォルダ単位に整理されています。
- Mac OS XのGUI環境においては、ファイルは以下のようなアイコンとして表示されます。


- ホームフォルダ(ホームディレクトリ)とは、各ユーザーに割り当てられたフォルダです。基本的にはユーザが操作できるのはそのユーザのホーム以下にあるファイルやフォルダだけです。ユーザが作業できる領域を制限することで、システムにとって非常に重要なファイルは、一部の人(管理者)しかアクセスできないようにしているのです。UNIXやMac
OS Xなどの、マルチユーザのオペレーティングシステムでは、このようなホームフォルダがあります。
- Mac OS Xでは、ホームフォルダの下にデスクトップフォルダがあります。デスクトップフォルダの中に入れたファイルやフォルダは、コンピュータの画面の背景(デスクトップ)に表示されます。
- ファイルシステム
Finderを使ったファイルの操作
- Finderは、Mac OS
Xにおいて、フォルダの中にどんなファイルやフォルダがあるかを表示させたり、それらのファイルに対して、コピーや削除などのファイル操作を行うためのアプリケーションです。
-
Finderウィンドウの一番上に,カレントフォルダ(現在作業しているフォルダ)が表示されます。図ではユーザg000000のホームフォルダがカレントフォルダになっています。

- Finderの左側には、デスクトップやアプリケーションなどの、よく使うフォルダへのショートカットが縦に並んでいる、サイドバーと呼ばれる領域があります。サイドバー内のショートカットのアイコンをクリックすると、そのアイコンが示すフォルダにすぐに移動することができます。サイドバーでは(ドックと同様に)よく使うフォルダをドラッグ&ドロップすることでそのショートカットを追加することができます。
- Finderを使ったファイルの操作は非常に直感的です。
- ファイルを開く
- Finder ウィンドウ,およびデスクトップに表示されているほとんどのファイルは,アイコンの上でマウスをダブルクリックすることで開くことができます。これはほとんどのファイルが拡張子によって何らかのアプリケーションと関連づけられているため、システムが、どのアプリケーションを使ってファイルを開けばよいかを自動的に判断できるためです。
-
開きたいファイルのアイコンの上で右クリックし、「このアプリケーションで開く」から利用するアプリケーションを選ぶことによってもファイルを開くことができます。
- フォルダ間の移動
- 移動したいフォルダがFinderウィンドウ内に表示されている場合は、そのアイコンをダブルクリックすると、移動先のフォルダーがカレントフォルダーとなります。
- 移動したいフォルダがサイドバーに登録されている場合は、サイドバーからアイコンをクリックすると、移動先のフォルダーがカレントフォルダーとなります。
- フォルダの作成
- Finder のメニューバーから「ファイル」「新規フォルダ」を選びます。
- Finderウィンドウ内で、マウスを右クリックして出たメニューから「新規フォルダ」を選びます。
- ファイルの移動
- 異なるフォルダ間でファイルを移動したい場合は、 Finder ウィンドウを二つ開いてドラッグ&ドロップします。
- ファイル名の変更
- ファイルやフォルダの名前を変更するには、アイコンの下のファイル名の部分をクリックし、ファイル名編集モードにしてから、名前の変更を行います。
- ファイルの複製(コピー)
- ファイルのアイコンをマウスで一度クリックして、そのファイルが選択された状態になったら、メニューバーから「ファイル」「複製」を選びます。
キーを押したまま、ファイルをドラッグ&ドロップします。
- ファイル・フォルダの削除
- ファイルのアイコンをマウスで一度クリックして、そのファイルが選択された状態になったら、メニューバーから「ファイルゴミ箱に入れる」を選びます。
- ファイルをDockの端にあるゴミ箱アイコンまでドラッグ&ドロップします。
-
ゴミ箱に入れただけではまだそのファイルは削除されていません。ファイルを完全に削除するには、ゴミ箱の上で右クリック(または左クリック長押し)し、「ゴミ箱を空にする」を選びます。または,メニューバーから「Finder」「ゴミ箱を空にする」を選びます。
コマンドを使ったファイルの操作
-
ファイルの操作は、FinderというGUIアプリケーションを通して行うこともできますが、ターミナルなどのCUIアプリケーションを通してコマンドを入力することにより行うこともできます。
- 以下、頻出するディレクトリとはフォルダと同義語で、Finder のような GUI
の環境ではフォルダと呼びますが、コマンドを使って操作する環境ではディレクトリと呼ぶのが普通です。
演習9-2
A君とB君(ユーザーIDはそれぞれAとB)は同じグループG(グループIDはG)に属しているとします。A君は、自分のホームディレクトリ(~A)にあるディレクトリDの中の全てのファイルを、B君など同じグループに属する人にだけ閲覧可能にしたいと考えました。ただし、A君はディレクトリD以外のファイル・ディレクトリは(それらのリストを取る(lsコマンド)ことも許可したくありません。A君はどのようなパーミッションを設定すればよいでしょうか?
演習9-3 (CFIVE提出)
第6回の講義では、ドキュメントルート以下、一つの階層のあるウェブサイトを構築しました。今回は、その復習も兼ねて、ファイルシステムに、複数の階層を作成し、ファイルとディレクトリのアーカイブを作成する練習をします。ローカルコンピュータのファイルシステムに、以下の図に示すファイルとディレクトリの階層構造をUNIXコマンドを利用して作ります。 ただし、図にある treasure.gif と garbage.gif
という画像ファイルは、以下のリンクからダウンロードして使用してください。(右クリックで表れるメニューから保存します)。また、以下の図で、room-g999999というディレクトリ名のg999999の部分は自分のuseridで置き換えます。完成したら、treasure-hunting 以下をzipコマンドを用いてtreasure-hunting.zipというアーカイブに圧縮してください。CFIVEにはこのtreasure-hunting.zipを成果物として登録します。
zipコマンドを用いたアーカイブのやり方は、演習9-1の2を参照してください。-rをつけて指定したディレクトリ以下すべてを(再帰的に)アーカイブするようにしましょう。
余力があれば、treasure-huntingというディレクトリを自分のウェブサイトに、ncftpputを使ってまるごと転送してみましょう。
ちょっとした宝探しのゲームをウェブサイトに作ることができます。
(参考:http://user.ecc.u-tokyo.ac.jp/~qnakao/treasure-hunting/)
情報処理の講義のトップページへ戻る
はいぱーわーくぶっく(HWB)へのリンク