p.p1 { margin: 0; font: 12px Arial; color: rgba(5, 42, 136, 1) }
p.p2 { margin: 0; font: 12px "Helvetica Neue"; min-height: 14px }
p.p3 { margin: 0; font: 12px "Helvetica Neue" }
p.p4 { margin: 0; font: 12px ".PingFang SC" }
p.p5 { margin: 0; font: 14px "PingFang SC"; color: rgba(251, 0, 7, 1) }
p.p6 { margin: 0; font: 12px Courier }
p.p7 { margin: 0; font: 14px "PingFang SC"; color: rgba(57, 57, 57, 1) }
p.p8 { margin: 0; font: 12px "Helvetica Neue"; color: rgba(204, 102, 255, 1) }
p.p9 { margin: 0; font: 14px Menlo; color: rgba(155, 162, 177, 1) }
p.p10 { margin: 0; font: 14px "PingFang SC"; color: rgba(155, 162, 177, 1) }
span.s1 { font: 12px "PingFang SC" }
span.s2 { font: 12px ".PingFang SC" }
span.s3 { font: 12px "Helvetica Neue" }
span.s4 { font: 14px Arial }
span.s5 { font: 12px Courier }
span.s6 { font: 12px "Helvetica Neue"; color: rgba(0, 0, 0, 1) }
span.s7 { font: 12px ".PingFang SC"; color: rgba(0, 0, 0, 1) }
span.s8 { color: rgba(0, 3, 255, 1) }
span.s9 { font: 14px Arial; color: rgba(57, 57, 57, 1) }
span.s10 { color: rgba(0, 0, 0, 1) }
span.s11 { font: 14px "PingFang SC" }
span.s12 { font: 14px Menlo }

1.tar命令

基础参数:

  • -c 创建tar包
  • -x 解压
  • -t 查看压缩包中的内容(查看文件内容时对于使用某种压缩方式压缩过的包要加上对应的参数,例如:使用 gzip 压缩得到包etc.tar.gz,查看内容时需要加上z 这个参数)
  • -r 向压缩包中添加文件
  • -u 修改原来压缩包中的文件

这五个命令是tar命令的五种类型,使用tar时必须使用其中一个。

特殊参数:

  • -f 指定tar包,这个参数后只能接tar包名
  • -C dir参数的作用在于改变工作目录
    • -C 指定需要解压到的目录。e.g: tar -xvf rdb-release-20170706.tar -C /Users/test/Downloads/
    • -C 指定需要打包的目录。 e.g: tar -czvf rdb-release-20170706.tar -C /Users/test/   Downloads/,该命令中源目录使用相对路径Downloads/,压缩路径为Downloads;tar -czvf rdb-release-20170706.tar -C /Users/test/Downloads/   ./ ,该命令中源目录使用相对路径./,压缩路径为./。
    • 不使用-C指定打包的目录。tar -czvf rdb-release-20170706.tar /Users/test/Downloads/,该命令中源目录使用绝对路径/Users/test/Downloads/,压缩时目录连同绝对路径(这里是Users/test/Downloads/,根目录'/'被自动去掉了)一并被压缩进来

使用-C指定目录时,若目录不存在会报错。

其他参数:

  • -z:是否同时具有 gzip 的属性, 一般格式为xx.tar.gz或xx. tgz
  • -v:显示所有过程
  • -j:是否同时具有 bzip2 的属性,一般格式为xx.tar.bz2
  • -Z:有compress属性的
  • -O:将文件解开到标准输出
  • -p :使用原文件的原来属性(属性不会依据使用者而变)
  • --exclude FILE:在压缩的过程中,不要将 FILE 打包!

举栗:

  • tar -cf all.tar *.jpg  #这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
  • tar -rf all.tar *.gif 这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
  • tar -uf all.tar logo.gif #这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
  • tar -tf all.tar  #这条命令是列出all.tar包中所有文件,-t是列出文件的意思
  • tar -ztvf all.tar.gz  #如果使用 gzip 压缩,查阅tar包中的文件时,就得要加上参数z!这很重要的!
  • tar -xf all.tar  #这条命令是解出all.tar包中所有文件,-x是解开的意思

