Linuxのファイル圧縮・アーカイブ

2024-01-14 (日) 10:37:26

Linuxのファイル圧縮・アーカイブ

ファイルの圧縮・解凍(gzip)

gzip

  • 圧縮
    gzip <file-name> ※元のファイルはなくなり、ファイル名の末尾に".gz"を付加したファイルが作成される
    gzip -c <file-name> > <file-name.gz> ※元のファイルを残して、リダイレクトで圧縮ファイルを作成する
    gzip -r <directory-name> ※ディレクトリ内のファイルを個別に圧縮する
  • 展開
    gzip -d <file-name.gz>

gunzip

  • gzip形式の圧縮ファイルを展開する
    gunzip <file-name.gz>
    gunzip <file-name> ※拡張子".gz"は省略可能

zcat

  • gzip形式の圧縮ファイルの閲覧(テキストファイル)
    zcat <file-name.gz>

ファイルの圧縮・解凍(bzip2)

bzip2

  • gzipより圧縮効率が高い
  • gzipと使い方は同じ
  • 圧縮ファイルの拡張子は".bz2"

bunzip2

  • bzip2形式の圧縮ファイルを展開する
    bunzip2 <file-name.bz2>

bzcat

  • bzip2形式の圧縮ファイルの閲覧(テキストファイル)
    bzcat <file-name.bz2>

ファイルの圧縮・解凍(xz)

xz

  • bzip2より圧縮効率が高い
  • 圧縮
    xz <file-name> ※元のファイルはなくなり、ファイル名の末尾に".xz"を付加したファイルが作成される
    xz -k <file-name> ※元のファイルを残して圧縮ファイルを作成する
  • 展開
    xz -d <file-name.xz> ※元のファイルはなくなり展開されたファイルが作成される
    xz -dk <file-name.xz> ※元のファイルを残して圧縮ファイルを展開する
  • 一覧表示
    xz -l <file-name.xz>

unxz

  • xz形式の圧縮ファイルを展開する
    xz <file-name.xz>

xzcat

  • xz形式の圧縮ファイルの閲覧(テキストファイル)
    xzcat <file-name.xz>

ファイルの圧縮・解凍(zip)

zip

unzip

  • 一覧表示(詳細情報) ※展開しない
    unzip -v <file-name>
  • 一覧表示(破損したファイルがないかテスト) ※展開しない
    unzip -t <file-name>

アーカイブ

tar

  • アーカイブを作成(c)
    tar -cvf <file-name.tar> <target-directory>
  • アーカイブの内容を確認(t)
    tar -tvf <file-name.tar>
  • アーカイブを展開(中身を取り出す)(x)
    tar -xvf <file-name.tar>
    tar -xvf <file-name.tar> <extract-file-name> ※アーカイブから指定したファイルのみ取り出す(ディレクトリ構造の頭の"/"は不要)
  • gzipで圧縮(z)
    tar -zcvf <file-name.tar.gz> <target-directory>
    tar -ztvf <file-name.tar.gz>
    tar -zxvf <file-name.tar.gz>
  • bzip2で圧縮(j)
    tar -jcvf <file-name.tar.bz2> <target-directory>
    tar -jtvf <file-name.tar.bz2>
    tar -jxvf <file-name.tar.bz2>
  • xzで圧縮(J)
    tar -Jcvf <file-name.tar.xz> <target-directory>
    tar -Jtvf <file-name.tar.xz>
    tar -Jxvf <file-name.tar.xz>
  • 指定したディレクトリでアーカイブを展開する
    tar xvf <file-name.tar> -C <target-directory>
  • アーカイブ内の指定したディレクトリの階層を切り捨てて展開する
    tar xvf <file-name.tar> --strip-components <number>
    tar xvf <file-name.tar> -C <target-directory> --strip-components 1 ※応用:アーカイブ内の第1階層のディレクトリ名を変更して展開する
  • 上位以外の便利なオプション
    • r ※アーカイブにファイルを追加
    • N ※指定した日付より新しいものを対象とする
    • --delete ※アーカイブからファイルを削除

cpio

  • アーカイブファイルへのファイルの追加・取得を行う
    • アーカイブを作成
      ls | cpio -o > <file-name.cpio>
    • アーカイブのファイルを取得
      cpio -idv < <file-name.cpio> ※展開する
      cpio -itv < <file-name.cpio> ※一覧表示する(展開しない)