一、文件压缩、解压缩
1.linux compress命令(compress/uncompress)
(1)压缩文件:
[root@server ~]# du -sh passwd1---查看文件大小[root@server ~]# time compress passwd1---time:查看时间 compress:将文件进行压缩real0m0.012suser0m0.004ssys0m0.006s
压缩后文件变成passwd.Z
(2)解压:
法1:compress -d passwd1.Z
法2:uncompress passwd1.Z
2.zip格式:
(1)zip是可以既归档又压缩的工具,也可以压缩目录
(2)命令格式:
zip FILEunzip FILEunzip -d FILE +路径
(3)示例:
<1>压缩文件passwd1
[root@server ~]# time zip passwd1.zip passwd1---内容:将passwd1文件压缩为passwd1.zip
<2>将f1-6.txt文件压缩(压缩文件可以使用通配符)
[root@server ~]# zip f.zip f[1-6].txt
<3>压缩目录 -r
[root@server ~]# zip -r dir1.zip dir1/
[root@server ~]# unzip dir1.zip -d /opt/---解压文件到指定/opt目录下
<4>向压缩好的文件中添加文件 -m
[root@server ~]# zip -m f.zip passwd---将passwd文件添加到压缩文件f.zip中
<5>在压缩文件中删除文件 -d
[root@server ~]# zip -d f.zip passwd---在压缩文件f.zip文件中删除passwd
<6>压缩文件时排除个别文件 -x
[root@server ~]# zip passwd1.zip f*.txt -x f[1-6].txt---将f*.txt文件压缩到passwd1.zip文件中,排除f[1-6].txt
<7>解压文件 unzip
默认解压在当前路径,如果要解压到指定路径,使用-d pathname
[root@server ~]# unzip passwd1.zip -d /opt/ ---将压缩文件passwd1.zip解压到opt目录下
3.gzip(.gz)、bzip2(.bz2)、xz(.xz)、lzip(.lz)
(1)查看相应格式是否存在
lzip默认未安装,可以在链接上找到系统版本对应的lzip进行安装。
(2)gz
压缩
解压[root@server ~]# time gzip passwd1---将passwd1文件压缩
文件压缩后保留原始文件[root@server ~]# gzip -d passwd1.gz---将文件解压(-d 默认解压到当前路径)
查看压缩文件内容---zcat zless[root@server ~]# gzip -c passwd1 > passwd1.gz---将文件压缩然后重定向输出到原位置
[root@server ~]# zcat test1.txt.gz ---查看压缩文件内容
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@server ~]# zless test1.txt.gz
(3)bzip2
压缩
解压[root@server ~]# time bzip2 passwd2---将passwd2文件压缩
查看压缩文件内容---bzcat bzless[root@server ~]# bzip2 -d passwd2.bz2---将文件解压(-d 默认解压到当前路径)
[root@server ~]# bzcat test1.txt.bz2 ---查看压缩文件内容
[root@server ~]# bless test1.txt.bz2
(3)xz
压缩
解压[root@server ~]# time xz passwd3---将passwd3文件压缩
查看压缩文件内容---xzcat xzless[root@server ~]# xz -d passwd3.xz---将文件解压(-d 默认解压到当前路径)
[root@server ~]# xzcat test1.txt.xz---查看压缩文件内容
[root@server ~]# xzless test1.txt.xz
(4)lz
压缩
解压[root@server ~]# time lzip passwd4---将文件passwd4压缩
[root@server ~]# lzip -d passwd4.gz---将文件解压(-d 默认解压到当前路径)
(5)推荐方法:将文件压缩推荐xz和lz
二、文件归档
1.格式:
tar [选项] 打包文件名 被打包的源文件或目录列表tar [选项] 打包文件名 [-C 目标文件夹]2.常用选项:
3.tar的常见作用:
(1)创建(非压缩的)包文件
命令:tar cvf 包文件名 要打包的目录或文件名列表功能:将指定的一个或多个文件或目录备份生成为一个指定的包文件。
(2)创建带压缩的包文件(支持三种不同的压缩方式)
命令:tar c[z j|J] f 压缩包文件名 要备份的目录或文件名
czf .tar.gz[root@server ~]# tar -czvf passwd1.tar.gz passwd1(v---查看过程)cjf .tar.bz2[root@server ~]# tar -cjvf passwd2.tar.bz2 passwd2cJf .tar.xz[root@server ~]# tar -cJvf passwd3.tar.xz passwd3--lzip -cf.tar.lz[root@server ~]# tar --lzip -cf passwd4.tar.lz passwd4
(3)列出包文件中的文件列表
命令:tar t[v]f 包文件名
(4)提取包文件到指定目录
命令:tar x [z j|J] [v]f 包文件名 [ -C 目标位置]
(5)将文件进行解压
.tar.gz tar -xzf passwd1.tar.gz.tar.bz2 tar -xjf passwd2.tar.bz2.tar.xz tar -xJf passwd3.tar.xz.tar.lz tar --lzip -xf passwd4.tar.lz
-C(将文件解压到指定目录)
[root@server ~]# tar --lzip -xf passwd1.tar.lz -C /opt/
4.总结:
(1)工作中解压一律使用xf
(2)归档时可以排除文件
--exclude=PATTERN 排除以PATHERN指定的文件
[root@server ~]# tar --exclude=f1.txt -cJvf f.txt.tar.xz f*.txt[root@server ~]# tar --exclude='f[1-4].txt' -czvf f4.tar.gz f*.txt使用通配符时,文件名加引号
-X, --exclude-from=FILE 排除 FILE 中列出的模式串
[root@server ~]# vim exclude.txt---写入文件f1.f2.f3.f4.txtf1.txtf2.txtf3.txtf4.txt[root@server ~]# tar -X exclude.txt -cJvf f3.tar.xz f*.txt---归档时排除文件exclude.txt中写入的文件f5.txtf6.txt