command_tar
/* 常见压缩命令 */
TIPS : 直接搜索后缀名查找就行
TIPS : 推荐直接zsh里面的x,不用去记这些烦人的东西
1. gzip (.gz)
*****************************************************************************************************
-c : 压缩数据输出到屏幕上,可以利用这个结合重定向来处理
-d : 解压缩
-v : 显示压缩比信息
-1 : 压缩比,范围为[1-9],数字越低,速度越快,压缩比越差
*****************************************************************************************************
压缩 gzip test 最终结果 test.gz
解压 gzip -d test.gz 最终结果 test
源文件保留 gzip -c test > test.gz
*****************************************************************************************************
2. bzip2 (.bz2)
***********************************************************************************
bzip2 参数和 gzip 一致
***********************************************************************************
3. xz (.xz)
*****************************************************************************************************
xz 参数和 gzip 一致
*****************************************************************************************************
-l : 显示压缩文件的相关信息
-k : 保留原来的文件不删除
*****************************************************************************************************
4. tar (.tar)
## 这是打包命令,即将一系列文件打包成一个总文件,然后用压缩命令将其压缩,不过tar也提供了压缩命令接口
***********************************************************************************
-c : 建立打包文件
-x : 解包/解压缩
-t : 查看打包文件含有哪些文件名
-z : 使用gzip进行压缩/解压缩
-j : 使用bzip2进行压缩/解压缩
-J : 使用xzip进行压缩/解压缩
-f filename : 后面要立刻接要处理的文件名
-C dirname: 解压缩在某个特定目录下
-v : 在处理过程中,将正在处理的文件名显示出来
-p : 保留原来文件的权限及属性
***********************************************************************************
1. 压缩
tar -jcv -f test.tar.bz2 file1 file2 dir1
tar -zcv -f test.tar.gz file1 file2 dir1
排除某个文件夹或文件
tar -jcv -f backup.tar.bz2 exclude=Config/i3wm Config
-- 如果源文件夹是Config,那么要写成Config/i3wm,不能是/Config/i3wm,不能是/home/allen/Config/i3wm
-- 如果源文件夹是/home/allen/Config,那么写成/home/allen/Config/i3wm
并行压缩: 使用 pixz
tar -cv -f test.tar test; pixz test.tar test.tar.gz
2. 解压
tar -jxv -f test.tar.bz2
tar -zxv -f test.tar.gz
3. 解压到某个文件夹
tar -jxv -f test.tar.bz2 -C /home/allen
4. 打包
tar -cv -f test.tar file1 file2 dir1
5. 查看压缩文件列表
只是文件名 tar -jt -f test.tar.bz2
有详细信息 tar -jtv -f test.tar.bz2
6. 其他的一些用途
排除某个文件
tar -jcv -f test.tar.bz2 /*--exclude=/root/system*/ /root
更新时间
tar -jcv -f test.tar.bz2 /*--newer-mtime="2015/09/10"*/ /root
***********************************************************************************
是否保留根目录 (-P 保留)
关键在于是否需要覆盖,比如之前备份了/etc
如果保留根目录,解压后它就会覆盖掉原来的/etc
如果没保根目录,解压后生成etc文件夹,不会覆盖掉/etc
推荐第二种,这样更灵活
***********************************************************************************