各种压缩举栗:

  • tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成jpg.tar
  • tar -czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
  • tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
  • tar -cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
  • rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux
  • zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux
  • tar --exclude /home/dmtsai -zcvf file.tar.gz /home/* /etc   #备份 /home, /etc 目录,但不要 /home/dmtsai

各种解压举栗:

  • 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
  • unrar e file.rar //解压rar
  • unzip file.zip //解压zip

解压单个文件,比如:解压file.tar.gz文件,可以先通过tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件就可以通过 tar -zxvf file.tar.gz  etc/passwd.注意到file.tar.gz 内的根目录 / 是被拿掉了

2.zip命令

压缩 

  • 压缩文件  zip jpg.zip *.jpg
  • 压缩目录  zip -r jpg.zip aaa/

解压

  • unzip test.zip
  • 解压到指定目录:unzip -d /temp test.zip
  • 查看压缩包的内容:unzip -l test.zip
  • 查看压缩包中的文件列表并显示压缩率:unzip -v test.zip
  • 查看压缩包是否损坏:unzip -t test.zip
  • 覆盖原来的文件 -o:unzip -o test.zip -d /tmp/
  • 不覆盖原来的文件 -n:unzip -n -d /temp test.zip

3.gzip与gunzip命令

用于压缩或解压.gz文件

压缩文件:gzip 源文件

例如:如压缩 b.txt,使用命令gzip b.txt 即可。压缩为 .gz 文件 源文件会消失。

如果想保留源文件 使用命令gzip -c 源文件 >压缩文件

压缩目录:gzip -r 目录

注意 gzip 压缩目录 只会压缩目录下的所有文件,不会将目录压缩为一个.gz文件

解压文件:gzip -d 压缩文件 或者 gunzip 压缩文件

gunzip -f  覆盖原有文件

总结

  • *.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 解压
  • *.rar 用 unrar e解压
  • *.zip 用 unzip 解压
查看搜索压缩文件的内容
搜索文件内容   zgrep  'string0' filename
查看文件内容   zcat filename

参考文献:https://www.cnblogs.com/li-hao/archive/2011/10/03/2198480.html

linux下的压缩命令 tar zip gunzip的更多相关文章

  1. Linux解压/压缩命令——tar、gz、tar.gz、tgz、bz2、tar.bz2、Z、zip、rar、lha

    .tar 解包:tar -xvf FileName.tar 打包:tar -cvf FileName.tar DirName ——————————————— .gz 解压1:gunzip FileNa ...

  2. linux下的压缩命令

    linux zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip unzip - ...

  3. (六)Linux下的压缩命令

    ======================================================================================== .zip格式的压缩和解 ...

  4. 【转】打包 压缩 命令tar zip

    https://www.cnblogs.com/centos2017/p/7896807.html tar语法 #压缩tar -czvf ***.tar.gztar -cjvf ***.tar.bz2 ...

  5. 打包 压缩 命令tar zip

    tar语法 #压缩tar -czvf ***.tar.gztar -cjvf ***.tar.bz2#解压缩tar -xzvf ***.tar.gztar -xjvf ***.tar.bz2 tar ...

  6. Linux下的压缩zip,解压缩unzip命令详解及实例

    实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ====================== ...

  7. Linux下的压缩zip,解压缩unzip命令具体解释及实例

    实例:压缩server上当前文件夹的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前文件夹 unzip filename.zip ================= ...

  8. Linux下的压缩解压缩命令详解

    linux zip命令zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzipunzip -o - ...

  9. Linux下的压缩解压缩命令详解及实例

    实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ====================== ...

随机推荐

  1. 06丨MongoDB基本操作

    使用 insert 完成插入操作 操作格式: db.<集合>.insertOne(<JSON对象>) db.<集合>.insertMany([<JSON 1& ...

  2. SPI认识

    SPI分为好几种模式 不同模式下   读取数据时  SCK线的状态不一样 STM32硬件SPI   有16BIT  8BIT的两种模式 既  收发都是8或16bit SPI缺少响应反馈机制  无法知道 ...

  3. web技术开发桌面应用

    三款前端工程师桌面应用开发神器! http://mini.eastday.com/a/160630023107669-2.html 如果我告诉你,以后你们可以用前端语言(html5+css3+js)开 ...

  4. C#中的数据结构

    Array 连续性的内存空间 快速定位查找元素,随机访问性强,查找效率高 已知的统一的元素类型,减小运行时开销 固定长度,不能再新增元素 ArrayList 连续性的内存空间 快速定位查找元素,随机访 ...

  5. 为Go项目编写Makefile

    为Go项目编写Makefile 借助Makefile我们在编译过程中不再需要每次手动输入编译的命令和编译的参数,可以极大简化项目编译过程. make介绍 make是一个构建自动化工具,会在当前目录下寻 ...

  6. GO语言复合类型05---递归

    package main import ( "fmt" "time" ) /* ·递归就是自己调自己 ·递归一定要有终止条件(否则就是无限死循环) */ /*使 ...

  7. YOLOv3和YOLOv4长篇核心综述(下)

    YOLOv3和YOLOv4长篇核心综述(下) 4.3.3 Neck创新 在目标检测领域,为了更好的提取融合特征,通常在Backbone和输出层,会插入一些层,这个部分称为Neck.相当于目标检测网络的 ...

  8. 闵可夫斯基引擎Minkowski Engine

    闵可夫斯基引擎Minkowski Engine Minkowski引擎是一个用于稀疏张量的自动微分库.它支持所有标准神经网络层,例如对稀疏张量的卷积,池化,解池和广播操作.有关更多信息,请访问文档页面 ...

  9. CUDA运行时 Runtime(二)

    CUDA运行时 Runtime(二) 一. 概述 下面的代码示例是利用共享内存的矩阵乘法的实现.在这个实现中,每个线程块负责计算C的一个方子矩阵C sub,块内的每个线程负责计算Csub的一个元素.如 ...

  10. Java IO学习笔记一:为什么带Buffer的比不带Buffer的快

    作者:Grey 原文地址:Java IO学习笔记一:为什么带Buffer的比不带Buffer的快 Java中为什么BufferedReader,BufferedWriter要比FileReader 和 ...