第11回 ネットワークの利用 1.リモートホストの操作 UNIXではネットワークにつながったホストを別のホストからアク セスすることができる。リモートのホストにあるファイルをコピー するためには rcp, リモートのホストでコマンドを実行するため には rsh を使う。ただし、これらのコマンドを使うためにはあら かじめ、どのホストからのアクセスならば実行して良いかを設定す る必要がある。そのためのファイルが /etc/hosts.equiv および .rhosts である。 [/etc/hosts.equiv, .rhosts] ネットワークを通してリモートのホストにアクセスする際に、セ キュリティーに関して問題が出てくるので、どのホストのどのユー ザからのアクセスをパスワードなしで許可するかどうかを記述する 必要がある。このような信頼できるホスト、およびユーザを記述し ておくのは、/etc/hosts.equiv と .rhosts である。 /etc/hosts.equiv はそのホスト全体でどのホストが信頼できる かを記述したファイルである。/etc/hosts.equiv に書かれてある ホストからのアクセスは信頼できるものとみなされる。 /etc/hosts.equiv は root でしか変更できないため、一般ユー ザはこれ以外のホストを利用するためには. rhosts を記述する必 要がある。自分のホームディレクトリに .rhosts というファイル を作り、その中にどこからのアクセスを信頼するかを書いておく。 例えば、ユーザ名 foo のユーザが mike や kuro から chobi が パスワードなしでアクセスできるようにするためには chobi のホー ムディレクトリに図1のようなファイルを作れば良い。 - ---------------- 図1はじめ-------------------------------- (J~(B/.rhosts の内容 mike,kuroからfooのアクセスを信頼する - ---------------------------------------------------------- mike foo kuro foo - ---------------- 図1おわり-------------------------------- このように .rhosts には ホスト名 ユーザ名 を書く。このようにしておくと、<ホスト名>で示されたホストから <ユーザ名>のユーザがアクセスしてきた時はパスワードなしで利用 できるようになる。 /etc/hosts.equiv にも .rhosts にも書かれていないホストおよ びユーザからのアクセスがあった時は必ずパスワードが求められる。 [rcp] リモートホストのファイルのコピー 普通のコピーは cp コマンドを使ったが、リモートホストのファ イルのコピーには rcp というコマンドを使う。使い方は cp とほ とんど同じだが、ファイル名に ホスト名をつけてどのホストのファ イルを cp するかを ホスト名:ファイル名 として指定することができる。 - ---------------- 図2はじめ-------------------------------- rcp の使い方 - ---------------------------------------------------------- rcp ファイル ファイル rcp ファイル ... ディレクトリ ファイル名、ディレクトリ名としては ホスト名:パス名 が使うことができる。 - ---------------- 図2おわり-------------------------------- 例えば chobi に login している時、mike の /etc/passwd を コピーしてこようと思ったら図3のようにすれば mike の /etc/passwd がカレントディレクトリにコピーされる。 - ---------------- 図3はじめ-------------------------------- mike の /etc/passwd を chobi のカレントディレクトリにコピー - ---------------------------------------------------------- chobi % rcp mike:/etc/passwd . chobi % ■ - ---------------- 図3おわり-------------------------------- 逆に、chobi のカレントディレクトリにある report.dvi を mike の /usr/tmpディレクトリにコピーする場合は、図4のように すればよい。 - ---------------- 図4はじめ-------------------------------- chobi の report.dvi を mike の /usr/tmp にコピー - ---------------------------------------------------------- chobi % rcp report.dvi mike:/usr/tmp chobi % ■ - ---------------- 図4おわり-------------------------------- 注意しなければならないのは、リモートホストのディレクトリは ホームディレクトリになっているということである。決して、今 login しているホストのカレントディレクトリと同じところにいる わけではない。したがって、リモートホストのパス名は絶対パス指 定かホームディレクトリからの相対パス指定にしないといけない。 rcp でコピーする場合にも cp の時と同じように、パーミッショ ンが書き込みが許可になっていないと当然コピーされないし、その リモートホストに login できて且つ .rhosts などで設定してある ホストからしか実行は許可されない。 [rsh] リモートホストのコマンドの実行 リモートホスト上のコマンドを実行するためには、rsh というコ マンドを使う。ただし、SystemV では rsh は restricted shell, すなわち限定shell と呼ばれるものでここで説明している rsh と は別ものである。rsh が限定shell の場合は、代わりに remsh と いうコマンドを使う。 rsh の使い方は図5の通りである。 - ---------------- 図5はじめ-------------------------------- rsh の使い方 - ---------------------------------------------------------- rsh ホスト名 コマンド .... ホスト名で示されたホストでコマンドを実行する - ---------------- 図5おわり-------------------------------- 例えば、chobi から mike の /etc/hosts を cat しようと思ったら 図6のようにする。 - ---------------- 図6はじめ-------------------------------- mike の /etc/hosts を cat する場合 - ---------------------------------------------------------- chobi % rsh mike cat /etc/hosts # # Host Database # 127.0.0.1 localhost 192.50.220.35 mike 192.50.220.36 kuro 192.50.220.67 chobi chobi % ■ - ---------------- 図6おわり-------------------------------- rsh を使う場合も rcp と同様、ディレクトリには注意する必要 がある。rsh で入った時はカレントディレクトリはこちらのカレン トディレクトリと同じディレクトリではリモートホストのホームディ レクトリなのである。 [ftp] ファイル転送プログラム (file transfer program) リモートホストからファイルを転送するためのコマンドとして ftp というコマンドも利用できる。ftp は rcp とは違ってもっと 会話的に利用できる。 例えば、chobi で mike に対して ftp をかけるには図7のようにする。 - ---------------- 図7はじめ-------------------------------- ftp の実行(1) - ---------------------------------------------------------- chobi % ftp mike Connected to mike. 220 mike FTP server (Version 4.1 Thu May 9 17:32:17 JST 1991) ready. Name (mike:foo):■ - ---------------- 図7おわり-------------------------------- このように ftp の接続ができると、まずユーザ名を求められる。 そこでユーザ名を入力する。 - ---------------- 図8はじめ-------------------------------- ftp の実行(2) ユーザ名の入力 - ---------------------------------------------------------- Name (mike:foo): foo 331 Password required for foo. Password:■ - ---------------- 図8おわり-------------------------------- 次はパスワードを求められるので入力する。 - ---------------- 図9はじめ-------------------------------- ftp の実行(3) パスワードの入力 - ---------------------------------------------------------- 331 Password required for foo. Password: 230 User foo logged in. ftp>■ - ---------------- 図9おわり-------------------------------- ユーザ名、パスワードを正確に入力するとftp のプロンプトが出て くる。ここで help を入力するとどんなコマンドがあるかを教えて くれる。良く使うコマンドは、ls, cd, pwd, lcd, get, put, mget, mput, binary, ascii, quit である。 - ---------------- 図10はじめ-------------------------------- ftp のコマンド - ---------------------------------------------------------- ls リモートホストの ls をとる cd リモートホストで cd する pwd リモートホストでのカレントディレクトリを見る lcd ローカルホストで cd する get ファイルをリモートホストからローカルホストに とってくる put ローカルホストのファイルをリモートホストに書く mget 複数のファイルを get する mput 複数のファイルを put する binary 今後の転送はバイナリモードで行なうことを指示する ascii 今後の転送はアスキーモードで行なうことを指示する quit ftp を終了する - ---------------- 図10おわり-------------------------------- 頻繁に ftp でファイルを転送するならば (J~(B/.netrc にユーザ名お よびパスワードを書いておくと自動的に入力される。(J~(B/.netrc は 図11のようにに書く。 - ---------------- 図11はじめ-------------------------------- (J~(B/.netrc の書き方 - ---------------------------------------------------------- machine ホスト名 login ユーザ名 password パスワード - ---------------- 図11おわり-------------------------------- (J~(B/.netrc に書いておくと machine で書かれたホストに ftp した 時は自動的にユーザ名、パスワードが渡される。パスワードを書か ないといけないので (J~(B/.netrc のパーミッションは自分以外の人は 読み書き禁止になっていないといけない。しかし、パスワードを書 くのは危険なので安全のため普通の ftp のために(J~(B/.netrc は設定 しない方がいいだろう。 [anonymous ftp] ftp を使って anonymous ftp というサービスが利用できる。普 通の ftp ではアカウントを持っていないホストに対しては利用で きないが anonymous ftp の場合は、そこの ftp サーバにつなが ることができれば誰でも利用できる。最近では anonymous ftp を 使って、フリーのプログラムが提供されることが多い。 現在、日本でも多くの場所で anonymous ftp サービスが行なわ れている。例えば以下のところでサービスが行なわれている。 - ---------------- 図12はじめ-------------------------------- 国内の主要 ftp site 一覧 ホスト名[IPアドレス] - ---------------------------------------------------------- utsun.s.u-tokyo.ac.jp [133.11.11.11] ftp.ics.osaka-u.ac.jp [133.1.12.30] ftp.kuis.kyoto-u.ac.jp [130.54.20.1] ftp.csce.kyushu-u.ac.jp [133.5.19.3] sh.wide.ad.jp [133.4.11.11] wnoc-fuk.wide.ad.jp [133.4.14.3] ftp.cs.titech.ac.jp [131.112.172.15] ftp.dit.co.jp [133.156.1.1] ftp.ascii.co.jp [133.152.32.11] ftp.dcl.co.jp [133.143.1.1] srawgw.sra.co.jp [133.137.4.3] ftp.mei.co.jp [132.182.49.2] scslwide.sony.co.jp [133.138.199.1] ftp.ricoh.co.jp [133.139.211.2] ftp.tohoku.ac.jp [130.34.8.9] tutserver.tut.ac.jp [133.15.240.3] - ---------------- 図12おわり-------------------------------- 例えば、ftp.kuis.kyoto-u.ac.jp にある /BSD/386bsd-0.1-PC98-c2/disk1.lzh を anonymous ftp でとって くるのは次のようにする。 まず ftp コマンドで ftp.kuis.kyoto-u.ac.jp につなぐ。 ftp.kuis.kyoto-u.ac.jp というホスト名をしらない場合は IPアド レスを使えばよい。 無事に ftp.kuis.kyoto-u.ac.jp につながると Name を聞いてく るので、ここで anonymous もしくは ftp と入力する。この後 Password を聞いてくるので自分のメールアドレスを入力する。す ると ftp> というプロンプトが出てくる。 - ---------------- 図13はじめ-------------------------------- anonymous ftp の実行例(1) login する - ---------------------------------------------------------- % ftp ftp.kuis.kyoto-u.ac.jp (または ftp 130.54.20.1) Connected to isfs. 220 isfs FTP server (Version 5.60) ready. Name (ftp.kuis.kyoto-u.ac.jp:foo): ftp Password: foo@kuamp.kyoto-u.ac.jp <- メールアドレス 230 Guest 'foo@kuamp.kyoto-u.ac.jp' login ok ftp> ■ - ---------------- 図13おわり-------------------------------- メールアドレスを入れる時はエコーバックされない(入力した文 字が見えない)ので間違えないように入力しよう。(J~(B/.netrc に例え ば図14のように設定しておいてもよい。 - ---------------- 図14はじめ-------------------------------- anonymous ftp に対する (J~(B/.netrc の例 - ---------------------------------------------------------- machine ftp.kuis.kyoto-u.ac.jp login ftp password foo@kuamp.kyoto-u.ac.jp machine ftp.ics.osaka-u.ac.jp login ftp password foo@kuamp.kyoto-u.ac.jp - ---------------- 図14おわり-------------------------------- このようにしておけば ftp.kuis.kyoto-u.ac.jp に ftp した時 に、自動的に Name: で ftp, Password: で foo@kuamp.kyoto-u.ac.jp と入力してくれるので便利である。 - ---------------- 図15はじめ-------------------------------- (J~(B/.netrc を設定しておいた場合 - ---------------------------------------------------------- % ftp ftp.kuis.kyoto-u.ac.jp Connected to isfs. 220 isfs FTP server (Version 5.60) ready. 331 Guest login ok, send your E-MAIL ADDRESS as password. 230 Guest 'foo@kuamp.kyoto-u.ac.jp' login ok. ftp> ■ - ---------------- 図15おわり-------------------------------- password としてメールアドレスを入力した後は普通の ftp と同 じである。目的のディレクトリに移動し、get すればよい。バイナ リファイルの時に あらかじめ binary コマンドでバイナリ転送モー ドにしておくのを忘れないようにしないといけない。 - ---------------- 図16はじめ-------------------------------- anonymous ftp の実行例(2) - ---------------------------------------------------------- ftp> cd /BSD/386bsd-0.1-PC98-c2 250 CWD command successful. ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for file list. COPYRIGHT COPYRIGHT.98 FILES.98 INSTALL.98 README.98 as.diff-c-to-c2 disk1.lzh disk2.lzh disk3.lzh disk4-1.lzh disk4-2.lzh disk5.lzh doc98.tar.Z lha.386bsd terry.tar.Z stand-wd.c.diff-c-to-c2 i286-Cx486SLC.tool 226 Transfer complete. 228 bytes received in 0.08 seconds (2.8 Kbytes/s) ftp> binary 200 Type set to I. ftp> get disk1.lzh 200 PORT command successful. 150 Opening BINARY mode data connection for disk1.lzh (557024 bytes). 226 Transfer complete. local: disk1.lzh remote: disk1.lzh 557024 bytes received in 5.2 seconds (1e+02 Kbytes/s) ftp> quit 221 Goodbye. % ■ - ---------------- 図16おわり-------------------------------- これでカレントディレクトリに disk1.lzh を持ってくることが できる。複数のファイルを一気にとってくる時は ftp の mget コ マンドを使うと便利である。 anonymous ftp は便利だがボランティアで行なわれており、ま たネットワークの回線もそれほど太いわけではないので日中の利用 はできるだけ控えるべきである。また、回線を有効に利用するため にもできるだけ近くの anonymous ftp サーバを利用したほうがよ い。 [archie] anonymous ftp サービスは便利だが、どこに何があるかがわか りにくい。わざわざ anonymous ftp で入っていろいろな場所に cd して、ls してみて探すのも大変である。 そこで、さまざまな anonymous ftp サーバーのどこにどんなファ イルがあるかをデータベースとしてもち、それを検索するサービス がarchie である。archie を使えばこういうファイル名をもったファ イルがどの anonymous ftp サーバのどのディレクトリにあるかを 調べることができる。 2.ネットワークで使われるアーカイバ、圧縮ツール ネットワーク上の News や anonymous ftp などを使って、フリー のプログラムなどが流されている。News などでは、プログラムは、 バイナリ・テキスト変換ツールや、アーカイバなどを使って変換さ れて流されている。ここでは、これらを元に戻す方法を説明する。 [shar/unshar] あまり量が多くなて、テキストファイルだけの場合、shar とい うアーカイバを使ってまとめられることが多い。shar でまとめら れたものは普通図17のようになっている。 - ---------------- 図17はじめ-------------------------------- shar でアーカイブされたファイル - ---------------------------------------------------------- #!/bin/sh # This is a shell archive (produced by shar 3.49) # To extract the files from this archive, save it to a file, remove # everything above the "!/bin/sh" line above, and type "sh file_name". # # ... ... .. .. .. exit 0 - ---------------- 図17おわり-------------------------------- このように、shar でまとめられたものは #!/bin/sh ではじまる shell script になっている。したがって、これを解凍するために は#!/bin/sh より上の行を消して、#!/bin/sh から最後までを 例 えば tmp.shar というファイルに save して、それを /bin/sh で 実行すればよい。 - ---------------- 図18はじめ-------------------------------- shar ファイルの解凍 - ---------------------------------------------------------- % head tmp.shar #!/bin/sh # This is a shell archive (produced by shar 3.49) # To extract the files from this archive, save it to a file, remove # everything above the "!/bin/sh" line above, and type "sh file_name". .... % sh tmp.shar .... - ---------------- 図18おわり-------------------------------- shar によって作られた shell script を使って自動的に解凍され る。 また、unshar というコマンドを使えば、わざわざ #!/bin/sh 以 前を消さなくても自動的に解凍してくれる。 [uuencode/uudecode] バイナリファイルの場合には、普通 uuencode を使ってテキスト に変換されて News に流される。uuencode で変換されると図19のよ うな感じになる。 - ---------------- 図19はじめ-------------------------------- uuencode でテキストに変換されたファイル - ---------------------------------------------------------- begin 644 sys98.tar.Z M'YV00YY R2(ER1$D5 H7,BPH<.'$"-*G$BQ(HB+-#*" ' 1Q P;-39VI MALB.'6O0^'BQA@P;,FZ4M!'C1LJ,-3A6W,FSI(J\(B^?0(,*'4JTJ-&C2),F5<"T MJ8($"5#.P&%#R!0B(*2485,FS)PR(&"XB/$4*H@A;^#DD9/F#!HZ32^^4*&@ (略) MS@L;G7/ SN<<3A4Z'P;;*TGG6N[3^> [=0X[EYUSNMN_4W37N>I(J\(BTRWZ+G5W MSB#?F1W=N9 2,-([AW7'(63=PPKAN:V[MHWKUC[HNB$HO&Y46RN@>;[2*[I /SQ5>QN[I^;%'V=WX1I4 end - ---------------- 図19おわり-------------------------------- このように begin ではじまり、end で終っている。これを解凍 するためにはbegin から end までをエディタなどを使って切り出 して、uudecode に入力すればよい。つまり、begin から end まで を切り出して例えば tmp.uue というファイルにsaveして、 uudecode を実行すれば、テキストから元のバイナリに変換される。 図20の例の場合だとsys98.tar.Z というファイルが作られる。 - ---------------- 図20はじめ-------------------------------- uudecode で元にもどす - ---------------------------------------------------------- % ls tmp.uue % head tmp.uue begin 644 sys98.tar.Z M'YV00YY R2(ER1$D5 H7,BPH<.'$"-*G$BQ(HB+-#*" ' 1Q P;-39VI MALB.'6O0^'BQA@P;,FZ4M!'C1LJ,-3A6W,FSI(J\(B^?0(,*'4JTJ-&C2),F5<"T MJ8($"5#.P&%#R!0B(*2485,FS)PR(&"XB/$4*H@A;^#DD9/F#!HZ32^^4*&@ .... end % uudecode tmp.uue % ls sys98.tar.Z tmp.uue % ■ - ---------------- 図20おわり-------------------------------- 巨大なプログラムなどの場合 uuencode されたテキストも巨大に なるので、複数の記事に分割されている場合もある。その場合は、 uuencode で変換された部分を順番通りにつなぎ合わせて一つのファ イルにしてから uudecode をかければよい。ただし、順番を間違え たり、変な行が入っていたり行が抜けていたりすると正しく復元で きない。 [compress/uncompress/zcat] shar などでは巨大になり過ぎるような場合などには、普通 compress という圧縮プログラムを使って圧縮し、それを uuencode してテキストにして News に投稿されている。このような場合 uudecode すると普通、.Z で終るファイル名をもつファイルができ る。compress されたファイルは .Z で終るファイル名を持つ。ま た、後で説明するanonymous ftp でも多くのファイルが compress で圧縮されている。 これを元に戻すためには uncompress を使う。例えば先ほどの uuencode/uudecode の例で出てきたファイルを uudecode すると sys98.tar.Z ができる。これを uncompress すると元にもどすこと ができる。compress で圧縮されていたのを元に戻し、ファイル名の 最後の .Z がなくなる。 - ---------------- 図21はじめ-------------------------------- uncompress の実行 - ---------------------------------------------------------- % ls sys.98.tar.Z tmp.uue % uncompress sys98.tar.Z % ls sys98.tar tmp.uue % ■ - ---------------- 図21おわり-------------------------------- uncompress のかわりに zcat を使うと、ファイルそのものを展 開してしまうのではなくて、展開した結果を標準出力に出力するよ うになる。例えば、compress したファイルも残しておきたい時な どは zcat を使って解凍する方法もある。 - ---------------- 図22はじめ-------------------------------- zcat の実行 - ---------------------------------------------------------- % zcat sys98.tar.Z > kernel.tar % ls kernel.tar sys98.tar.Z tmp.uue % ■ - ---------------- 図22おわり-------------------------------- [tar] 複数のファイルを一つにまとめるために tar というコマンドが よく使われる。tar コマンドにはいろいろオプションがあるがとり あえず知っていればいいのは図23のコマンドくらいである。 - ---------------- 図23はじめ-------------------------------- tar の使い方 - ---------------------------------------------------------- tar cf <出力ファイル> (ファイル、ディレクトリ.....) (ファイル、ディレクトリ....) で示されたファイルを <出力ファイル> にまとめる。<出力ファイル> のファイル 名は普通 .tar で終るようにする。 ディレクトリの下のファイルは全てまとめる対象となる。 tar xf <入力ファイル> ((ファイル etc)) tar でまとめられた <入力ファイル> を展開する ((ファイル etc))が指定されるとそのファイルだけを展開する。 ((ファイル etc))の指定がないと<入力ファイル>の中を全て展 開する。 tar tf <入力ファイル> tar でまとめられた <入力ファイル> の中のファイルのファ イル名を見る。 - ---------------- 図23おわり-------------------------------- それぞれの場合について、v オプションをつければどのファイルを 操作中かが表示される。 例えば、tar でまとめられたファイルを展開するためには図24の ようにすればよい。 - ---------------- 図24はじめ-------------------------------- tar ファイルの展開 (x コマンド) - ---------------------------------------------------------- % tar xvf sys98.tar drwxr-xr-x root/wheel 0 Jan 13 17:08 1993 ./ lrwxrwxrwx root/wheel 0 Jan 13 17:08 1993 sys -> ./usr/src/sys.386bsd drwxr-xr-x root/wheel 0 Jan 13 17:08 1993 usr/ drwxr-xr-x root/wheel 0 Jan 13 17:08 1993 usr/src/ drwxr-xr-x root/wheel 0 Jan 13 17:13 1993 usr/src/sys.386bsd/ -rw-r--r-- root/wheel 3072 Jul 14 00:25 1992 usr/src/sys.386bsd/ROADMAP drwxr-xr-x root/wheel 0 Jan 13 17:13 1993 usr/src/sys.386bsd/compile/ drwxr-xr-x root/wheel 0 Jan 13 17:14 1993 usr/src/sys.386bsd/conf/ -rw-r--r-- root/wheel 333 Dec 25 07:24 1991 usr/src/sys.386bsd/conf/defines -rw-r--r-- root/wheel 6575 Nov 18 23:14 1992 usr/src/sys.386bsd/conf/files -rwxr-xr-x root/wheel 2096 Jul 12 09:36 1992 usr/src/sys.386bsd/conf/newvers.sh .... % ls sys@ sys98.tar sys98.tar.Z tmp.uue usr/ % ■ - ---------------- 図24おわり-------------------------------- 展開せずにどんなファイルが入っているか知りたい時は tar の t コマンドを使う。この時は、実際にはファイルは展開されない。 - ---------------- 図25はじめ-------------------------------- tar ファイルの内容の確認 (t コマンド) - ---------------------------------------------------------- % tar tvf sys98.tar drwxr-xr-x root/wheel 0 Jan 13 17:08 1993 ./ lrwxrwxrwx root/wheel 0 Jan 13 17:08 1993 sys -> ./usr/src/sys.386bsd drwxr-xr-x root/wheel 0 Jan 13 17:08 1993 usr/ drwxr-xr-x root/wheel 0 Jan 13 17:08 1993 usr/src/ drwxr-xr-x root/wheel 0 Jan 13 17:13 1993 usr/src/sys.386bsd/ -rw-r--r-- root/wheel 3072 Jul 14 00:25 1992 usr/src/sys.386bsd/ROADMAP drwxr-xr-x root/wheel 0 Jan 13 17:13 1993 usr/src/sys.386bsd/compile/ drwxr-xr-x root/wheel 0 Jan 13 17:14 1993 usr/src/sys.386bsd/conf/ -rw-r--r-- root/wheel 333 Dec 25 07:24 1991 usr/src/sys.386bsd/conf/defines -rw-r--r-- root/wheel 6575 Nov 18 23:14 1992 usr/src/sys.386bsd/conf/files -rwxr-xr-x root/wheel 2096 Jul 12 09:36 1992 usr/src/sys.386bsd/conf/newvers.sh .... % ■ - ---------------- 図25おわり-------------------------------- tar でまとめるには tar の c コマンドを使う。 - ---------------- 図26はじめ-------------------------------- tar ファイルの生成 (c コマンド) - ---------------------------------------------------------- % ls doc/ % ls doc CONFIG.98 DEVICE.98 INSTALL.98 README.98 dospart.98 CONTRIB.98 FILES.98 KMC.98 TODO.98 loadfont8.98 COPYRIGHT GUIDE.98 MANIFEST.98 UPDATE.98 mtools.98 COPYRIGHT.98 HISTORY.98 PATCH.98 adjclkd.98 % tar cvf doc.tar doc doc/ doc/COPYRIGHT doc/CONFIG.98 doc/CONTRIB.98 doc/COPYRIGHT.98 .... % ls doc/ doc.tar % ■ mike foo kuro foo - ---------------- 図26おわり-------------------------------- [tar + compress] tar コマンドは単に複数のファイルをまとめるだけで圧縮を行な わない。したがって、tar を使う場合は普通 compress も使って、 tar.Z となるファイルを作ることが多い。これを展開するためには uncompress してからtar xf ... としても良いが図27のようにする こともできる。 - ---------------- 図27はじめ-------------------------------- tar + compress ファイルの解凍 - ---------------------------------------------------------- % zcat sys98.tar.Z | tar xf - - ---------------- 図27おわり-------------------------------- tar コマンドはファイル名として - を指定した時、標準入力/出 力を使うようになっている。したがってこの場合は、zcat で sys98.tar.Z を uncompress した結果を標準出力に出力し、それを パイプを使って tar の標準入力に入力する。tar ではファイル名 として - が指定されているのでパイプから来たデータを tar でま とめられたデータだと思って展開するのである。 3.その他のアーカイバ tarや compress/uncompress/zcat, uuencode/uudecode は UNIX に標準でついてくるので良く使われるが、その他にもさまざまなアー カイバが使われている。良く使われているものを幾つか簡単に説明 する。 [lha] 一番有名なのが lha である。これでまとめて圧縮したファイル はファイル名に .lzh がついている。DOS版もUNIX版も使い方はほ とんど同じである。引数なしで lha を実行すると help がでる。 - ---------------- 図28はじめ-------------------------------- lha のhelp - ---------------------------------------------------------- % lha LHarc for UNIX V 1.02 Copyright(C) 1989 Y.Tagawa LHx for MSDOS V C2.01 Copyright(C) 1990 H.Yoshizaki LHx(arc) for OSK V 2.01 Modified 1990 Momozou LHa for UNIX V 1.00 Copyright(C) 1992 Masaru Oki usage: lha [-]{axelvudmcp}[qvnfodizg012][w=