zoukankan      html  css  js  c++  java
  • liunx文件操作 文件压缩

    文件备份和压缩命令

    在Linux中,常用的文件压缩工具有gzip,bzip2,zip。
    'bzip2'是最理想的压缩工具,它提供了最大限度的压缩。
    'zip'兼容好,windows也支持。
    

    bzip2命令

    bzip2 是一个压缩能力更强的压缩程序,.bz2结尾的文件就是bzip2压缩的结果。
    要使用bzip2压缩文件,在shell提示下输入命令:
    bzip2 filename 
    文件即会被压缩,并保存为filename.bz2
    要解压文件,输入命令:
    bunzip2 filename.bz2 
    filename.bz2 会被删除,而以filename代替
    bzip2 filename.bz2 file1 file2 /usr/ssgao
    上面的命令把file1,file2,file3 以及/usr/ssgao目录中的内容压缩至filename.bz2
    

    gzip 命令

    'gzip 源文件'
    gzip filename 文件即会被压缩,并保存为filename.gz
    要解压缩文件,输入命令:
    'gunzip filename.gz'
    filename.gz会被删除,而以filename代替
    'gzip -r filename.gz file1 file2 /usr/work/school'
    '-r' 表示压缩目录
    上面的命令把file1,file2 以及/usr/work/school目录中的内容压缩起来放入 filename.gz
    'gzip -r 目录'
    压缩目录下的所有子文件,但不能压缩目录
    

    zip 命令

    Linux下提供了zip和unzip程序
    'zip'为压缩程序
    'zip 压缩文件名 源文件'     #压缩文件
    'zip -r 压缩文件名 源目录' #压缩目录
    [root@ssgao1987 home]# zip home.zip /
    'unzip'为解压程序
    --------------------------------
    'zip all.zip *.jpg' 
    该命令是将所有的.jpg的文件压缩成一个zip包
    'unzip all.zip' 
    命令是将all.zip中的所有文件解压出来
    

    tar命令

    tar命令把大量的文件和目录打包成一个文件。
    比如,gzip不能压缩目录,可以先使用tar命名把对应的文件打包成x.tar文件,然后使用gzip进行压缩。
    '-c'  创建下一个新归档
    '-f'  当与-c选项一起使用时,创建的tar文件使用该选项指定的文件名;当与-x选项一起使用的时候,则解除该选项指定的归档
    '-t' 显示包括在tar文件中的文件列表
    '-v' 显示文件的归档进度
    '-x' 从归档中抽取文件
    '-z' 使用gzip 压缩tar文件
    '-j' 使用bzip2 压缩tar文件
    'tar -cvf 打包文件名 源文件' 
    
    打包成x.tar文件
    	tar -zcvf 压缩包名.tar.gz 源文件
    压缩为.tar.gz格式
    	tar -zxvf 压缩包名.tar.gz
    解压缩x.tar.gz格式文件
    
    指定解压缩位置
    	tar -zxvf jp.tar.gz -C /home/ssgao/
    只查看压缩文件内容,不进行解压缩
    	tar -ztvf jp.tar.gz 
    	ps: -f 使用档案名字,切记,这个参数是最后一个参数,后面只能是tar文件名
    要创建一个tar文件,输入命令:
    	tar -cvf filename.tar usr/ssgao /home/mine
    	ps: 上面的命令将usr/ssgao 和 home/mime放入归档文件中。
    列出tar文件的内容,输入命令:
    	tar -tvf filename2.tar
    抽取tar文件的内容,输入命令:
    	tar -xvf filename.tar
    	ps:上面的命令不会删除tar文件,但会把解除归档的内容复制到当前文件工作目录并保留归档文件所使用的任何目录结构,请记住,tar默认不压缩文件。
    ​
    要创建一个使用tar和bzip2来归档压缩的文件,使用-j选项:
    	tar -cjvf filename.tbz file
    ​
    如果使用bunzip2命令解压filename.tbz文件,则filename.tbz会被删除,以filename.tar代替
    要扩展并解除归档bzip.tar文件,输入命令:
    	tar -xjvf filename.tbz
    ​
    要创建一个用tar和gzip归档并压缩的文件,使用-z选项:
    	tar -czxf filename.tgz file
    	ps: 如果使用gunzip命令解压filename.tgz文件,则filename.tgz会被删除
    
     tar 的命令选项有很多(用man tar可以查看到),但常用的就那么几个选项,实例如下:
       tar -cf all.tar *.jpg
    	ps ->将所有的.jpg文件打成一个名为all.tar的包。-c表示产生新的包,-f指定包的文件名
    	tar -rf all.tar *.gif
    	ps ->该命令是将所有的gif文件增加到all.tar的包里面去。-r表示增加文件的意思。
    	tar -uf all.tar logo.gif
    	ps ->该命令是更新原来tar包all.tar中的logo.gif文件,-u表示更新文件
    	tar -tf all.tar
    	ps ->该命令是列出all.tar包中的所有文件,-t表示列出文件的意思
    	tar -xf all.tar
    	ps ->该命令是解出all.tar包中的所有文件,-x表示解开的意思
    	
    

    tar 调用gzip

    gzip是GUN组织开发的一个压缩程序,.gz结尾的文件就是gzip压缩的结果。与gzip相对的解压程序是gunzip。
    tar中使用-z这个参数来调用gzip。
    tar -zczf all.tar.gz *.jpg
    ps->该命令是将所有的.jpg文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名:all.tar.gz
    tar -zxzf all.tar.gz 
    ps->该命令用于解开上面压缩的包
    

    tar 调用bzip2

    tar中使用-j这个参数来调用gzip。
    tar -cjf all.tar.bz2 *.jpg
    ps-》这条命令是将所有的.jpg文件打成一个tar包,并且将其用bzip2压缩,生成一个bzip2压缩过的包,包名为 all.tar.bz2
    tar -xjf all.tar.bz2
    ps-》该命令是将上面产生的包解开
    

    tar 调用compress

    compress也是一个压缩程序,但是好像使用compress的人不如gzip和bzip2的人多。.Z结尾的文件就是compress压缩的结果。
    与compress相对的解压程序是uncompress。tar中使用-Z参数调用compress
    tar -cZf all.tar.Z *.jpg 
    ps->将所有的.jpg文件打成一个tar包,并且将其用compress压缩,生成一个uncompress压缩过的包,包名为all.tar.Z
    tar -xZf all.tar.Z
    ps->该命令是将上面产生的包解开
    

    tar命令总结

    tar
    -c 建立压缩档案
    -x 解压
    -t 查看内容
    -r 向压缩归档文件末尾追加文件
    -u 更新压缩包中的文件
    上面五个参数是独立的,压缩/解压都要用到其中的一个,可以和别的命令连用,但只能用其中的一个
    -z gzip属性
    -j bz2属性
    -Z compress属性
    -v 显示所有过程
    -O 将文件解开到标准输出
    -----------------------------------------------------------------------------------
    必不可少的参数
    -f 使用档案名字,切记,这是最后一个参数,后面只能接档案名
    
    tar -cvf jpg.tar *.jpg 
    将目录里所有的jpg文件打包成tar.jpg
    tar -czf jpg.tar.gz *.jpg 
    将目录中的jpg文件打包成jpg.tar后,并用gzip压缩,生成一个gzip压缩过的包
    tar -cjf jgp.tar.bz2 *.jpg 
    将目录中的jpg文件打包成jpg.tar后,并用bzip2压缩,生成一个bzip2压缩过的包
    tar cZf jpg.tar.Z *.jpg
    将目录中的jpg文件打包成jpg.tar后,并用compress压缩,生成一个compress压缩过的包
    -----------------------------------------------------------------------------------
    解压
    tar -xvf file.tar  解压tar包
    tar -xzvf file.tar.gz 解压tar.gz
    tar -xjvf file.tar.bz2 解压tar.bz2
    tar -xZvf file.tar.Z 解压tar.Z
    -----------------------------------------------------------------------------------
    *.tar 用 tar –xvf 解压 
    *.gz 用 gzip -d或者gunzip 解压 
    *.tar.gz和*.tgz 用 tar –xzf 解压 
    *.bz2 用 bzip2 -d或者用bunzip2 解压 
    *.tar.bz2用tar –xjf 解压 
    *.Z 用 uncompress 解压 
    *.tar.Z 用tar –xZf 解压 
    
  • 相关阅读:
    linux软件安装方式
    docker 安装 jenkins touch: cannot touch ‘/var/jenkins_home/copy_reference_file.log’: Permission denied Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
    [ERR] Node goodsleep.vip:6379 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
    Linux 常用命令 服务器间scp 用户 export 创建文件、软连接
    redis 安装 集群 主从 哨兵 docker
    WPF密码框中禁止复制、粘贴
    Application 统计在线人数
    【转义字符】HTML 字符实体< &gt: &等
    SQL语句统计每天的数据
    正则表达式计算代码数
  • 原文地址:https://www.cnblogs.com/ssgao/p/8880019.html
Copyright © 2011-2022 走看看