.tar.gz の作り方とファイルの追加

仕事で毎日コマンドたたくものの全部覚えてられないので、ほぼほぼ自分用の備忘録・学習メモです。

今日は.tar.gzファイルを作ったときに間違えたことと学んだこと、今後ためになりそうなことのメモ。

.tar.gzファイルの作成

tar -zcvf apple.tar.gz apple.txt banana.txt
  • apple.tar.gzは、作成したい.tarファイルの名前。
  • apple.txtは.tar.gzに入れたいファイルの名前(パス)。複数入れることが可能。
  • -zが .gzにしてね、というコマンド

例えば、あるフォルダのなかにあるappleという文字列が入ったファイルを全部いれたかったとしたら、

files=`ls -1v *apple*`
tar -zcvf apple.tar.gz $files

という風にもできる。

元のデータを削除したい

今回は、.tar.gzを作った後に元のデータを削除したかったので、--remove-filesというオプションを追加。

下記のように追加する位置を間違えたため、初回は--remove-filesというアーカイブファイルができてしまった。

# 正しくはこう
files=`ls -1v *apple*`
tar -zcvf apple.tar.gz $files --remove-files

# 私の間違え
files=`ls -1v *apple*`
tar -zcvf apple.tar.gz --remove-files $files

tar--remove-filesオプションは、-zcvfとかの後じゃなくて、最後に入れるのね。

既存の.tar.gzにファイルを後から追加

tar -zrvf apple.tar.gz pineapple.txt banana.txt peach.txt
  • -zcvfから-zrvfに変化(crが変わった)
  • 新しくアーカイブファイルを作るわけじゃないので -cは不要
  • 下記に書いたけど、ファイルを追加したい(appendしたい)ので-rを追加

オプションの覚書

  • -c (--create): 新しくアーカイブファイルを作りたい
  • -v (--verbose): アーカイブ中のファイルをターミナルに表示したい
  • -f (--file=ARCHIVE): アーカイブしたいファイル名を指定したい
  • -r (--append): 既存のアーカイブファイルに追加したい

今回使った、または今後使いそうなオプションたち。()の中に書いてある指定の仕方でもOK。

アーカイブファイルがどんなファイルを含んでいるのかとか、解凍してファイルを取り出すとかを指定するコマンドはこちら。

Related
Computer
.tar.gz の中身を解凍せずに見る・解凍して取り出す
昨日の記事(.tar.gz の作り方とファイルの追加)に引き続き、今日使ったコマンドのメモ。 .tar.gz を解凍せずに中のファイルを一覧表示 .tar.gzを展開...more  
プログラミング
\ Share /

Leave a Comment