■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■             燃えるUNIX道〜UNIXバカ一代                                  Vol:014                          発行日: 1999年10月27日                        総発行部数:     2752部                           (1999年10月27日現在) ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆PR◆-------------------------------------------------------------------- ●お肉の「いづつ屋」  インターネット販売だけの100名様限定商品を発売!?  おいしいお肉は、やっぱり「いづつ屋」だね。  http://www.tanba-izutsuya.com/ --------------------------------------------------------------------◆PR◆ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆目次◆ ●Web新撰組ニュース ●本文:徒然なるままに・・・ファイル関係のコマンドその6 ●予告 ●おまけニュース[出会いの掲示板] ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆PR◆--------------------------------------------------------------------      ◆◆WAKWAKで、世界のFM局を聴いてみよう!◆◆ 24Hリアルタイムで配信中!あなたのPCをインターナショナルFMラジオに! click< http://a.clickincome.net/md/dk?mid=8815f79f886b213e1afb12c79fd8be88 > --------------------------------------------------------------------◆PR◆ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ⇔⇔Web新撰組News⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔  メールを使った新しい遊びを追及する「メールで遊ぼう!」会員数2000名突破!  http://www.web-kyoto.com/vmail/  いますぐ会員登録だ!  Web新撰組メンバー執筆のCGI参考書。  「Perlで作る楽しいCGI」は、エーアイ出版のエーアイムックNo.237。  内容についての御質問は、新撰組ML(http://www.web-kyoto.com/ml/)へ。 ⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔ ●徒然なるままに・・・ファイル関係のコマンドその6   今回はリンクのお話しです。 ◇リンクって何でしょか?   リンクというのは、WindowsのショートカットやMacintoshのエイリアスのよう なものです。   ただちょっとだけ違うので、それについてお話ししましょう。 ◇ハードリンク   リンクを作成するコマンドは、lnです。 (またまた絵その3) [/] | ------------------------------------ | | | | | | [home] | --------------------------------- | | [hagi] [yamada] | | ---------------------------- ------------ | | | | | | [www] .profile text1 program1 .profile [www] | ----------- | | index.html photo.html   例えば、現在のディレクトリが/home/hagiだとして、 $ ln text1 text2 (R)   で、hagiディレクトリ内にtext1のリンクがtext2という名前で作成されます。 $ ln text1 www (R)   と、2つめをディレクトリにすれば、wwwディレクトリ内にtext1という名前で リンクが作成されます。   lnで作成されたリンクは、もともとのファイルと全く同じものになります。 しかし、コピーではありませんので、text1というファイルが2つ出来た、わけでは なく、text1を参照するラベルが2つ出来た、という状態になります。   この時点で、 $ ls -l text1 (R)   とすると、 -rw-r--r-- 3 hagi 18 Oct 26 17:35 text1   と表示されます。hagiがファイルの所有者ですね。その前の数字が2になってい ます。これはリンクカウントと云って、いくつのハードリンクが作られているかを 表します。$ ln text1 text2 と$ ln text1 wwwで2つリンクを作ったので、3にな ります(リンクしていない状態では、ここの数字は1です)。   ためしにさっき作成したwww/text1を消してみましょう。すると、リンクカウン トは2になります。   また、 $ ls -l text2 (R)   とすれば、 -rw-r--r-- 3 hagi 18 Oct 26 17:35 text2   と表示されます。ファイル容量作成日等、もともとのファイルと全く同じ表示 ですね。   では、次に、もともとあるtext1を消してみます。Windowsのショートカットや Macのエイリアスの場合は、もともとのファイルを消してしまうと、参照出来ない ショートカット(エイリアス)になってしまいます。   UNIXのハードリンクの場合は、ちゃんとしたファイルとしてtext2が残ります。 これはつまり、ファイルを参照するラベルが1個減った、というだけで、もともと のファイルであるかどうかは関係ない、という事です。   リンクは、移動のmvより動作が速いので(実際の中身を読み込んで新たなファイ ルに書き込み、もともとのファイルを消す、という作業をしない)、これを使って mvもどきの動作を行う事も可能です。   ただし、ハードリンクは異るファイルシステムには作る事が出来ません。 HDD1 HDD2 HDD3 --------- --------- --------- | | | | | | | / | | local | | home | | usr | | | | | |-------| | の中身| | の中身| | bin | | | | | --------- --------- ---------   となっている場合、localの中にあるファイルをhomeディレクトリ内にハード リンクする事は出来ません。   また、上のようにusrとbinが異るパーティションに有る場合は、usrとbinに またがるハードリンクは作る事が出来ません。   更に、リンク元にディレクトリを指定して、ディレクトリのハードリンクを 作成する事は出来ません。 $ ln www www2 (R)   はエラーになります。 ◇シンボリックリンク   こちらの方が、ショートカット(エイリアス)に似ています。   シンボリックリンクの内容は、リンク先のファイルの名前になります。つまり どこに元ファイルがあるかの情報を持ったファイルが出来るわけです。 $ ln -s text1 text2 (R)   これで、text1のシンボリックがtext2というファイル名で作成されます。 $ ls -l text1 (R)   としたら、今度は、 -rw-r--r-- 1 hagi 18 Oct 26 17:35 text1   と、リンクカウントは増えていません。   リンクの方はどうかというと、 $ ls -l text2 (R)   とすれば、 lrwxrwxrwx 1 hagi 5 Oct 27 10:10 text2 -> text1   のように表示されます。text2 -> text1はtext2ファイルはtext1を参照する リンクである事を表しています。またファイルの容量ですが、ハードリンクの場合 はファイル容量も全く同じ表示になりますが、シンボリックリンクの場合は、シン ボリックリンクに使用された容量が出てきます。   シンボリックリンクは、ショートカット(エイリアス)と同じように、もとも とのファイルを消してしまうと参照不可能なリンクだけが残ってしまいます。   また、シンボリックリンクは、異るファイルシステムにまたがって作成する事 が出来ますし、ディレクトリのリンクを作成する事も出来ます。   シンボリックリンクの中身は、もともとのファイルの名前ですので、作成時に ちょっと気をつけなければなりません。   というのは、、、例えば、現在のディレクトリがwwwディレクトリだったとし て、 $ ln -s photo.html ../text4 (R)   とします。wwwの中のphoto.htmlファイルのリンクをひとつ上のディレクトリに text4という名前で作成した・・・つもりです。 $ ls -l text4 (R)   とすれば、 lrwxrwxrwx 1 hagi2 8 Oct 27 10:22 text4 -> photo.html   と表示されます。このtext4をcatコマンド等で見ようとすると、 cat: text4: No such file or directory   と表示されます。   これは、ln -s photo.html ../text4に間違いがあるのです。シンボリックリ ンクの内容は、もともとのファイルの名前ですので。これだと、text4はphoto.html を参照します。しかし、hagiディレクトリ内にはphoto.htmlがないのでNo such file になってしまうのです。   ややこしいなぁ。。。と思ったら面倒ですが、フルパスで書く事をお勧めしま す。 $ ln -s /home/hagi/www/photo.html /home/hagi/text4 (R)   とすれば、間違いなくシンボリックリンクを作成出来ます。 ◇パーミッション・所有権   ハードリンクの場合も、シンボリックリンクの場合も、もともとのファイルの パーミッションや所有権を変更すると、リンクの方も同じになります。   また、リンクのパーミッション、所有権を変更しても、もともとのファイルの 方も同じように変更されます。 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆予告◆------------------------------------------------------------------ ●次回からは、、、ファイル関係についてはひとまず置いときまして、  シェルスクリプトで遊んでみようと思います。 ------------------------------------------------------------------◆予告◆ --------------------------------------------------------------------◆PR◆ プリペイドの安心国際電話!アメリカ1分14円!1000円単位で購入可能! 高い国際電話に困っているビジネスマン・留学生のご両親を助けます! click< http://a.clickincome.net/md/dk?mid=c8bb24ab0d10e9fb18b87db9355cdbbf > --------------------------------------------------------------------◆PR◆ ◆おまけニュース◆-------------------------------------------------------- ●出会いの広場「みんなの掲示板」登場!  Web新撰組の「メールで遊ぼう!」に出会いの掲示板が登場しました。  様々なジャンルの掲示板でお友達を作ろう!という企画です。  ぜひ一度覗いて下さいませませ。  http://www.web-kyoto.com/vmail/ --------------------------------------------------------◆おまけニュース◆ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ このメールマガジンは、 Subject部が、燃えるUNIX道〜UNIXバカ一代【Vol.番号】は、まぐまぐ様にて、 ( http://www.mag2.com/ ) Subject部が、燃えるUNIX道〜UNIXバカ一代 Vol.【番号】は、Macky様にて、 ( http://macky.nifty.ne.jp/ ) Subject部が、燃えるUNIX道〜UNIXバカ一代番号 は、Pubzine様にて、 配布致しています。 メールマガジンの解除について まぐまぐ様の解除は、 http://www.web-kyoto.com/dp/unix/ に、削除及び登録フォームを用意致しております。 Macky様の解除は、 http://macky.nifty.ne.jp/ を参考して下さい。 Pubzine様の解除は、 http://www.pubzine.com/srchid.asp?keyword=1513 に、削除及び登録フォームを用意致しております。 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆お願い◆ このマガジンについてのお問い合わせは、WEB新撰組メーリングリストで、 お願い致します。 参加方法は、 http://www.web-kyoto.com/ml/ を参考にして下さい。 内容に対する御意見・御質問、誤記訂正はこのメールのリプライにて お願いいたします。 ◆担当者◆ 本文文責    :Web新撰組プログラマー萩原逸郎 Web新撰組  :http://www.web-kyoto.com/ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■