zoukankan      html  css  js  c++  java
  • 文件目录压缩tar zip

    [TOC]

    压缩包,解压和压缩

    格式 压缩工具
    .zip zip压缩工具
    .gz gzip压缩工具,只能压缩文件,会删除源文件(通常配合tar使用)
    .bz2 bzip2压缩工具,只能压缩文件,会删除源文件(通常配合tar使用)
    .tar.gz 先使用tar命令归档打包,然后使用gzip压缩
    .tar.bz2 先使用tar命令归档打包,然后使用bzip压缩
    #针对压缩包的压缩失败,可能是没有安装相关安装包,yum安装即可,或者可以使用yum provides进行查看
    # gzip 压缩命令
    Usage: gzip [OPTION]... [FILE]...
    1.gzip 只能压缩文件,不能压缩目录
    2.gzip 压缩文件之后,源文件会消失
    3.gzip 解压文件后,压缩包会消失
    4.gzip 压缩文件,后面可以跟多个文件名,但是会分别压缩一个包
    5.使用zcat可以直接查看压缩包中文件内容
    6.打包的文件在哪个路径下,然后就把包放在源文件所在的目录中
    
    # 单个文件压缩
    [root@localhost ~]# gzip file1
    
    # 多个文件压缩
    [root@localhost ~]# gzip file2 file3
    
    # 解压
    [root@localhost ~]# gzip -d file1.gz
    
    # 查看文件类型
    [root@localhost ~]# file file1.gz
    
    #zip 压缩命令
    Usage:zip [option] [filename] [file]...
    1.zip 压缩文件,源文件不会消失
    2.zip 解压后,如果目录下存在和压缩包内相同的文件名,则询问是否覆盖
    3.zip 压缩目录,什么参数都不加的情况下,只能打包空目录,如果想要打包目录下所有内容加 -r参数
    4.如果打包的是绝对路径,那么会把绝对路径的内容都打包进去,并且删除/,打包,在哪个目录下执行,就会打包到哪个目录下
    
    zip 行李箱 衣服...
    -r:递归打包
    -q:不输出打包过程
    
    # 打包单个文件
    [root@localhost ~]# zip f.zip file1
    
    # 打包多个文件
    [root@localhost ~]# zip f.zip file1 file8
    
    # 打包目录
    [root@localhost ~]# zip -r zls_dir.zip /root/zls_dir
    
    # tar 归档
    用法: tar [选项...] [FILE]...
    
    c:创建新的归档文件(create)
    x:解压归档文件
    f:指定包文件名(行李箱),如果是多个选项,f一定要放在最后
    v:显示过程
    z:归档之后使用gzip压缩
    P:不删/ ,使用绝对路径打包
    t:查看压缩包中的压缩项目
    C:指定解压路径
    j:
    J:
    h:打包软链接
    X:将要排除的目录或者文件,写到文件中,然后使用X指定该文件,即可排除
    --exclude:直接写要排除的文件或者目录
    

    例:

    压缩gzip文件

    # gzip包的压缩只针对文件,并且对源文件压缩,源文件会自动消失,这里以压缩文件为演示
    [root@oldboy tmp]# echo '123456789'>123.txt
    [root@oldboy tmp]# gzip 123.txt
    [root@oldboy tmp]# ll
    total 4
    -rw-r--r-- 1 root root 38 Mar 28 22:30 123.txt.gz
    

    解压gzip文件

    [root@oldboy tmp]# gzip -d 123.txt.gz 
    [root@oldboy tmp]# ll
    total 4
    -rw-r--r-- 1 root root 10 Mar 28 22:30 123.txt
    

    打包并压缩文件或者目录为.tar.gz包

    [root@oldboy /]# tar -zcf tmp.tar.gz /tmp
    tar: Removing leading `/' from member names
    [root@oldboy /]# du -sh tmp.tar.gz		#查看当前压缩包的大小
    4.0K	tmp.tar.gz
    

    解压tar.gz包

    [root@oldboy /]# tar xf tmp.tar.gz -C /tmp		#解压文件并且指定路径,xf命令是tar包通用
    [root@oldboy /]# ll /tmp
    total 4
    -rw-r--r-- 1 root root  10 Mar 28 22:30 123.txt
    drwxrwxrwt 7 root root 108 Mar 28 22:33 tmp
    

    压缩bz2包

    [root@oldboy /]# tar jcf 666.tar.bz2 /tmp		#更换参数j即可
    tar: Removing leading `/' from member names
    [root@oldboy /]# file 666.tar.bz2				#查看文件类型,
    666.tar.bz2: bzip2 compressed data, block size = 900k
    

    压缩解压xz包

    [root@oldboy /]# tar Jcf log.tar.xz /var/log	#打包xz包
    [root@oldboy /]# file log.tar.xz 				#查看文件类型
    log.tar.xz: XZ compressed data
    [root@oldboy /]# tar xf log.tar.xz -C /tmp		#指定解压路径,这个命令对于tar包是通用的都能进行解压
    [root@oldboy /]# tar tf log.tar.xz				#xz包的内容同样使用tf可以进行查看
    
    

    zip包压缩解压

    [root@oldboy /]# zip -r tmp01.zip /tmp			#对目录压缩成zip包 -r是针对目录,不加则是针对文件
    [root@oldboy /]# unzip tmp01.zip				#解压zip包
    Archive:  tmp01.zip							#提示,因为我解压也是在当前目录底下,提示是否进行覆盖
    replace tmp/123.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: 
    
    
  • 相关阅读:
    Misc1
    PXE
    VCL
    pacman usage
    .vimrc的配置
    Windows Server 2012 R2
    Windows 入门杂乱无章版
    VS Code Plugins And Configuration
    「Poetize5」GF弹钢琴
    「Poetize4」上帝造题的七分钟2
  • 原文地址:https://www.cnblogs.com/tcy1/p/12590080.html
Copyright © 2011-2022 走看看