助け合いフォーラム

LinuC

LinuC Lv1-101(Ver10.0)
問題ID : 14645
問題を開く
gzip形式で圧縮したアーカイブファイル「test.tar.gz」の内容をカレントディレクトリに展開せずに表示したい。適切なコマンドは次のうちどれか。(2つ選択)

正解

tar ftvz test.tar.gz

gzip -cd test.tar.gz | tar ftv -

解説

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

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

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


なお、tarコマンドではオプションの「-」は省略できます。

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

もしくは、gzipの-dオプション(圧縮ファイルを展開する)と、–cオプション(標準出力へ書き出す)で解凍後のファイル名をtarコマンドにパイプ(|)で渡しても同じ事が可能です。
例)gzip -cd test.tar.gz | tar ftv -
*上記tarコマンドの最後のハイフンは、標準入力からファイル名を受け取る事を意味し、この場合は必須です。

したがって正解は
・tar ftvz test.tar.gz
・gzip -cd test.tar.gz | tar ftv -
です。

以下は実行例です。
アーカイブの内容を表示していますが、実際はカレントディレクトリに展開されていません。


その他の選択肢は以下のとおりです。
・gzip -cd test.tar.gz | tar ftv
エラーになるので誤りです。上記tarコマンドの最後には、標準入力からファイル名を受け取る事を意味するハイフンが必要になります。

・tar fxvz test.tar.gz
・gzip -cd test.tar.gz | tar fxv -
これらのコマンドはアーカイブからファイルを展開するので誤りです。
上に戻る

回答を読んで理解できなかった点

投稿日 2023/01/23

「gzip形式で圧縮したアーカイブファイル「test.tar.gz」の内容を”展開せず”に表示したい。」であるならば
模範解答の2つのコマンドはどちらもgzipファイルを展開しているような気がします。
参考URLを読んでも「tar -z」や「gzip -d」に「展開しない」という説明が無いので教えてくださると幸いです。

・tar ftvz test.tar.gz
f…アーカイブファイル名を指定する
t…アーカイブの内容を確認する
v…詳細な情報を表示する
z…gzipファイルを展開・圧縮する
⇒gzipを展開し、test.tar.gzを指定しつつ詳細な内容を確認する

・gzip -cd test.tar.gz | tar ftv -
gzip
-c…標準出力へ出力する
-d…圧縮ファイルを展開する
tar
f…アーカイブファイル名を指定する
t…アーカイブの内容を確認する
v…詳細な情報を表示する
⇒gzipを展開、標準出力へ出力し、指定した「test.tar.gz」の詳細な情報を確認する

スタッフからの返信

s staff_meg

2023/01/23 18:16

odasuzukaさん、 ご指摘の点を修正致しました。 ご報告、誠にありがとうございました。

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