tarを用いて複数のファイルを纏める方法


(この文章は2004年度のTA、渡邉卓也さんが書いたものを増原が修正したものです。)

まず、纏めたいファイルが在るディレクトリに移動します。ここでは、getcp1コマンドで作られた~/javabook/turtleディレクトリでプログラムを作成していると仮定します。(~/は自分のホームディレクトリを表します。)

ターミナルを起動し、cd ~/javabook/turtleと入力します。
ux101$ cd ~/javabook/turtle

lsコマンドでこのディレクトリに置かれているファイルを確認しましょう。

ux101$ ls
AHouse.java                Mikuji81.java  T23.java   T71.java
Args51.java                Mikuji82.java  T41.java   T81.java
ClickableTurtleFrame.java  Mikuji83.java  T43.java   Tensen.java
ClikcableTFDemo.java       Multi91.java   T45.java   TextHouse.java
ColorFrame.java            Multi93.java   T48.java   Thread91.java
Drawable.java              Rabbit.java    T491.java  Timer.java
Filling.java               Rabbit0.java   T492.java  Turtle.java
Hello31.java               SLock.java     T493.java  TurtleFrame.java
Hoteisiki41.java           SPolygon.java  T494.java  TurtlePanel.java
Hoteisiki42.java           Sleep91.java   T51.java   report01.text
House.java                 Stepper.java   T53.java
Kinri41.java               T21.java       T61.java
Kinri43.java               T22.java       T62.java

置かれているファイルの内、report01.text、T21.java、T22.java、T23.javaの四つをレポートとして提出したいとします。(実際に提出する際には、課題で新たに作成したプログラムだけでなく、既存のものを変更したプログラムや説明書き、実行結果の画像ファイル等、必要なものを全て一つに纏めて提出して下さい。特に、以前の課題で作成したプログラム等で、今回の課題のプログラムの実行に必要だけれども今回は変更をしていない、といったものは忘れがちですので注意して下さい。)

tarコマンドで複数のファイルを一つに纏めることが出来ます。ここでは、自分のユーザ名が g030186 で第1回課題を最初に提出するとします。その場合、g030186-1-1.tar.gzという名前のファイルに纏めることになります。(ファイル名は<自分のユーザ名>-<課題番号>-<提出回数>.tar.gzという形式で付けるようにして下さい。)

tar cvzf g030186-1-1.tar.gz report01.text T21.java T22.java T23.javaと入力して下さい。
ux101$ tar cvzf g030186-1-1.tar.gz report01.text T21.java T22.java T23.java
report01.text
T21.java
T22.java
T23.java

lsコマンドでg030186-1-1.tar.gzというファイル名のファイルが作成されていることを確認します。

ux101$ ls -l g030186-1-1.tar.gz
-rw-------    1 cc46829  student      1032 10 20 12:46 g030186-1-1.tar.gz

再びtarコマンドで、g030186-1-1.tar.gzの中身を確認出来ます。

tar tvzf g030186-1-1.tar.gzと入力してみましょう。
ux101$ tar tvzf g030186-1-1.tar.gz
tar: Record size = 16 blocks
-rw------- cc46829/student 989 2004-10-20 12:42:40 report01.text
-rw-r--r-- cc46829/student 810 2004-10-03 14:31:01 T21.java
-rw-r--r-- cc46829/student 603 2004-10-03 14:31:01 T22.java
-rw-r--r-- cc46829/student 706 2004-10-03 14:31:01 T23.java

このg030186-1-1.tar.gzをCFIVEの課題提出機能を使って提出すれば、出したいファイルを一つに纏めた形で提出することが出来ます。

tarコマンドの説明


tarコマンドは複数のファイルを一つのファイルに纏める、またその纏めたファイルから元のファイルを取り出す、といった機能を持ったコマンドです。