关于压缩与解压,常见的压缩扩展名
*.Z : conpress程序压缩文件
*.bz2 : bzip2程序压缩文件
*.gz : gzip程序压缩文件
*.tar : tar程序打包的数据,并没有压缩过
*.tar.gz : tar程序打包的文件,并经过gzip压缩。
*.tar.bz2 : tar程序打包的文件,并经过bzip2压缩。
compress [-dcr] 文件或目录
-d ---- 用于解压
-r ---- 连同目录下的文件一起压缩
-c ---- 将压缩数据输出标准压缩
gzip [-cdt#] 文件名
-c ---- 将压缩数据输出标准压缩
-d ---- 用于解压
# ----压缩等级,-1最快,但压缩比较差,-9最慢,但压缩最好,默认为-6
可以使用zcat查看压缩文件内容,假设压缩文件是文本文件。
bzip2 [-cdz#] 文件名
-z -----压缩
其他参数与gzip类似
同样,可以使用bzcat查看文件内容
tar [-cxtzjvfpPN] 文件名或目录
-c - -- 压缩
-x ---- 解压缩
-t ---- 查看tarfile文件
-z ---- 通过gzip进行压缩或解压
-j ---- 通过bzip2进行压缩或解压
-v ---- 压缩过程中显示文件
-f ----使用文件名,在f之后立即加文件名,不要再加参数,例如:“tar -zcvfP tfile sfile” 错误,应该写成“tar -zcvPf tfile sfile”
-p ---- 保留源文件的属性
-P ---- 使用绝对路径压缩
-N ---- 比后面接的日期还要新的才会打包新新建的文件。
关于tar的简单应用
压缩 : tar -jcvf filename.tar.bz2
查询 : tar -jtvf filename.tar.bz2
解压 : tar -jxvf filename.tar.bz2 -C 欲解压缩的目录
以上关于-j参数,如果是*.targz,则用的是参数-z。
gzip和bzip2是针对单一文件进行压缩,tar命令可以针对目录来进行压缩.tar命令是一个多用途的压缩命令,可以和gzip等命令配合使用,比较重要。
eg:将/etc目录下的文件打包成/tmp/etc.tar
tar -zcvf /tmp/etc.tar /etc
eg: 查看上面的压缩文件
tar -ztvf /tmp/etc.tar
eg:将/tmp/etc.tar解压缩到/usr/local/src
cd /usr/local/src
tar -zxvf /tmp/etc.tar
该文件将解压在/usr/local/src/etc中,也可以使用-C参数指定解压缩目录。
eg:仅解压单一文件
tar -jtcf /root/etc.tar.bz2 | grep 'shadow'
-------------------仅查看该压缩文件中名字为'shadow'的文件
eg:压缩某目录下的文件,但是不包括一些文件
需要压缩/etc/ /root等重要目录,但却不想压缩/root/etc*开头的文件
tar -jcvf /root/system.tar.bz2 --exclude=/ root/etc* --exclude=/root/system.tar.bz2 /etc /root
eg:仅备份比某个时刻还要新的文件
tar -jcvf /root/etc.newer.than.passwd.tar.bz2 --newer-mtime="2013/5/20" /etc/*
--newer-mtime仅是mtime,还有一个参数--newer,包括mtime和ctime。
以上内容是我在学习了相关内容之后,在《鸟哥的linux私房菜》里面参考的。算是学习,仅供参考。