Linux打包压缩命令——tar
一tar工具的介绍
Tar(Tape ARchive,磁带归档的缩写)
NAME
tar - manual page for tar 1.26
SYNOPSIS
tar [OPTION...] [FILE]...
DESCRIPTION
GNU `tar' saves many files together into a single tape or disk archive, and can restore indi‐
vidual files from the archive.
Note that this manual page contains just very brief description (or more like a list of possi‐
ble functionality) originally generated by the help2man utility. The full documentation for
tar is maintained as a Texinfo manual. If the info and tar programs are properly installed at
your site, the command `info tar' should give you access to the complete manual
二tar工具的使用
tar [OPTION]...
(1) 创建归档
tar -c -f /PATH/TO/SOMEFILE.tar FILE...
(2) 追加文件至归档
注:不支持对压缩文件追加
tar -r -f /PATH/TO/SOMEFILE.tar FILE...
(3) 查看归档文件中的文件列表
tar -t -f /PATH/TO/SOMEFILE.tar
(4) 展开归档
tar -x -f /PATH/TO/SOMEFILE.tar
tar -x -f /PATH/TO/SOMEFILE.tar -C /PATH/
(5) 结合压缩工具实现:归档并压缩
-j: bzip2, -z: gzip, -J: xz
(一)对文件进行打包,并且显示过程
-c表示创建打包文件,和压缩工具一样,要指明对应的后缀
-f表示打包到哪个文件里面
对整个目录进行打包
[root@centos72 ~]# tar -cvf /app/sysconfig.tar /etc/sysconfig/
tar: Removing leading `/' from member names
/etc/sysconfig/
/etc/sysconfig/ip6tables-config
/etc/sysconfig/iptables-config
/etc/sysconfig/cbq/
/etc/sysconfig/cbq/avpkt
/etc/sysconfig/cbq/cbq-0000.example
/etc/sysconfig/rdisc
/etc/sysconfig/console/
/etc/sysconfig/init
/etc/sysconfig/modules/
/etc/sysconfig/netconsole
/etc/sysconfig/network-scripts/
/etc/sysconfig/network-scripts/ifcfg-lo
/etc/sysconfig/network-scripts/ifdown
/etc/sysconfig/network-scripts/ifdown-bnep
/etc/sysconfig/network-scripts/ifdown-eth
/etc/sysconfig/network-scripts/ifdown-ippp
/etc/sysconfig/network-scripts/ifdown-ipv6
/etc/sysconfig/network-scripts/ifdown-isdn
/etc/sysconfig/network-scripts/ifdown-post
/etc/sysconfig/network-scripts/ifdown-ppp
/etc/sysconfig/network-scripts/ifdown-routes
/etc/sysconfig/network-scripts/ifdown-sit
/etc/sysconfig/network-scripts/ifdown-tunnel
/etc/sysconfig/network-scripts/ifup
/etc/sysconfig/network-scripts/ifup-aliases
/etc/sysconfig/network-scripts/ifup-bnep
/etc/sysconfig/network-scripts/ifup-eth
/etc/sysconfig/network-scripts/ifup-ippp
/etc/sysconfig/network-scripts/ifup-ipv6
/etc/sysconfig/network-scripts/ifup-isdn
/etc/sysconfig/network-scripts/ifup-plip
/etc/sysconfig/network-scripts/ifup-plusb
/etc/sysconfig/network-scripts/ifup-post
/etc/sysconfig/network-scripts/ifup-ppp
/etc/sysconfig/network-scripts/ifup-routes
/etc/sysconfig/network-scripts/ifup-sit
/etc/sysconfig/network-scripts/ifup-tunnel
/etc/sysconfig/network-scripts/ifup-wireless
/etc/sysconfig/network-scripts/init.ipv6-global
/etc/sysconfig/network-scripts/network-functions
/etc/sysconfig/network-scripts/network-functions-ipv6
/etc/sysconfig/network-scripts/ifdown-Team
/etc/sysconfig/network-scripts/ifdown-TeamPort
/etc/sysconfig/network-scripts/ifup-Team
/etc/sysconfig/network-scripts/ifup-TeamPort
/etc/sysconfig/network-scripts/ifcfg-ens33
/etc/sysconfig/network-scripts/ifcfg-ens37
/etc/sysconfig/readonly-root
/etc/sysconfig/crond
/etc/sysconfig/run-parts
/etc/sysconfig/selinux
/etc/sysconfig/wpa_supplicant
/etc/sysconfig/ebtables-config
/etc/sysconfig/grub
/etc/sysconfig/irqbalance
/etc/sysconfig/man-db
/etc/sysconfig/rsyslog
/etc/sysconfig/firewalld
/etc/sysconfig/kdump
/etc/sysconfig/sshd
/etc/sysconfig/authconfig
/etc/sysconfig/cpupower
/etc/sysconfig/kernel
/etc/sysconfig/network
/etc/sysconfig/anaconda
/etc/sysconfig/chronyd
/etc/sysconfig/ntpdate
/etc/sysconfig/ntpd
/etc/sysconfig/keepalived
/etc/sysconfig/ipvsadm-config
/etc/sysconfig/nginx
/etc/sysconfig/nginx-debug
/etc/sysconfig/htcacheclean
/etc/sysconfig/httpd
打包的文件变小了,但是实际上没有压缩
[root@centos72 ~]# ls /app/sysconfig.tar -l
-rw-r--r-- 1 root root 235520 May 3 10:10 /app/sysconfig.tar
[root@centos72 ~]# ls /app/sysconfig.tar -lh
-rw-r--r-- 1 root root 230K May 3 10:10 /app/sysconfig.tar
[root@centos72 ~]# du -sh /etc/sysconfig/
368K /etc/sysconfig/
(二)对文件进行打包并且压缩
结合压缩工具实现:归档并压缩 -j: bzip2, -z: gzip, -J: xz
[root@centos72 ~]# tar -zcf /app/sysconfig.tar.gz /etc/sysconfig/
tar: Removing leading `/' from member names
[root@centos72 ~]# tar -Jcf /app/sysconfig.tar.xz /etc/sysconfig/
tar: Removing leading `/' from member names
[root@centos72 ~]# tar -jcf /app/sysconfig.tar.bz2 /etc/sysconfig/
tar: Removing leading `/' from member names
[root@centos72 ~]# ls /app/ -lt
total 4272
-rw-r--r-- 1 root root 38103 May 3 10:27 sysconfig.tar.bz2
-rw-r--r-- 1 root root 37988 May 3 10:22 sysconfig.tar.xz
-rw-r--r-- 1 root root 47000 May 3 10:22 sysconfig.tar.gz
-rw-r--r-- 1 root root 235520 May 3 10:10 sysconfig.tar
----rwx--- 1 root root 15 May 2 23:42 aa.txt
-rw-r--r-- 1 root root 832545 May 2 23:37 messages
-rw-r--r-- 1 root root 108052 May 2 23:28 messages.zip
-rw-r--r-- 1 root root 80145 May 2 23:24 sysconfig.zip
-rw-r--r-- 1 root root 831851 May 2 23:00 m1
-rw------- 1 root root 106019 May 2 22:59 m.gz.txt
-rw-r--r-- 1 root root 831851 May 2 22:46 mmm
-rw-r--r-- 1 root root 831851 May 2 17:58 mm
-rw-r--r-- 1 root root 49513 May 2 17:58 mm.bz2
-rw-r--r-- 1 root root 197701 May 2 17:55 m.z
-rw------- 1 root root 106019 May 2 17:31 m.gz
上面提示tar: Removing leading `/' from member names无关紧要的,如果你显示,那么就在f前面加上P即可
参考文档:https://blog.51cto.com/13447608/2105102
[root@centos72 ~]# tar -jcPf /app/sysconfig.tar.bz2 /etc/sysconfig/
[root@centos72 ~]# tar -JcPf /app/sysconfig.tar.xz /etc/sysconfig/
[root@centos72 ~]# tar -zcPf /app/sysconfig.tar.gz /etc/sysconfig/
(三)查看归档文件中的文件列表
tar -t -f /PATH/TO/SOMEFILE.tar
压缩与否都有效
[root@centos72 ~]# tar -tvf /app/sysconfig.tar.gz
tar: Removing leading `/' from member names
drwxr-xr-x root/root 0 2019-05-02 14:46 /etc/sysconfig/
-rw------- root/root 2393 2018-11-05 01:03 /etc/sysconfig/ip6tables-config
-rw------- root/root 2374 2018-11-05 01:03 /etc/sysconfig/iptables-config
drwxr-xr-x root/root 0 2019-01-13 00:15 /etc/sysconfig/cbq/
-rw-r--r-- root/root 11 2018-04-11 16:08 /etc/sysconfig/cbq/avpkt
-rw-r--r-- root/root 79 2018-04-11 16:08 /etc/sysconfig/cbq/cbq-0000.example
-rw-r--r-- root/root 15 2017-08-04 16:01 /etc/sysconfig/rdisc
drwxr-xr-x root/root 0 2018-10-31 06:57 /etc/sysconfig/console/
-rw-r--r-- root/root 798 2018-10-31 06:57 /etc/sysconfig/init
drwxr-xr-x root/root 0 2018-10-31 06:57 /etc/sysconfig/modules/
-rw-r--r-- root/root 634 2018-10-31 06:57 /etc/sysconfig/netconsole
drwxr-xr-x root/root 0 2019-05-02 14:45 /etc/sysconfig/network-scripts/
-rw-r--r-- root/root 254 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifcfg-lo
lrwxrwxrwx root/root 0 2019-05-02 14:45 /etc/sysconfig/network-scripts/ifdown -> ../../../usr/sbin/ifdown
-rwxr-xr-x root/root 654 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifdown-bnep
-rwxr-xr-x root/root 6532 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifdown-eth
-rwxr-xr-x root/root 781 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifdown-ippp
-rwxr-xr-x root/root 4540 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifdown-ipv6
lrwxrwxrwx root/root 0 2019-05-02 14:45 /etc/sysconfig/network-scripts/ifdown-isdn -> ifdown-ippp
-rwxr-xr-x root/root 2130 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifdown-post
-rwxr-xr-x root/root 1068 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifdown-ppp
-rwxr-xr-x root/root 870 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifdown-routes
-rwxr-xr-x root/root 1456 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifdown-sit
-rwxr-xr-x root/root 1462 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifdown-tunnel
lrwxrwxrwx root/root 0 2019-05-02 14:45 /etc/sysconfig/network-scripts/ifup -> ../../../usr/sbin/ifup
-rwxr-xr-x root/root 12415 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifup-aliases
-rwxr-xr-x root/root 910 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifup-bnep
-rwxr-xr-x root/root 13475 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifup-eth
-rwxr-xr-x root/root 12075 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifup-ippp
-rwxr-xr-x root/root 11893 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifup-ipv6
lrwxrwxrwx root/root 0 2019-05-02 14:45 /etc/sysconfig/network-scripts/ifup-isdn -> ifup-ippp
-rwxr-xr-x root/root 650 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifup-plip
-rwxr-xr-x root/root 1064 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifup-plusb
-rwxr-xr-x root/root 4997 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifup-post
-rwxr-xr-x root/root 4154 2018-08-24 18:23 /etc/sysconfig/network-scripts/ifup-