Linux で一般的に使用される圧縮および解凍コマンド
1. gzip および Gunzip を圧縮および解凍します。
特徴:
-
圧縮率は約6:1です
-
このコマンドはファイルのみを圧縮でき、ディレクトリは圧縮できません
-
圧縮または解凍後にソースファイルを保存しないでください
圧縮例: 圧縮が必要な gzip ファイル
解凍例 Gunzip xx.gz または gzip -d xx.gz
[root@localhost fengmin]# ll
total 656
-rw-r--r--. 1 root root 670293 Nov 4 10:16 services
[root@localhost fengmin]# gzip services
[root@localhost fengmin]# ll
total 136
-rw-r--r--. 1 root root 136088 Nov 4 10:16 services.gz # 压缩比例大概是6:1
[root@localhost fengmin]# ll
total 656
-rw-r--r--. 1 root root 670293 Nov 4 10:16 services
drwxr-xr-x. 2 root root 23 Nov 4 10:18 test
[root@localhost fengmin]# gzip test # 不能压缩目录
gzip: test is a directory -- ignored
2. 圧縮・解凍コマンド tar
ディレクトリまたはファイルをパックします。パラメータに -z が含まれていない場合、圧縮なしでのみパックされます。圧縮ファイル形式 .tar または .tar.gz
パッケージ形式:tarオプション[-zcf] 圧縮ファイル名ディレクトリ
-c パッケージ
-v 詳細なパッケージ情報を表示します
-f は圧縮ファイル名を指定します
-z パックと圧縮を同時に行う
-x 解凍
解凍形式: tar
また、tar -cvf xx.tar xx と gzip xx.tar という 2 つの手順でパッケージ化して圧縮することもできます。生成されるファイルは xx.tar.gz です。
# 一步到位,打包加压缩
[root@localhost fengmin]# ll
total 656
-rw-r--r--. 1 root root 670293 Nov 4 10:16 services
drwxr-xr-x. 2 root root 23 Nov 4 10:18 test
[root@localhost fengmin]# tar -cvzf test.tar.gz test
test/
test/hello.txt
# 分两步,先打包再压缩
[root@localhost fengmin]# ll
total 656
-rw-r--r--. 1 root root 670293 Nov 4 10:16 services
drwxr-xr-x. 2 root root 23 Nov 4 10:18 test
[root@localhost fengmin]# tar -cvf test.tar test/
test/
test/hello.txt
[root@localhost fengmin]# ll
total 668
-rw-r--r--. 1 root root 670293 Nov 4 10:16 services
drwxr-xr-x. 2 root root 23 Nov 4 10:18 test
-rw-r--r--. 1 root root 10240 Nov 4 10:43 test.tar
[root@localhost fengmin]# gzip test.tar
[root@localhost fengmin]# ll
total 660
-rw-r--r--. 1 root root 670293 Nov 4 10:16 services
drwxr-xr-x. 2 root root 23 Nov 4 10:18 test
-rw-r--r--. 1 root root 154 Nov 4 10:43 test.tar.gz
# 解压
[root@localhost fengmin]# ll
total 1320
-rw-r--r--. 1 root root 670293 Nov 4 10:16 services
-rw-r--r--. 1 root root 675840 Nov 4 10:49 services.tar
drwxr-xr-x. 2 root root 23 Nov 4 10:18 test
-rw-r--r--. 1 root root 145 Nov 4 10:46 test.tar.gz
[root@localhost fengmin]# tar -zxvf test.tar.gz
test/
test/hello.txt
3. 圧縮・解凍コマンド zip
ファイルまたはディレクトリを圧縮します。Linux と Windows の両方でサポートされる形式
zip オプション [-r] 圧縮ファイル名 ファイルまたはディレクトリ
-r 圧縮ディレクトリ (-r なしは圧縮ファイルを意味します)
unzip xxx.zip ファイルを解凍します
[root@localhost fengmin]# ll
total 4
-rw-r--r--. 1 root root 75 Nov 4 10:57 hello.txt
drwxr-xr-x. 2 root root 19 Nov 4 10:56 test
[root@localhost fengmin]# zip hello.zip hello.txt # 压缩文件
adding: hello.txt (deflated 77%)
[root@localhost fengmin]# ll
total 8
-rw-r--r--. 1 root root 75 Nov 4 10:57 hello.txt
-rw-r--r--. 1 root root 185 Nov 4 10:57 hello.zip
drwxr-xr-x. 2 root root 19 Nov 4 10:56 test
[root@localhost fengmin]# zip -r test.zip test/ # 压缩目录,要带上-r参数,否则就是压了一个空目录test
adding: test/ (stored 0%)
adding: test/hi.py (stored 0%)
[root@localhost fengmin]# ll
total 12
-rw-r--r--. 1 root root 75 Nov 4 10:57 hello.txt
-rw-r--r--. 1 root root 185 Nov 4 10:57 hello.zip
drwxr-xr-x. 2 root root 19 Nov 4 10:56 test
-rw-r--r--. 1 root root 308 Nov 4 10:58 test.zip
4. 圧縮および解凍コマンド bzip2 および bunzip2
gzip コマンドとの違いは、ソース ファイルを保持できる -k パラメータが多いことと、bzip2 の圧縮率が優れていることです。大きなファイルを圧縮する場合は、bzip2 圧縮を使用することをお勧めします。bzip2 コマンドはディレクトリを圧縮できず、ファイルのみを圧縮します
bzip2 オプション [-k] [ファイル]
-k 圧縮ファイル生成後にソースファイルを保持します
圧縮ファイル形式.bz2
tar パッケージ化コマンドで使用するには、-j パラメーターを使用します。
解凍コマンド bunzip2 -k xx.bz2 解凍、-k はソースファイルを保持することを意味します
[root@localhost fengmin]# bzip2 -k hello.txt
[root@localhost fengmin]# ll
total 8
-rw-r--r--. 1 root root 75 Nov 4 10:57 hello.txt
-rw-r--r--. 1 root root 50 Nov 4 10:57 hello.txt.bz2
drwxr-xr-x. 2 root root 19 Nov 4 10:56 test
[root@localhost fengmin]# bzip2 -k test/ # 不能压缩目录
bzip2: Input file test/ is a directory
[root@localhost fengmin]# ll
total 8
-rw-r--r--. 1 root root 75 Nov 4 10:57 hello.txt
-rw-r--r--. 1 root root 50 Nov 4 10:57 hello.txt.bz2
drwxr-xr-x. 2 root root 19 Nov 4 10:56 test
[root@localhost fengmin]# tar -cjf test.tar.bz2 test/ # -j参数代表bzip2压缩。解压是tar -xjf
[root@localhost fengmin]# ll
total 12
-rw-r--r--. 1 root root 75 Nov 4 10:57 hello.txt
-rw-r--r--. 1 root root 50 Nov 4 10:57 hello.txt.bz2
drwxr-xr-x. 2 root root 19 Nov 4 10:56 test
-rw-r--r--. 1 root root 140 Nov 4 11:13 test.tar.bz2