Computer
05.03.2022

.tar.gz の中身を解凍せずに見る・解凍して取り出す

昨日の記事(.tar.gz の作り方とファイルの追加)に引き続き、今日使ったコマンドのメモ。 .tar.gz を解凍せずに中のファイルを一覧表示 .tar.gzを展開する前に、中身を確認したかったので、下記を実行。 tar -tf ファイル名.tar.gz -t(または --list): アーカイブファイルの中身を一覧表示 -f(または--file=ARCHIVE): 「ファイル」を表示 実行すると、.tar.gzに入っているファイルがずらっと一覧表示されました。 私は今回は必要なかったけど、-vも一緒に入れてあげるとls -laのコマンドを実行した時のような、ファイルの大きさ、所有者などの詳細が一緒に出てくるよう。 .tar.gz を解凍して中身を取り出す 中身を全部一気に取り出す(解凍する)場合はこちら。 tar -xvzf ファイル名.tar.gz -x(または --extract, --get): ファイルをextractする、取り出す -v(または --verbose): 作業の状況を可視化。無くてもOK。 -z(または --gzip, --gunzip, --ungzip): .gzファイルを解凍するので-zを追加 .tar.gz から特定のファイルだけ取り出す 下記のように、.tar.gzの後にファイルの一部を正規表現で入れてあげると、欲しいファイルだけ取り出すことも。 # ファイル名に'apple'を含むファイルを取り出す tar -xvzf ファイル名.tar.gz '*apple*' # 拡張子が '.txt' のファイルのみ取り出す tar -xvzf ファイル名.tar.gz '*\.txt' 以上、今日のメモでした。 …

Computer
05.02.2022

.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に変化(cとrが変わった) 新しくアーカイブファイルを作るわけじゃないので -cは不要 下記に書いたけど、ファイルを追加したい(appendしたい)ので-rを追加 オプションの覚書 -c (--create): 新しくアーカイブファイルを作りたい -v (--verbose): アーカイブ中のファイルをターミナルに表示したい -f (--file=ARCHIVE): アーカイブしたいファイル名を指定したい -r (--append): 既存のアーカイブファイルに追加したい 今回使った、または今後使いそうなオプションたち。()の中に書いてある指定の仕方でもOK。 アーカイブファイルがどんなファイルを含んでいるのかとか、解凍してファイルを取り出すとかを指定するコマンドはこちら。 …