助け合いフォーラム

LinuC

LinuC Lv1-101(Ver10.0)
問題ID : 14640
問題を開く
gzip形式で圧縮したアーカイブファイル「test.tar.gz」の内容を表示したい。適切なコマンドは次のうちどれか。(二つ選べ)

正解

tar ftvz test.tar.gz

tar ftz test.tar.gz

解説

tarコマンドは複数のファイルをまとめて1つのファイル(アーカイブ)にする、またはアーカイブを展開する際に使用するコマンドです。アーカイブを展開することなくアーカイブの内容を確認することもできます。

tarコマンドの書式と主なオプションは以下のとおりです。

tar [オプション] [ファイルまたはディレクトリ名]


なお、tarコマンドではオプションの「-」は省略できます。オプションは順不同でも動作しますが、慣習的にはc, x, tのような動作オプションを先頭に指定します。

上表より、必要なオプションは「t」、「f」、「z」です。また、「v」オプションを使用することで詳細情報を表示できます。

したがって正解は
・tar ftvz test.tar.gz
・tar ftz test.tar.gz
です。

「test.tar.gz」は、拡張子が「tar.gz」であることから、複数のファイルがtarコマンドでアーカイブされた後、gzipで圧縮されている事を示しています。

なお、tarでアーカイブし、gzipで圧縮したファイルの拡張子は「tar.gz」のほか、略して「tgz」とする場合もあります。
ファイル名の例) 「test.tar.gz」「test.tgz」

以下は実行例です。「v」オプションを併用するとアーカイブから展開されるファイルが表示されます。


アーカイブを展開する場合は、「x」オプションを使用します。
以下は実行例です。


その他の選択肢については以下のとおりです。
・tar tjvf test.tar.gz
・tar tjf test.tar.gz
「j」はbzip2を通して圧縮/展開するオプションですので、誤りです。

・tar cvf test.tar.gz
「c」はアーカイブを作成するオプションですので、誤りです。
上に戻る

内容一覧表示時の「z」オプションの必要性

投稿日 2024/10/28

問題解説にて、
=====================
上表より、必要なオプションは「t」、「f」、「z」です。また、「v」オプションを使用することで詳細情報を表示できます。
=====================
とありますが、実際にアーカイブファイルの内容一覧表示に必要なオプションは圧縮か非圧縮問わず「t」、「f」のみで問題ない認識です。
※実際に試しましたが、「z」の有無で実行結果が変わることはありませんでした。

問題文上「z」が付加されており、また付加されていても求める結果が出るため、選択肢として適当だとは思うのですが、その他に「z」を付加しなければならない理由はあるのでしょうか。明示的に付けてあげるお作法のようなもの?

2024/10/29 13:39

最近ではzを明示的につけなくても圧縮形式を認識して表示や展開をしてくれるようになったみたいですね。
自動判定に頼らず指定した方が最も確実であるとか、古めのシステムではzオプションを付けたほうが動作の互換性が保たれるとかで、望ましいとされているのかも・・・?
zは実際には出番がなくなってきていても圧縮時には明示が必要なオプションですから知っておいて損はないとはいえそうです。


コメント

r rockey1206

2024/10/29 15:16

ご返信ありがとうございます! 以前は一覧表示にもファイル形式の指定が必須だったわけですね~。 確かに、gzip形式でも.tar.bz2のファイル名で作成することはできてしまうので、あえて明示的にすることで形式の確認作業ができるとも考えられますかね。 果たして現在、zオプションの有無で機能的な差異出るのかはわかりませんが、いずれにせよファイル形式とオプションの組み合わせは覚えておきます!

この返信に対して
コメントを記入できます

この投稿に対して返信しませんか?