【Linux】
            ファイルの圧縮・解凍(展開)を行う方法
        tarコマンドとgzip・bzip2・xzコマンドとgunzip・bunzip2・unxzコマンド
投稿日 2022/07/05 更新日 2022/07/05
 
        こんにちは。当サイトの管理者「元木皇天」です。
今回はLinuxコマンドを使用してファイルを圧縮・展開(解凍)する方法について解説いたします。
環境
            OS:Kali Linux Ver5.15
        
圧縮する方法
Linuxでファイルを圧縮するコマンドはたくさんあります。
今回はその中でもよく使うtarコマンドとそれに関連するコマンドを紹介したいと思います。
tarコマンドは、普通に使用すると特に圧縮をせず複数のファイルをアーカイブファイルとして1つのファイルにまとめるだけですが、オプションを指定することで、圧縮をすることができます。
tarコマンドで圧縮する形式は3つあります。
                    ・gzip
                    ・bzip2
                    ・xz
                
この3つの違いは圧縮率が異なると言う点です(以下画像参照)。
 
                tarコマンドでそれぞれの形式で圧縮をするには以下のオプションを使用します。
| オプション | 説明 | 
|---|---|
| -c | アーカイブを作成する | 
| -f | アーカイブファイル名を指定する | 
| -z | gzip形式で圧縮・展開(解凍)する | 
| -j | bzip2形式で圧縮・展開(解凍)する | 
| -J | xz形式で圧縮・展開(解凍)する | 
| -v | 処理の詳細情報を表示する | 
実際にtarコマンドを使用して圧縮する例は以下の通りです(以下の例ではカレントディレクトリを圧縮しています)。
#gzip形式で圧縮する tar zcvf sample.tar.gz . #bzip2形式で圧縮する tar jcvf sample.tar.bz2 . #xz形式で圧縮する tar Jcvf sample.tar.xz .
tarコマンドでは「-(ハイフン)」をつけずにオプションを指定するのが一般的です。
また、gzip・bzip2・xz形式の圧縮専用のコマンドもあります。
以下はそれぞれ専用の圧縮コマンドを使用して圧縮を行う例です(以下の例ではカレントディレクトリのsample.txtを圧縮しています)。
#gzip形式で圧縮する gzip sample.txt #bzip2形式で圧縮する bzip2 sample.txt #xz形式で圧縮する xz sample.txt
なお、tarコマンドはディレクトリを圧縮できますが、各圧縮コマンドではファイル単体でしか圧縮できません。
展開(解凍)する方法
Linuxでファイルを展開(解凍)するコマンドも圧縮同様tarコマンドで実行できます。
tarコマンドで展開するには「x」オプションを使用します。
実際にtarコマンドを使用して展開(解凍)する例は以下の通りです(以下の例ではカレントディレクトリの圧縮ファイル名sampleを展開しています)。
#gzip形式ファイルを展開(解凍)する tar zxfv sample.tar.gz #bzip2形式ファイルを展開(解凍)する tar jxfv sample.tar.bz2 #xz形式ファイルを展開(解凍)する tar Jxfv sample.tar.xz
また、gzip・bzip2・xz形式の専用の展開(解凍)コマンドもあります。
以下はそれぞれ専用の展開(解凍)コマンドを使用して展開を行う例です(以下の例ではカレントディレクトリの圧縮ファイル名sampleを展開しています)。
#gzip形式ファイルを展開(解凍)する gunzip sample.tar.gz #bzip2形式ファイルを展開(解凍)する bunzip2 sample.tar.bz2 #xz形式ファイルを展開(解凍)する unxz sample.tar.xz
まとめ
                Linuxコマンドで圧縮を行う場合は
                
                    tarコマンド
                    gzipコマンド
                    bzip2コマンド
                    xzコマンド
                
            
                Linuxコマンドで展開(解凍)を行う場合は
                
                    tarコマンド
                    gunzipコマンド
                    bunzip2コマンド
                    unxzコマンド
                
            
を使用します。
 
                             
                             
                             
                         
                         
                        