助け合いフォーラム

LinuC

LinuC Lv1-101(Ver10.0)
問題ID : 14626
問題を開く
「test」ディレクトリをxz形式で圧縮した「test.tar.xz」というアーカイブにしたい。適切なコマンドは次のどれか

正解

tar cfJ test.tar.xz test

解説

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

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

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


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

上表より、必要なオプションは「c」、「f」、「J(大文字)」です。「v」オプションを使用することで詳細情報を表示することが出来ますが、必須ではありません。なお、「j(小文字)」を指定するとbzip2形式での圧縮となってしまいますので注意が必要です。

したがって正解は
・tar cfJ test.tar.xz test
です。

tarコマンドではファイルやディレクトリをアーカイブにする(1つにまとめる)と同時に、それをgzip形式やbzip2形式、xz形式で圧縮する事ができます。

その他の選択肢については以下のとおりです。
・tar cfvj test.tar.xz test
「j」オプションはbzip2形式での圧縮となるため、誤りです。

・tar cfvJ test test.tar.xz
書式が誤っています。正しくはアーカイブファイル名の指定が先です。

・tar cjf test test.tar.xz
書式が誤っています。正しくはアーカイブファイル名の指定が先です。また、「j」オプションによりbzip2での圧縮が指定されているので誤りです。

・tar xjf test.tar.xz test
・tar xvJf test test.tar.xz
は展開するオプションである「x」が指定されているので、誤りです。
上に戻る

tar cfvJ の書式が間違っているという解説について

投稿日 2024/11/22

上記の通り、
「・tar cfvJ test test.tar.xz
書式が誤っています。正しくはアーカイブファイル名の指定が先です。」
という解説なのですが、これはオプションの「f」が「c」より先に来ないといけないということでしょうか?もしそうだとしたら、正解自体が間違っているという解釈になってしまいます。
どのオプションより、「f」が先に来なければいけなかったのでしょうか。
また、正解の
「tar cfJ test.tar.xz test」
との違いがよくわかりません。途中で処理情報を表示しているだけではないのでしょうか。
学習を始めたばかりのため、私の知識不足・理解力不足とは思いますがどなたか説明していただけると助かります。

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