PR
名前:なつ美 東京美女Linux

 Linuxでコマンドの使い方を学ぶ「日経Linuxコマンド教室」で教える水口先生。授業が終わったところで、すかさず生徒たちから質問が飛んでくる。今日は、なつ美ちゃんが複数ファイルをまとめて扱う方法を尋ねてきた。

水口  今日の授業はここまでにするよ!明日からGWで海外旅行に行くから早く家に帰って準備しなきゃ。

なつ美  先生、ちょっと待ってください。私はGW中にLinuxを勉強します!そんなわけで質問があります。複数のファイルのコピーや移動のときに、今だとすべてのファイル名を記述して実行していまして・・・これだと手間が掛かって大変なんですよね。何か良い方法ありますか?

水口  そういうときは複数のファイルをアーカイブとして1つにまとめればいいんだ。早速やってみよう!Ubuntuでコマンドを操作するには、左上の「Dashホーム」をクリックしよう。その後に検索窓で「端末」と入力するとアイコンが出る。それもクリックして起動させてね。

写真

水口  アーカイブを作成する場合は、tarコマンドを実行する。このコマンドは、そもそもテープストリーマにファイルをバックアップする目的で作成されたコマンドなのだ。

なつ美  へぇ、初めて知りました。

水口  なので、ファイルとして作成する場合は、オプションを指定してあげる必要がある。例えばカレントディレクトリーにfile1、file2、file3の3つのテキストファイルがあるとするよね。これらを一つずつ他のディレクトリーに移動させるのは手間が掛かるため、1つのファイルにまとめる。次のようにtarコマンドを実行してみよう。

$ tar cvf file_archive.tar file1 file2 file3
このマークで改行

なつ美  オプションの「cvf」ってどんな意味があるんですか?

水口  「-c」は新たにアーカイブを作成する、「-v」は実行結果を表示する、「-f」はファイルとして保存するという意味がある。ちなみにハイフン「-」は、省略することもできるから覚えておいてね!

なつ美  了解しました!あとファイル名の拡張子が「.tar」となっているんですけど、これは決まりがあるんでしょうか?

水口  慣習として使われるんだ。なので「.tar」とは違うファイル名でもいいんだよ。それでは、tarコマンドの実行後の内容を見てみよう。

$ ls -l
-rw-rw-r-- 1 kmizuguchi km
izuguchi 10240 4月11 23:05
file_archive.tar

水口  3つのファイルをまとめたアーカイブ「file_archive.tar」が作成されたね。

なつ美  はい。でもアーカイブの内容が分からなくなった場合、どうすればいいんですか?

水口  その場合は、「-t」オプションを付けて実行すれば、アーカイブの内容を表示できる。ファイルとして保存してあるものならば、「-f」オプションも同時に指定する。

$ tar tf file_archive.tar
file1
file2
file3

水口  ファイルの属性までも表示させたい場合は、「-v」オプションも同時に指定すればいい(図1)。

図1●ファイルの属性までも表示させたい場合
図1●ファイルの属性までも表示させたい場合