linuxファイルの解凍と圧縮ファイルの作成


参考サイト:https://www.cnblogs.com/sinsenliu/p/9369729.html
約束:FileNameはファイル名を表し、ディレクトリ名nameはファイル名でもディレクトリ名でも構いません.DirNameはディレクトリ名を表します.
ヒント:圧縮パッケージの中身をvimでプレビューできます.例えば
vim FileName.tar.xz

分散したファイルがターゲットフォルダを汚染することを防止します.

.rar


参考サイトのrar部分に誤ってrarソフトウェアがインストールされたようです.
sudo apt install rar

解凍

  • 現在のディレクトリに解凍:
  • rar e FileName.rar
    

    e:extractのe
  • 指定ディレクトリに解凍:
  • rar x FileName.rar DirName/
    

    x:extractのx DirNameの後に必ず「/」を付けます.例えば~/lalala/

    作成

    rar a FileName.rar DirName
    

    DirNameの後に「/」を付けなくてもかまいません.ターゲットファイルのパスを指定する場合は、FileNameで指定できます.例えば~/backup/sth.rar

    .zip


    参考サイトのzip部分が間違っているようです

    解凍

  • 現在のディレクトリに解凍:
  • unzip FileName.zip
    
  • 指定ディレクトリに解凍:
  • unzip FileName.zip -d DirName
    

    作成

    zip FileName.zip -r DirName
    

    .tar


    参考サイト:http://www.linuxdiyf.com/view_154669.html

    現在のディレクトリに解凍

    tar -xvf FileName.tar
    

    x:解凍ファイル(extractのx)v:印刷詳細(verbose)f:ファイル名(file)の指定

    指定したディレクトリに解凍

    tar -xvf FileName.tar -C DirName
    

    C:作成ディレクトリに解凍tarコマンドで解凍する場合、tar.のような出力パスを指定するには、このオプションを使用します.gzとtar.xz.

    作成

    tar -cvf FileName.tar files
    

    ここでfilesはフォルダ名であってもよいし、ファイルを表す正規表現(例えば*.jpg)c:圧縮(compress)であってもよい
    特に、上記のfilesでは、/usr/share/fontsのような絶対パスを使用しないでください.~/backupもできません(なぜなら"~"は/home/ユーザー名に翻訳されるからです).tarがファイルに追加されると、ファイルの相対的な位置も加算され、解凍されたファイルは、それらの相対的な位置に基づいて解凍されたディレクトリに配置されます.そのため、圧縮を行うには、圧縮するファイルやフォルダがあるディレクトリにcdが必要です.

    .gz


    参考サイト:https://blog.csdn.net/zdx1515888659/article/details/82841100

    現在のディレクトリに解凍

    gzip -d FileName.gz
    

    d:解凍(decompress)は自動的に元のFileNameをgz解凍後のファイルを削除して生成します.
    オプションkを追加して元のファイルを保持できます.
    gzip -dk FileName.gz
    

    k: keep

    現在のディレクトリに圧縮

    gzip FileName
    

    元のファイルが自動的に削除され、FileNameが作成されます.gz. gzipの一般的なオプション:k:ソースファイルを保持(keep)
  • gzipその他の一般的なオプションv:印刷詳細(verbose)
  • .tar.gz


    参考サイト:https://blog.csdn.net/weixin_42628856/article/details/81332138 https://zhidao.baidu.com/question/9844116.html
    名の通りtar.gzはtarファイルをgzipで圧縮したファイルである.だから解凍はまずgzを解凍して、tarを解凍して、圧縮しても先にtarに圧縮して、更にgzに圧縮することができます.
    1つのコマンドを使用して、解凍または圧縮を完了することもできます.

    解凍

  • 現在のディレクトリ
  • に解凍
    tar -zxvf FileName.tar.gz
    

    zはgzを表す
  • 指定ディレクトリ
  • に解凍
    tar -zxvf FileName.tar.gz -C path
    

    作成

    tar -czvf FileName.tar.gz files
    

    ここでfilesはフォルダ名であってもよいし、ファイルを表す正規表現であってもよい(*.jpgなど)

    .xz


    xzフォーマットの圧縮率は極めて高いが,圧縮と解凍も極めて遅い.

    シングルスレッド解凍

  • 現在のディレクトリ
  • に解凍
    xz -d FileName.xz
    

    ソースファイルが自動的に削除され、ファイルFileNameが生成されます.オプションkでソースファイルを保存できます
    xz -dk FileName.xz
    

    k: keep
  • 指定ファイル名
  • に解凍
    xz -dc FileName.xz > FileName2
    

    c:圧縮ファイルをstdoutに出力します.ソースファイルを削除しない

    シングルスレッド圧縮

  • は現在のディレクトリ
  • に圧縮する.
    xz -z FileName
    

    元のファイルが自動的に削除され、FileNameが生成されます.xz.オプションkで元のファイルを保存できます
    xz -zk FileName
    

    マルチスレッド圧縮

    xz -zkT0 FileName
    

    T:マルチスレッドを使用し、スレッド数に続く.パラメータが0の場合は、[マシンコア数]スレッドを使用します.
    この方法ではファイルを圧縮するしかありません.マルチスレッド圧縮ディレクトリの方法を参照してください.tar.xz

    .tar.xz


    参考サイト:https://blog.csdn.net/wangshan3366/article/details/83095643 https://zhidao.baidu.com/question/1639604825027635340.html
    名前の通り、ファイルをtarにパッケージしてからxzに圧縮します.解凍時にxzを解凍してtarファイルを得てからtarを解凍することができます.
    1つのコマンドを使用して、解凍または圧縮を完了することもできます.

    シングルスレッド解凍

    tar xJf name.tar.xz
    

    x: extract J: xz

    シングルスレッド圧縮

    tar cJf name.tar.xz name
    

    c: compress

    マルチスレッド解凍

    xz -dcT0 FileName.tar.xz | tar -xC DirName
    

    tarはfオプションを持たず、stdinから読み出すことを示す.

    マルチスレッド圧縮


    この方法ではファイルを圧縮したり、ディレクトリを圧縮したりすることができます.
    tar -cf - name | xz -T0 -c > FileName.tar.xz
    

    知識点:tar出力ファイル名が「-」の場合stdoutに出力xzがソースファイルを指定していない場合stdinから読み出す