linux整理之压缩解压缩、加密、分卷

=========================================压缩解压缩=======================================================
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
———————————————
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
———————————————
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
———————————————
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
———————————————
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
———————————————
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
———————————————
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
———————————————
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
———————————————
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
———————————————
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
———————————————
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
———————————————
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
———————————————
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -
———————————————
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName


sEx只是调用相关程序,本身并无压缩、解压功能,请注意!


gzip 命令
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。


语法:gzip [选项] 压缩(解压缩)的文件名该命令的各选项含义如下:


-c 将输出写到标准输出上,并保留原有文件。-d 将压缩文件解压。-l 对每个压缩文件,显示下列字段:     压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。-t 测试,检查压缩文件是否完整。-v 对每一个压缩和解压的文件,显示文件名和压缩比。-num 用指定的数字 num 调整压缩的速度,-1 或 --fast 表示最快压缩方法(低压缩比),-9 或--best表示最慢压缩方法(高压缩比)。系统缺省值为 6。指令实例:


gzip *% 把当前目录下的每个文件压缩成 .gz 文件。gzip -dv *% 把当前目录下每个压缩的文件解压,并列出详细的信息。gzip -l *% 详细显示例1中每个压缩的文件的信息,并不解压。gzip usr.tar% 压缩 tar 备份文件 usr.tar,此时压缩文件的扩展名为.tar.gz。


=======================================加密========================================================================


方法一:用tar命令 对文件加密压缩和解压
压缩:
tar -zcf  - filename |openssl des3 -salt -k password | dd of=filename.des3 
此命令对filename文件进行加码压缩 生成filename.des3加密压缩文件, password 为加密的密码


解压:


dd if=filename.des3 |openssl des3 -d -k password | tar zxf -
注意命令最后面的“-”  它将释放所有文件, -k password 可以没有,没有时在解压时会提示输入密码


方法二:用zip命令对文件加密压缩和解压


压缩:
zip -re filename.zip filename 回车,输入2次密码 
zip -rP passwork filename.zip filename  passwork是要输入的密码  
解压:
unzip filename.zip 按提示输入密码  
unzip -P passwork filename.zip passwork是要解压的密码,这个不会有提示输入密码的操作  
====================================================分卷===================================================
    1.rar
  
    rar a -m5 -v12m myarchive myfiles # 最大限制为 12M
  rar e myarchive.part1.rar #解压
  分卷压缩
  ubuntu下没有默认安装rar,可以通过 sudo apt-get install rar,sudo apt-get install unrar 来安装rar.
  安装过后,使用以下命令进行分卷压缩:
  rar a -vSIZE 压缩后的文件名 被压缩的文件或者文件夹
  例如:rar a -v50000k eclipse.rar eclipse
  此命令即为对eclipse文件夹进行分卷压缩,每卷的大小为50000k,压缩后的文件名为eclipse.rar


  2.tar


  举例说明:
  要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令:
  tar cjf - logs/ |split -b 1m - logs.tar.bz2.
  完成后会产生下列文件:
  logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac
  要解压的时候只要执行下面的命令就可以了:
  cat logs.tar.bz2.a* | tar xj
  再举例:
  要将文件test.pdf分包压缩成500 bytes的文件:
  tar czf - test.pdf | split -b 500 - test.tar.gz
  最后要提醒但是那两个"-"不要漏了,那是tar的ouput和split的input的参数。


  3、用7z
 
    同样用以上例子
  在film上层目录操作,保留film目录名
  压缩: 7z a film.7z film -v80m
  解压到当前目录: 7z x film.7z.001
  解压到目录a: mkdir a && cd a && 7z x ../film.7z.001
  或者 7z -oa x film.7z.001
  不保留film目录名
  压缩 cd film && find . | xargs 7z a film.7z -v80m
  解压 7z -oa x film.7z.001
  单纯采用7z的话,文件的权限(拥有者)属性会丢失, 采用如下办法则可以保留:
  压缩:
  tar cf - film | 7z a -si film.tar.7z -v80m
  解压缩:
  7z x -so film.tar.7z.001 | tar xf -





你可能感兴趣的:(Linux)