助け合いフォーラム
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 -
これらのコマンドはアーカイブからファイルを展開するので誤りです。
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 -
これらのコマンドはアーカイブからファイルを展開するので誤りです。
参考
tarコマンドはアーカイブの作成およびアーカイブの圧縮、展開を行うコマンドです。
tarコマンドの書式と主なオプションは以下のとおりです。
tar [オプション] [ファイルまたはディレクトリ名]
なお、tarコマンドではオプションの「-」は省略できます。オプションは順不同でも動作しますが、慣習的にはc, x, tのような動作オプションを先頭に指定します。
例1)「aa」「bb」「cc」の3ファイルを1つにまとめて「hoge.tar」というアーカイブにする場合
$ tar cf hoge.tar aa bb cc
例2)「hoge.tar」というアーカイブに含まれるファイルを表示する場合
$ tar -tf hoge.tar
aa
bb
cc
例3)「hoge.tar」というアーカイブを展開する場合
$ tar -xf hoge.tar
例4)「dir」ディレクトリを、bzip2形式で圧縮した「dir.tar.bz2」というアーカイブにする場合
$ tar cfj dir.tar.bz2 dir
例5)gzip形式で圧縮したアーカイブ「dir.tar.gz」(もしくは「dir.tgz」)を展開する場合
$ tar fxz dir.tar.gz
$ tar fxz dir.tgz
gzip形式で圧縮したアーカイブの拡張子は「tar.gz」のほか、略して「tgz」とする場合もあります。
tarコマンドの書式と主なオプションは以下のとおりです。
tar [オプション] [ファイルまたはディレクトリ名]
なお、tarコマンドではオプションの「-」は省略できます。オプションは順不同でも動作しますが、慣習的にはc, x, tのような動作オプションを先頭に指定します。
例1)「aa」「bb」「cc」の3ファイルを1つにまとめて「hoge.tar」というアーカイブにする場合
$ tar cf hoge.tar aa bb cc
例2)「hoge.tar」というアーカイブに含まれるファイルを表示する場合
$ tar -tf hoge.tar
aa
bb
cc
例3)「hoge.tar」というアーカイブを展開する場合
$ tar -xf hoge.tar
例4)「dir」ディレクトリを、bzip2形式で圧縮した「dir.tar.bz2」というアーカイブにする場合
$ tar cfj dir.tar.bz2 dir
例5)gzip形式で圧縮したアーカイブ「dir.tar.gz」(もしくは「dir.tgz」)を展開する場合
$ tar fxz dir.tar.gz
$ tar fxz dir.tgz
gzip形式で圧縮したアーカイブの拡張子は「tar.gz」のほか、略して「tgz」とする場合もあります。
回答を読んで理解できなかった点
投稿日 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さん、 ご指摘の点を修正致しました。 ご報告、誠にありがとうございました。