|
ウェブサーバーでよく使用されている、UNIX という OS の使い方について説明します。TELNET でサーバーに接続できる(シェルが開放されている)人は参考にしてください。(ここでは、UNIX 系 OS の総称の意味で、"UNIX" という用語を用いています。)
■ 目次
UNIXの歴史
UNIXの使われかた
UNIXの方言
UNIXとMS-DOS
ドライブ
ディレクトリ
ルートディレクトリ
ホームディレクトリ
カレントディレクトリ
親ディレクトリ
パス名
絶対パス名
相対パス名
仮想パス名
まとめてみると
ファイルの表示
ユーザー
グループ
パーミッション
シェル
環境変数
○○するには
UNIXとWindows 95
■ UNIX の歴史
UNIX は AT&T ベル研究所の研究者が自分のマシンでゲームをやりたいがために趣味で開発した OS です。その後、大学研究者などによって機能強化され、近年のダウンサイジングの流れにより、大型コンピュータに代わる OS として注目を浴びました。
■ UNIX の使われかた
UNIX は主にエンジニアリング系の業務に利用されていましたが、現在では、Webサーバ、メールサーバなどによく利用されています。その他、安価なルータなども、UNIX ベースのものが数多くあるようです。最近では、MacOS もベースに UNIX を利用しています。
■ UNIX の方言
一言で UNIX と言っても、Linux、Solaris, HP-UX, AIX, FreeBSD, NetBSD などなど、各社、各団体がさまざまなバージョンを提供しており、細かな仕様は異なっています。CPU も様々なものがあるので、基本的にバイナリ互換が保証されている例は少ないです。フリーソフトなどは幾つかの方言に対応したソースコードの形式で提供されることが多いです。
■ UNIX と MS-DOS と Windows
MS-DOS は Ver2.11 あたりで UNIX の良い所をいろいろ取り入れました。このため、両者は似ている点がかなりあります。MS-DOS の流れをくむ Windows も、いろいろな点で UNIX の機能を取り込んでいます。
■ ドライブ
Windows では「A:」などのドライブという概念がありますが、UNIX にはありません。増設ハードディスクや CD-ROM なども、「/なんとか/かんとか」という名前でアクセスできるようになっています。
■ ディレクトリ
Windows で言うところの「フォルダ」とほぼ同じ意味です。Windows でも MS-DOS や Windows 3.1 の頃はディレクトリと呼んでいましたが、Macintosh にあわせてか、「フォルダ」と呼ぶようになりました。
ディレクトリ(フォルダ)の区切りは、Windows ではバックスラッシュ(\)、Macintosh(Mac OS 9 まで)ではコロン(:)、UNIX ではスラッシュ(/)を使用します。Mac OS X は UNIX 系の OS がベースになったので、区切り記号もスラッシュ(/)になったそうです。
■ ルートディレクトリ
ディレクトリ階層構造の一番上のディレクトリを、ルートディレクトリと呼びます。先頭のスラッシュ(/)一文字がルートディレクトリを表わします。
■ ホームディレクトリ
TELNET や FTP でログインした時に自分が居るディレクトリをホームディレクトリと言います。cd コマンドを引数無しで実行するとホームディレクトリに移動します。
■ カレントディレクトリ
現在自分のいるディレクトリをカレントディレクトリと呼びます。pwd コマンドを実行すると、カレントディレクトリがわかります。
■ 親ディレクトリ
ルートディレクトリを除くすべてのディレクトリは親ディレクトリを持ちます。親ディレクトリは .. で表わされます。 ../xxx.html とは、現在のカレントディレクトリの親ディレクトリに存在する xxx.html をさします。/home/users/../users/tohoho は、/home/users/tohoho と同じ意味になります。
■ パス名
あるディレクトリの中にあるファイルの位置を /home/foo/index.html のように表したものをパス名と呼びます。これは、homeディレクトリの中の、fooディレクトリの中の、index.html というファイルを示します。
■ 絶対パス名
パス名がスラッシュ( / )で始まる場合はルートディレクトリからの相対位置を示します。これを絶対パス名とか、フルパス名と呼びます。URLでの記述と若干異なる場合があります。例えば、私の場合、/home6/s-hasei/public_html/index.htm という絶対パス名が、URLでは、/~s-hasei/index.htm という仮想パス名にマッピングされています。また、BIGLOBEのように、FTPでログインする時と、CGIスクリプトが動作する時のルートディレクトリが異なる場合があるので注意が必要です。
■ 相対パス名
パス名がスラッシュ(/)以外で始まる場合はカレントディレクトリからの相対位置を示します。これを相対パス名と呼びます。例えば、カレントディレクトリが /home/users の時に、tohoho/index.html と記述すると、/home/users/tohoho/index.html を示す事になります。
■ 仮想パス名
これは UNIX 用語というより WWW 用語ですが、「http://サーバー名/パス名」の「/パス名」の部分を仮想パス名と呼びます。前述したように、絶対パス名とは異なります。
■ まとめてみると
ここまでの話をまとめてみます。例えば、下記の図でディレクトリ(□)とファイル(◇)の関係が以下のようになっているとします。
□ home
├□ foo
│├□ public_html
││├◇ index.html
││├□ image
│││├◇ xxx.gif
│││└◇ yyy.gif
││├□ cgi-bin
│││├◇ aaa.cgi
│││└◇ bbb.cgi
index.htmlの絶対パス名は次のようになります。
/home/foo/public_html/index.html
index.htmlから見たaaa.cgiの相対パス名は次のようになります。
cgi-bin/aaa.cgi
aaa.cgiから見たxxx.gifの相対パス名は次のようになります。
../image/xxx.gif
aaa.cgiの仮想パス名は、/home/foo/public_html/ が、WEBサーバの設定によって /~foo/ とマッピングされている場合、次のようになります。
/~foo/cgi-bin/aaa.cgi
■ ファイルの表示
UNIXにTELNETでログインした状態で「ls -l」を実行したとき、またはUNIXにFTPでログインした状態で「dir」を実行したとき、例えば次のように表示されます。
(1)--(2)- (3) -(4)- (5) -(6)- ----(7)----- ---(8)---
-rw-r--r-- 1 tohoho adm 12345 Apr 13 21:38 index.htm
-rwxr-xr-x 1 tohoho adm 5314 Apr 13 21:38 xx.cgi
drwxr-xr-x 1 tohoho adm 1024 Apr 13 21:38 tmp
それぞれの欄は次の意味をもちます。 (1) 最初の1文字がディレクトリ(d)か通常ファイル(-)を表す。
(2) 残りの9文字がパーミッションをあらわす。
(3) ファイル(ディレクトリ)のリンク数。意味は省略します。
(4) ファイル(ディレクトリ)の作成者(ユーザー名)。
(5) ファイル(ディレクトリ)の作成者が所属するグループ名。
(6) ファイル(ディレクトリ)のサイズ。
(7) ファイル(ディレクトリ)の作成日時。
(8) ファイル(ディレクトリ)の名前。
■ ユーザー
UNIXでは利用者は tohoho とか muhuhu などのユーザー名で識別されます。ユーザー情報は /etc/passwd というファイルに記録されています。
■ グループ
ユーザーはいくつかのグループに所属することができます。例えば、tohoho と muhuhu の2人が adm というグループに所属しているといった具合です。グループ情報は /etc/groups というファイルに記録されています。
■ パーミッション
「rwxr-xr-x」などの9文字はパーミッションを表します。詳細は「
cd ..
ファイルの中身を表示するには
cat fileName ...
ファイルの中身を始め10行だけ表示するには
head -10 fileName ...
ファイルの中身を最後10行だけ表示するには
tail -10 fileName ...
ファイルを作成するには
touch fileName
ディレクトリを作成するには
mkdir dirName ...
ファイルをコピーするには
cp FromFile ToFile
cp FromFile ... ToDir
ディレクトリをコピーするには
cp -r FromDir ... ToDir
ファイルを移動させるには
\
ファイル一覧
ls
dir
ファイルコピー
cp
copy
ファイル削除
rm
del
ファイル移動
mv
move
ファイル名前変更
mv
ren
ディレクトリ作成
mkdir
mkdir
ディレクトリ削除
rmdir
rmdir
ディレクトリ移動
cd
cd
一般的なヘルプの見方
man command
command /?
環境変数表示
set/printenv
set
ファイル名の長さ
256文字
255文字
ファイル名の大文字・小文字
区別する
区別しない
実行可能ファイル
パーミッションによる
拡張子による
テキストファイルの改行文字
漢字コード
EUCが多い
シフトJIS |
|