仕事で毎日コマンドたたくものの全部覚えてられないので、ほぼほぼ自分用の備忘録・学習メモです。
今日は.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
に変化(c
とr
が変わった)- 新しくアーカイブファイルを作るわけじゃないので
-c
は不要 - 下記に書いたけど、ファイルを追加したい(appendしたい)ので
-r
を追加
オプションの覚書
-c (--create)
: 新しくアーカイブファイルを作りたい-v (--verbose)
: アーカイブ中のファイルをターミナルに表示したい-f (--file=ARCHIVE)
: アーカイブしたいファイル名を指定したい-r (--append)
: 既存のアーカイブファイルに追加したい
今回使った、または今後使いそうなオプションたち。()の中に書いてある指定の仕方でもOK。
アーカイブファイルがどんなファイルを含んでいるのかとか、解凍してファイルを取り出すとかを指定するコマンドはこちら。
Related
.tar.gz の中身を解凍せずに見る・解凍して取り出す
昨日の記事(.tar.gz の作り方とファイルの追加)に引き続き、今日使ったコマンドのメモ。
.tar.gz を解凍せずに中のファイルを一覧表示
.tar.gzを展開...more
プログラミング