压缩解压缩:
为什么有些文件压缩后不变甚至变大?
信息本来很紧凑的文件,压缩之后要变大增加很多冗余控制信息,比如压缩和解压指令。
例如:
源文件:1111111111 1
压缩后:10个1 1个1
tar ------- 打包
tar命令的功能是压缩和解压缩文件,能够制作出Linux系统中常见的tar、tar.gz、tar.bz2等格式的压缩包文件。
语法格式:tar 参数 压缩包名 文件或目录名
打包解包:
打包:tar -cvf xxx.tar xxx
将xxx文件、目录打包成为xxx.tar包文件
解包:tar -xvf xxx.tar xxx
将xxx.tar包文件释放到当前目录中
注:指定位置解包
tar -xvf xxx.tar -C path ----此路径或是目录一定是已有的
压缩:
zip
格式:zip xxx.zip xxx
将xxx文件压缩为xxx.zip的压缩文件,
如果为目录文件:
zip -r xxx.zip xxx
指定路径解压缩:
unzip xxx.zip -d path
gzip ---不保留原文件
格式:gzip 参数 源文件
gzip passwd ----passwd.gz
如要保留源文件:
gzip -c passwd > passwd.gz
重定向到压缩文件
gzip -c passwd hostname > passwd.gz
将多个文件压缩到一个文件
gzip -k passwd -----保留源文件
-r dir1 ------递归处理所有子文件 -----目录本身不会被压缩,但目录下的子文件会被压缩
解压:
gunzip passwd.gz
解压后为普通文件类型,内容为源文件的总和
可以打包成 .tar ,再 压缩成 .tar.zip
打包压缩:
tar -zcvf xxx.tar.gz xxx
将xxx文件/目录打包压缩为xxx.tar.gz文件
tar -jcvf xxx.tar.bz2 xxx
将xxx文件/目录打包压缩为xxx.tar.bz2文件
解压缩解包命令:
tar -zxvf xxx.tar.gz
tar -jxvf xxx.tar.bz2
将压缩文件解压到当前目录
到指定目录参数 -C
可用绝对路径打包,但压缩后的文件还是再root底下