Zbrel 发表于 2017-7-23 22:10:00

文件的压缩与打包

本帖最后由 Zbrel 于 2017-8-3 09:01 编辑

Linux常见的压缩文件的后缀
*.Z        compress程序压缩的文件;
*.bz2        bzip2程序压缩的文件;
*.gz        gzip程序压缩的文件;
*.tar        tar程序打包的数据,没有压缩;
*.tar.gz或tgz        tar程序打包并经过gzip压缩的文件;
*.tar.bz2        tar程序打包并经过bzip2压缩的文件;
*.zip        使用zip压缩;
*.rar        使用rar压缩

compress
compress [-drc] 文件或目录
        -d 用来解压缩的参数
        -r 可以连同目录下的文件同时压缩
        -c 将压缩数据输出为标准输出(输出到屏幕)
例如:
compress file产生file.z
compress -c file>file.z
compress -d file.z 或uncompress file.z解压缩
compress 已经很少人在使用了,因为这支程序无法解开 *.gz 的档案,而 gzip 则可以解开*.Z 的档案。

gzip,zcat
gzip 可以说是应用度最广的压缩指令了!目前 gzip 可以解开 compress, zip 与gzip 等软件所压缩的档案。 至于 gzip 所建立的压缩文件为 *.gz,使用 gzip 压缩的档案在 Windows 系统中,可以被 WinRAR 这个软件解压缩。
gzip [-cdt#] filename
        -c 将压缩的数据输出到屏幕上,可通过数据流重导向处理
        -d 解压缩的参数
        -t 可以用来检验一个压缩文件的一致性,看文件有无错误
        -# 压缩等级,1最不好,9最好,6是默认值
例如:gzip file产生file.gz
zcat file.gz读取file的内容
gzip -d file.gz或gunzip file.gz解压缩
gzip -9 -c file > file.gz 以最大压缩比压缩file这个文件,并保留原文件
gzip这个压缩指令主要想要用来取代compress,所以compress的压缩文件也可以使用gzip来解开

bzip2,bzcat
bzip [-cdz#] filename
bzcat filename.bz2
        -c 将压缩过程产生的数据输出到屏幕上
        -d 解压缩的意思
        -z 压缩的意思
        -# 压缩等级,1最不好,9最好,6是默认值
例如:bzip2 -z file 或bzip2 file产生file.bz2
bzcat file,bz2读取file的内容
bzip2 -d file.bz2或bunzip2 file.bz2解压缩
bzip2 -9 -c file > file.bz2以最大压缩比压缩file这个文件,并保留原文件
.bz, .bz2, .tbz, .tbz2都可以用bzip2解压缩

前面谈到的指令大多仅能针对单一档案来进行压缩,虽然 gzip 不 bzip2 也能够针对目录来进行压缩, 不过,这两个指令对目录的压缩指的是『将目录内的所有档案 "分别" 进行压缩』的动作! 而不像在 Windows 的系统,可以使用类似 WinRAR 这一类的压缩软件来将好多数据『包成一个档案』 的样式。 tar 可以将多个目录或档案打包成一个大档案,同时还可以通过 gzip/bzip2 的支持,将该档案同时进行压缩!
tar
tar [-zxcvfpP] 文件或目录
        -z 通过gzip 的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
        -j 通过bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
        -x 解开一个压缩文件的参数命令
        -t 查看tarfile里面的文件
        -c 创建一个新压缩文件的命令
        -v 压缩的过程中显示文件
        -f 使用文件名,注意在f参数之后要立即接档名,不能再加参数!
        -p 使用原文件的原来属性(属性不会依据用户而变)
        -P 可以使用绝对路径
        --exclude FILE 在压缩的过程中,不要将FILE打包
例如:
        压 缩:tar -jcvf filename.tar.bz2 要被压缩的档案和目录名称
        查 询:tar -jtvf filename.tar.bz2
        解压缩:tar -jxvf filename.tar.bz2 -C 欲解压缩的目录
        仅解开单一档案的方法:先找到要的档名,假设解开shadow档案:tar -jtvf /root/etc.tar.bz2|grep ‘shadow’grep是撷取关键词的功能,管线|配合grep可以撷取关键词。找到目的档案后,解开tar -jxvf /root/etc.tar.bz2 etc/shadow
        打包某目录,但不含该目录下的某些档案可以通过--exclude:tar -jcvf /root/system.tar.bz2 --exclude=/root/etc* --exclude=/root/system.tar.bz2 /etc /root

zip
zip [-AdFmrSu#] 目标文件名 源文件名
        -A 调整可执行的自动解压缩文件
        -d 从压缩文件中删除指定的文件
        -F 尝试修复已损坏的压缩文件
        -m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移动到压缩文件中
        -r 递归处理,将指定目录下的所有文件和子目录一并处理
        -S 包含系统和隐藏文件
        -u 更换较新的文件到压缩文件内
        -Z 替压缩文件加上注释
        -# 压缩等级,1最不好,9最好

zipinfo
zipinfo [-lhMtz] 压缩文件 文件
        -l 只列出文件名
        -h 只列出压缩文件的名称
        -M 若信息内容超过一个画面,则采用类似more指令的方式列出来
        -t 只列出压缩文件内所包含的文件数目,压缩前后的文件大小及压缩率
        -z 如果压缩文件内有注释,就将注释显示出来

unzip
unzip [-ltvMP] [.zip] [文件] [-d目录]
        -l 显示压缩文件内所包含的文件
        -t 检查压缩文件是否正确
        -v 显示执行时的详细信息
        -M 将输出的结果送到more程序处理
        -P <密码>使用zip密码选项

小甲鱼 发表于 2017-7-23 22:38:36

很全,忍不住都收藏了~
页: [1]
查看完整版本: 文件的压缩与打包