Linux 下压缩和打包工具
tar命令
语法:tar 主要选项+[辅选项] 文件或目录
常用选项:
选项
说明
-c
创建一个大包文件
-t
列出大包文件的内容
-C
改变解压位置
-x
解开一个压缩文件的参数指令!
-f
使用大包文件或设备
-v
详细报告tar处理的文件信息。
-p
保留原文件或目录的权限
--exclude
排除哪些文件或目录
-z
用gzip来压缩/解压缩文件,加上该选项后可以对大包文件进行压缩,同时还原时也一定要使用该选项进行解压缩
-j
用bzip2来压缩/解压缩文件,加上该选项后可以对大包文件进行压缩,同时还原时也一定要使用该选项进行解压缩
压缩:
---(-c,-v,-f,-z,j)
范例一:将整个 /etc 目录下的文件全部打包成为
/software/backup/etc.tar
[root@db-server-61-001 ~]# tar -cvf /software/backup/etc.tar
/etc #仅打包,不压缩
[root@db-server-61-001 ~]# tar -zcvf /software/backup/etc.tar.gz
/etc #打包后,以 gzip 压缩
[root@db-server-61-001 ~]# tar -jcvf
/software/backup/etc.tar.bz2 /etc #打包后,以 bzip2 压缩
[root@db-server-61-001 backup]# ll -h
total 44M
-rw-r--r-- 1 root root 30M Jun 20 16:27
etc.tar
-rw-r--r-- 1 root root 6.6M Jun 20 16:30 etc.tar.bz2
-rw-r--r-- 1 root root 7.7M Jun 20 16:28 etc.tar.gz
可以看出来bzip2压缩力度很强。
范例二:将整个 /etc 目录下的文件全部打包成为
/software/up/etc.tar,并排除/etc/mysql这个目录
---------exclude=file,dir
[root@db-server-61-001 ~]# tar -cvf /software/up/etc.tar /etc --exclude=/etc/mysql #排除/etc/mysql这个目录进行打包
[root@db-server-61-001 ~]# tar -zcvf /software/up/etc.tar.gz
/etc --exclude=/etc/mysql
[root@db-server-61-001 ~]# tar -jcvf /software/up/etc.tar.bz2
/etc --exclude=/etc/mysql
范例三:将整个 /etc 目录下的文件全部打包成为
/software/backup/etc.tar,并保留原来的权限
-----(-p)
[root@db-server-61-001 ~]# tar -cvpf /software/backup/etc.tar
/etc
[root@db-server-61-001 ~]# tar -zcvpf
/software/backup/etc.tar.gz /etc
[root@db-server-61-001 ~]# tar -jcvpf
/software/backup/etc.tar.bz2 /etc
解压:
范例四:将/software/backup/etc.tar,解压到/opt/www
---(-x,-C)
[root@db-server-61-001 ~]# tar -xvf /software/backup/etc.tar -C
/opt/www/
[root@db-server-61-001 ~]# tar -zxvf /software/backup/etc.tar.gz
-C /opt/www/
[root@db-server-61-001 ~]# tar -jxvf
/software/backup/etc.tar.bz2 -C /opt/www/