Q1tar -cf docs.tar docsを実行すると何が起こりますか?
tar — まとめる/展開する
この記事は、基礎コマンドからシェルスクリプトまでLinuxの実践的なスキルを1からマスターする「Linux入門講座の一部」です。
tar -cf docs.tar docsで複数ファイルを1つの非圧縮アーカイブにまとめ、tar -tf docs.tarで中身を一覧し、tar -xfで元に戻す手順を、図解とブラウザ端末で実際に手を動かして確認します。
まとめて一覧する — tar -cf / tar -tf
tarは複数のファイルやディレクトリを 1 つのファイルにまとめるコマンドです。まとめた 1 つのファイルをtarアーカイブと呼び、慣習として.tarという名前を付けます。tar -cf まとめ先.tar 対象でまとめ、tar -tf まとめ先.tarで中身を一覧して確認します。-cは作成(create)、-tは一覧(list)、-fはファイル名の指定です。
| 書き方 | 効果 |
|---|---|
tar -cf a.tar dir | dirを 1 つのa.tarにまとめる |
tar -tf a.tar | a.tarの中身(含まれるファイル)を一覧する |
tar -xf a.tar | a.tarを展開して元のファイルに戻す |
tar -xf a.tar -C 先 | 展開先のディレクトリを先に指定する |
tar -cf d.tar dでdをd.tarに 1 つへまとめ、tar -tf d.tarで含まれるファイルを取り出さずに一覧します。mkdir -p docs # 素材ディレクトリを作成
printf 'note A\n' > docs/a.txt # 中にファイルを 2 つ
printf 'note B\n' > docs/b.txt
tar -cf docs.tar docs # docs を docs.tar にまとめる
tar -tf docs.tar # docs/ docs/a.txt docs/b.txt を一覧
# 本番サーバーでは tar -czf docs.tar.gz docs で gzip 圧縮もまとめてできます(この学習環境では非圧縮のみ)
本講座は非圧縮 tar で仕組みを確実に学びます
tar -czfなどの gzip 圧縮は Ubuntu などの本番サーバーで使えます。本講座は非圧縮の-cf / -tf / -xfで tar の仕組みを確実に学びます(この学習環境では圧縮は実行しないでください)。
Linux console
0 / 6 実行済み
Loading Linux Terminal...
展開する — tar -xf と -C
まとめたtarアーカイブから元のファイルを取り出すにはtar -xf アーカイブ.tarを使います。-xは展開(extract)です。そのまま実行するとカレントディレクトリに展開されますが、-C 展開先を付けると指定したディレクトリの中に取り出せます。展開後はlsで取り出されたファイルを確認します。
tar -xf docs.tarはカレントに展開、tar -xf docs.tar -C outはoutの中に展開先を指定して取り出します。mkdir -p pack # 素材ディレクトリを作成
printf 'x\n' > pack/a.txt # 中にファイルを用意
tar -cf pack.tar pack # pack を pack.tar にまとめる
mkdir -p out # 展開先を用意
tar -xf pack.tar -C out # out/ の中に展開
ls out # out/pack が取り出されている
Linux console
0 / 7 実行済み
Loading Linux Terminal...
QUIZ
理解度チェック
まずは1問ずつ答えてみましょう。
Q2tarでまとめたdocs.tarの中身を取り出さずに一覧するコマンドはどれですか?
Q3tar -xf pack.tar -C outの-C outは何を指定しますか?