Linuxとコマンドラインの基礎

「tar -czf proj.tar.gz proj/」を実行したときの動作として、正しいものはどれか。

  1. Aproj ディレクトリ全体を1つにまとめ、gzip で圧縮した proj.tar.gz を作る
  2. Bproj.tar.gz を展開して、中に入っているファイルを proj ディレクトリに取り出す
  3. Cproj ディレクトリの中の各ファイルを、それぞれ別の .gz のファイルに1つずつ圧縮する
答えと解説を見る

正解:A. proj ディレクトリ全体を1つにまとめ、gzip で圧縮した proj.tar.gz を作る

tar は複数のファイルやディレクトリを1つのファイル(アーカイブ)にまとめるコマンドで、-c は作成、-z は gzip による圧縮、-f は続くアーカイブのファイル名を指定することを表します。元の proj ディレクトリはそのまま残ります。展開するときは -c の代わりに -x を使って「tar -xzf proj.tar.gz」、中身の一覧を見るときは -t を使います。gzip だけでは1つのファイルを圧縮するだけなので、ディレクトリをまとめて送るときは tar と組み合わせます。

  • A. 正しい。-c で作成し、-z で gzip の圧縮をかけます。
  • B. 展開するのは -x を付けたときです。-c はアーカイブを作ります。
  • C. ファイルを1つずつ .gz に圧縮するのは、gzip -r の動作です。tar は1つのアーカイブにまとめます。
この分野を解く 分野ページへ

Linuxとコマンドラインの基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

Linuxとコマンドラインの基礎のほかの問題

  1. Gitで管理しているファイル main.c を編集した後、「git commit -m "fix"」だけを実行したところ、「no changes added to commit」と表示されてコミットされなかった。理由として、正しいものはどれか。
  2. Gitで git commit を実行したが、チームで共有している GitHub のリポジトリには、そのコミットがまだ表示されていない。理由として、正しいものはどれか。
  3. Gitで管理しているプロジェクトの .gitignore に「build/」と書いたが、以前にコミットした build/out.log の変更が、git status に表示され続ける。理由として、正しいものはどれか。
  4. Linuxの標準的なディレクトリと、そこに置かれるものの組み合わせとして、正しいものはどれか。
  5. Linuxの /proc ディレクトリの説明として、正しいものはどれか。