常用的有這些:
compress/uncompress: .Z
gzip/gunzip: .gz
bzip2/bunzip2: .bz2
xz/unxz: .xz
zip/unzip
tar, cpio
現在分別介紹他們的用法:
1、gzip/gunzip/zcat .gz
gzip [OPTION]… FILE … 默認壓縮/解壓縮完之后刪除原文件
-d: 解壓縮,相當于gunzip
-c: 將結果輸出至標準輸出,將不會操作原文件,壓縮以后保留原文件
-#:1-9,指定壓縮比;比例越大,壓縮后的文件越小,消耗的時間越長
-r:壓縮目錄,它會對目錄中的每一個文件都進行壓縮,并且把原文件都刪除
zcat:自動調用gunzip命令,解壓至臨時文件中,并使用zcat打開查看;不展開的前提下,查看文本文件內容;
zcat messages.gz
zcat messages.gz | less 分頁看
[root@localhost ~]# cp /var/log/messages ./ [root@localhost ~]# cp /etc/rc.d/init.d/functions ./ [root@localhost ~]# ll messages functions -rw-r--r--. 1 root root 13948 Sep 16 16:36 functions -rw-------. 1 root root 1274157 Sep 16 16:35 messages [root@localhost ~]# ll -h messages functions -rw-r--r--. 1 root root 14K Sep 16 16:36 functions -rw-------. 1 root root 1.3M Sep 16 16:35 messages [root@localhost ~]# gzip messages [root@localhost ~]# ll -h total 7.8M -rw-------. 1 root root 1.5K Aug 9 23:56 anaconda-ks.cfg drwxr-xr-x. 2 root root 6 Aug 10 00:01 Desktop drwxr-xr-x. 2 root root 6 Aug 10 00:01 Documents drwxr-xr-x. 2 root root 6 Aug 10 00:01 Downloads -rw-r--r--. 1 root root 14K Sep 16 16:36 functions -rw-------. 1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg -rw-------. 1 root root 96K Sep 16 16:35 messages.gz #只有壓縮后的文件,原文件已被刪除 drwxr-xr-x. 2 root root 6 Aug 10 00:01 Music drwxr-xr-x. 2 root root 39 Aug 9 23:55 openscap_data drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages -rw-r--r--. 1 root root 7.7M Sep 11 19:05 phpMyAdmin-4.0.10.17-all-languages.tar.gz drwxr-xr-x. 2 root root 6 Aug 10 00:01 Pictures drwxr-xr-x. 2 root root 6 Aug 10 00:01 Public drwxr-xr-x. 2 root root 6 Aug 10 00:01 Templates drwxr-xr-x. 2 root root 6 Aug 10 00:01 Videos [root@localhost ~]#
2、bzip2/bunzip2/bzcat .bz2
bzip2 [OPTION]… FILE …
默認壓縮/解壓縮完之后刪除原文件;只能壓縮文件,不能壓縮目錄;
-k: keep, 保留原文件,不需要重定向
-d:解壓縮
-#:1-9,壓縮比,默認為6; 壓縮比更大,效率更高
bzcat:不顯式展開的前提下查看文本文件內容;
[root@localhost ~]# bzip2 messages [root@localhost ~]# ll -h total 280K -rw-------. 1 root root 1.5K Aug 9 23:56 anaconda-ks.cfg drwxr-xr-x. 2 root root 6 Aug 10 00:01 Desktop drwxr-xr-x. 2 root root 6 Aug 10 00:01 Documents drwxr-xr-x. 2 root root 6 Aug 10 00:01 Downloads -rw-r--r--. 1 root root 14K Sep 16 16:36 functions -rw-------. 1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg -rw-r--r--. 1 root root 92K Sep 16 16:51 messages.2.gz -rw-------. 1 root root 62K Sep 16 16:35 messages.bz2 #壓縮,已經有massages.bz2文件,默認壓縮比更大 -rw-r--r--. 1 root root 96K Sep 16 16:47 messages.gz drwxr-xr-x. 2 root root 6 Aug 10 00:01 Music drwxr-xr-x. 2 root root 39 Aug 9 23:55 openscap_data drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages drwxr-xr-x. 2 root root 6 Aug 10 00:01 Pictures drwxr-xr-x. 2 root root 6 Aug 10 00:01 Public drwxr-xr-x. 2 root root 6 Aug 10 00:01 Templates drwxr-xr-x. 2 root root 6 Aug 10 00:01 Videos [root@localhost ~]#
[root@localhost ~]# bzip2 -d messages.bz2 [root@localhost ~]# ll -h total 1.5M -rw-------. 1 root root 1.5K Aug 9 23:56 anaconda-ks.cfg drwxr-xr-x. 2 root root 6 Aug 10 00:01 Desktop drwxr-xr-x. 2 root root 6 Aug 10 00:01 Documents drwxr-xr-x. 2 root root 6 Aug 10 00:01 Downloads -rw-r--r--. 1 root root 14K Sep 16 16:36 functions -rw-------. 1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg -rw-------. 1 root root 1.3M Sep 16 16:35 messages #解壓縮,默認也會刪除原文件 -rw-r--r--. 1 root root 92K Sep 16 16:51 messages.2.gz -rw-r--r--. 1 root root 96K Sep 16 16:47 messages.gz drwxr-xr-x. 2 root root 6 Aug 10 00:01 Music drwxr-xr-x. 2 root root 39 Aug 9 23:55 openscap_data drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages drwxr-xr-x. 2 root root 6 Aug 10 00:01 Pictures drwxr-xr-x. 2 root root 6 Aug 10 00:01 Public drwxr-xr-x. 2 root root 6 Aug 10 00:01 Templates drwxr-xr-x. 2 root root 6 Aug 10 00:01 Videos [root@localhost ~]#
3、xz/unxz/xzcat .xz
xz [OPTION]… FILE …
-k: keep, 保留原文件
-d:解壓縮
-#:1-9,壓縮比,默認為6; 壓縮比更大
xzcat: 不顯式展開的前提下查看文本文件內容;
[root@localhost ~]# xz -k messages [root@localhost ~]# ll -h total 1.6M -rw-------. 1 root root 1.5K Aug 9 23:56 anaconda-ks.cfg drwxr-xr-x. 2 root root 6 Aug 10 00:01 Desktop drwxr-xr-x. 2 root root 6 Aug 10 00:01 Documents drwxr-xr-x. 2 root root 6 Aug 10 00:01 Downloads -rw-r--r--. 1 root root 14K Sep 16 16:36 functions -rw-------. 1 root root 1.5K Aug 10 00:00 initial-setup-ks.cfg -rw-------. 1 root root 1.3M Sep 16 16:35 messages -rw-r--r--. 1 root root 92K Sep 16 16:51 messages.2.gz -rw-------. 1 root root 62K Sep 16 16:35 messages.bz2 -rw-r--r--. 1 root root 96K Sep 16 16:47 messages.gz -rw-------. 1 root root 57K Sep 16 16:35 messages.xz #壓縮,壓縮比更大 drwxr-xr-x. 2 root root 6 Aug 10 00:01 Music drwxr-xr-x. 2 root root 39 Aug 9 23:55 openscap_data drwxr-xr-x. 10 1000 1000 4.0K Aug 17 04:45 phpMyAdmin-4.0.10.17-all-languages drwxr-xr-x. 2 root root 6 Aug 10 00:01 Pictures drwxr-xr-x. 2 root root 6 Aug 10 00:01 Public drwxr-xr-x. 2 root root 6 Aug 10 00:01 Templates drwxr-xr-x. 2 root root 6 Aug 10 00:01 Videos [root@localhost ~]#
4、zip .zip
要想壓縮目錄,應該把目錄打包成單個文件,再壓縮,而打包其實就是歸檔;
zip是集歸檔、壓縮為一體的工具。
要指明壓縮后的文件名:zip name 目錄; 不會刪除原文件
zip pam.d.zip pam.d/ #壓縮目錄 ll -h mv pam.d pam.d.orig #改名,因為解壓縮后的文件也會叫pam.d unzip pam.d.zip #展開 ll cd pam.d ll #沒有文件,因此我們在歸檔時要指明哪些文件 rm -rf pam.d pam.d.zip zip pam.d.zip pam.d.orig/* #*指明所有文件 ll -h #pam.d.zip有大小了 du -sh pam.d.orig/ #可以看到原文件pam.d.orig的大小,184k mv pam.d.orig pam.d.orig.2 #展開,不管歸檔后叫什么名,展開后還是歸檔前的那個名 ll uzip pam.d.zip ll #展開仍然為pam.d.orig
5、tar .tar
tar [OPTION]… 用的非常多,歸檔工具
(1) 創建歸檔
tar cf /PATH/TO/SOMEFILE.tar FILE…
(2) 查看歸檔文件中的文件列表 不打開的前提下查看文件
tar tf /PATH/TO/SOMEFILE.tar
(3) 展開歸檔
tar xf /PATH/TO/SOMEFILE.tar
tar xf /PATH/TO/SOMEFILE.tar -C /PATH/TO/DIR 默認展開在當前目錄,-C 保存到指定目錄
結合壓縮工具實現歸檔并壓縮,創建時使用
-j: bzip2, -z: gzip, -J: xz
mv pam.d.org.2 pam.d 改名 tar -cf pam.d.tar pam.d/ 歸檔 ll -h 可以看到pam.d.tar 為60k,不指名所有文件也能歸檔 展開到指明目錄: mkdir /tmp/test tar xf pam.d.tar -C /tmp/test/ ls /tmp/test ls /tmp/test/pam.d #pam.d下所有文件也在
xz pam.d.tar 刪除原文件,只保留壓縮文件 ll tar Jxf pam.d.tar.xz #展開歸檔 ‘既歸檔又壓縮’的文件 ll -h #pam.d又在了,而tar不會刪除原文件,不管是歸檔、展開歸檔 tar Jtf pam.d.tar.xz #查看歸檔前的文件列表 rm pam.d.tar.xz tar -Jcf pam.d.tar.xz pam.d #一次完成,既歸檔,又壓縮 ll -h
原創文章,作者:mississippi,如若轉載,請注明出處:http://www.www58058.com/47020