Directory
ホームディレクトリ
UNIX では、ユーザごとに1つずつ ホームディレクトリ というそのユーザに専用のディレクトリが割り当てられている。
Mac OS Xではターミナルを起動すると、ユーザーはホームディレクトリに いることになる。 Finder を起動するとサイドバーにある家のアイコンの横にログイン名が書いてある。 家のアイコンをダブルクリックしたときに表示される フォルダ(ホームフォルダ)とホームディレクトリは同じものである。
自分のホームディレクトリの中に 自由にディレクトリ(子ディレクトリ)を作ったりファイルを管理することができるが、 他人のホームディレクトリの中に ディレクトリを作ったりファイルをおくことはできない。
自分のホームディレクトリは記号 ~(チルダ)で表す。
ログイン名 asakawa のホームディレクトリを ~asakawa で表す。 ログイン名 asakawa のユーザーにとっては、 ~ と ~asakawa は同一のディレクトリを指す。
Windows 95/98/Meは一人の利用者が使うものとの 前提(シングルユーザ用)なので、ホームディレクトリに相当するものはない。 Windows XP, Windows Vista はマルチユーザ対応なので、ホームディレクトリに相当する フォルダは(ローカルディスクをCドライブとすると) C:¥Documents and Settings¥利用者名 である。
カレントディレクトリ
現在作業しているディレクトリをカレントディレクトリまたは ワーキングディレクトリという。記号 .(ドット)で表わす。
ターミナルエミュレータを 立ちあげた直後は、ホームディレクトリがカレントディレクトリである。
複数のターミナルを立ち上げると、ターミナルごとにカレントディレクトリが存在する。
親ディレクトリ
ディレクトリの中にディレクトリを含むことができる。 あるディレクトリに対しそれを含むディレクトリを 親ディレクトリという。 親ディレクトリは ..(ドット2つ) で表わす。
ディレクトリが含むディレクトリを 子ディレクトリまたはサブディレクトリという。 親ディレクトリはただ1つであるが、子ディレクトリは複数存在しても なくてもよい。
ルートディレクトリ
すべてのディレクトリの「祖先」となる特別なディレクトリが存在する。 それを、ルートディレクトリといい、 記号 / (スラッシュまたはスラと読む)で表す。
ディレクトリとサブディレクトリの区切り、ディレクトリと それに含まれるファイルとの区切りを / で表わす。
ファイルシステム
階層構造
ディレクトリの親子関係を線で結ぶと木構造( 頂点、頂点と頂点を結ぶ辺からなる集合をグラフという。 木とは、グラフに属す任意の2つの頂点を結ぶ経路がただ1つのグラフをいう。) ルートディレクトリを「根」、ディレクトリの親子関係を「幹」や「枝」、 ディレクトリを「枝の分岐点」、ファイルを「葉」と 考えると「木」と見なせる)と呼ばれる階層構造を作っている。
パス
階層的ファイルシステムでは、異るディレクトリに同じ名前のファイル やディレクトリが存在することができるので、ファイル やディレクトリを一意に特定するため、パス名を用いる。
ルートディレクトリからのファイル名(システム全体で一意的になる) を 絶対パス名といい、カレントディレクトリからの 相対位置は相対パス名という。 絶対パス名の先頭は/(スラッシュ)である。 先頭が/(スラッシュ)でも~(チルダ)でもないパス名は 相対パス名である。
絶対パス名と相対パス名を総称しパス名という。
ユーザ asakawa のホームディレクトリの絶対パス名は /Users/asakawa であるが、これを ~asakawa とも表す。
ファイル名
ファイルには名前が付けられている
UNIXでは、 大文字と小文字は区別される。 なお、.(ピリオド)、 _(アンダースコア)、-(ハイフン)以外 の記号はシェルが特別な意味に解釈することがあるので用いない方がよい。 ファイル名にスペースや日本語があるとトラブルの原因になる。
ファイル名の.(ピリオド)の後ろの文字列は拡張子という
ファイル名の.(ピリオド)の後ろの文字列は拡張子といい、ファイルの性質を表す。 適切な拡張子をつけると以下の効果がある。
- ファイル名からファイル形式を知ることができる。
- ネットワークを介してファイルの受け渡しを行うとき、 対応するアプリケーションを事前に知らせることができる。
- コンパイラをはじめさまざまなプログラムが 処理するファイルが適切な型のファイルか否かを判断する。
ドットファイル
$ ls -alt
とするとカレントディレクトリにあるすべてのファイルが、許可属性、ファイルサイズや最終更新日時を時間順にソートされて表示される。
$ ls -alF
とするとカレントディレクトリにあるファイルの情報が表示される。
ここで .DS_Store はMac OS X独自のファイルで、 Finderで表示した際のアイコンの大きさや位置の情報が記録されている。 削除しても新しい .DS_Store が作られるので、支障はない。
.(ドット)で始まるファイル(.DS_Store)はリソースフォークや各種設定ファイルで Finderでは表示されない。
情報処理技術者試験の過去の問題集より
シェル
[問] OS におけるシェルの役割に関する記述として,適切なものはどれか。
- [ア] アプリケーションでメニューからコマンドを選択したり,設定画面で項目な どを選択したりするといったマウス操作を,キーボードの操作で代行する。
- [イ] 複数の利用者が共通資源を同時にアクセスする場合に,セキュリティ管理や 相互排除(排他制御)を効率的に行う。
- [ウ] よく使用するファイルやディレクトリへの参照情報を保持し,利用者が実際 のパスを知らなくても利用できるようにする。
- [エ] 利用者が入力したコマンドを解釈し,対応する機能を実行するように OS に 指示する。
[答] エ
[解説]
シェルは、ユーザが入力したコマンドを解釈し、対応する機能を実行するように OS に指 示する。
- (ア)誤り ショートカットキーの説明である。
- (イ)誤り セマフォの説明である。
- (ウ)誤り UNIXではリンクの機能で、Windowsではショートカットの機能である。
- (エ)正しい
ディレクトリ
[問] A,B というディレクトリ名をもつ複数個のディレクトリが図の構造で管理されている。
カレントディレクトリを \A\B → .. → .. \B → .\A の順に移動させた場合, 最終的なカレントディレクトリはどこか。
ここで,ディレクトリの指定方法は次のとおりとする。
〔ディレクトリの指定方法〕
- ディレクトリは“ディレクトリ名 \...\ ディレクトリ名” のように, 経路上のディレクトリを “\” で区切って指定する。
- “\” で始まるときは,左端にルートが指定されているものとする。
- カレントディレクトリは “.” で表す。
- 1階層上のディレクトリは“..”で表す。
- [ア] \A
- [イ] \A\A
- [ウ] \A\B\A
- [エ] \B\A