第1章      Linux 打包压缩解压工具一、压缩、解压工具

压缩、解压工具

用法压缩工具 压缩后压缩包格式 解压缩(默认不保留源文件) 保留原文件压缩-c :将压缩结果打印到屏幕上 保留压缩文件解压*zcat :将解压结果打印到屏幕上 强制压缩(默认不压缩硬链接) 显示详细过程 压缩比-#(数字越大,压缩比越高,速度越慢文件越小)
compress(压缩比最小,文件最大) .Z -duncompress -c > X(>相当于创建文件,权限改变) zcat X.Z > X(>相当于创建文件,权限改变) -f -v
gzip .gz -dgunzip -c > X zcat X.gz > X -f -v -1 --fast-6 (默认)-9 --best
bzip2(压缩比最大,文件最小) .bz2 -dbunzip -c > X -k (权限不变) bzcat X.gz > X -k -f -v -1 --fast-9 --best (默认)
xz .xz -d -c > X -k(权限不变) xzcat X.gz > X -k -f -v -1 --fast-6 (默认)-9 --best

compress/uncompress

压缩文件,会删除原来文件,生成压缩文件

compress [-dfvcVr] [-b maxbits] [file ...]

 -d: 解压缩,相当于uncompress
-c: 结果输出至标准输出,不删除原文件
-v: 显示详情
uncompress :解压缩
zcatfile.Z>file查看文件不解缩

gzip/gunzip

压缩文件,会删除原来文件,生成压缩文件

gzip[OPTION]... FILE ...

 -d:解压缩,相当于gunzip
-c:结果输出至标准输出,保留原文件不改变
-#:1-9,指定压缩比,值越大压缩比越大

zcat:不显式解压缩的前提下查看文本文件内容

压缩带特殊符号的文件,即:-f -f1 -f2

 [root@centos17data]#ls
bigfile.Z f -f -f1 f1.txt.gz -f2 m.gz
[root@centos17data]#gzip -- -f1 -f2
[root@centos17data]#ls
bigfile.Z f -f -f1.gz f1.txt.gz -f2.gz m.gz

bzip2/bunzip2/bzcat

bzip2 [OPTION]... FILE ...

 -k:keep, 保留原文件
-d:解压缩
-#:1-9,压缩比,默认为9

bzcat:不显式解压缩的前提下查看文本文件内容

xz/unxz/xzcat

xz[OPTION]... FILE ...

 -k: keep, 保留原文件
-d:解压缩
-#:1-9,压缩比,默认为6

unxz file.xz 解压缩

xzcat: 不显式解压缩的前提下查看文本文件内容

zip/unzip

打包压缩

 zip –r  /backup/sysconfig   /etc/sysconfig/

解包解压缩

 unzip  sysconfig.zip
cat /var/log/messages | zip messages -
unzip -p message > message

二、打包工具

tar工具

-f 包名,所有用法都要和-f组合
-c -f 创建包名字 原文件(可以指定多个)
-t -f 包名字 显示包中的文件名
-tv -f 详细显示包中的文件名
-r -f 包名字 新文件名(可以指定多个),向包里放指定文件
--delete -f 包名字 被删除的文件名(可以指定多个),从包中删除指定文件
-x -f 包名字 解出所有的文件到当前目录,把包中所有文件移出,解压包
-x -f 包名字 文件名 解所指定的文件到当前目录,从包中移出指定文件
-C 解包到指定目录
-v 详细信息
-Jcf 创建包的名字(.tar.xz) 原文件(可以指定多个) 打包并用xz压缩
-jcf 创建包的名字(.tar.bz2) 原文件(可以指定多个) 打包并用bzip压缩
-zcf 创建包的名字(.tar.gz) 原文件(可以指定多个) 打包并用gzip压缩
-T 指定个列表,包含需要被打包的文件,以换行符为间隔
-X 指定个排除列表,以换行符为间隔

-exclude 排除文件

 tar zcvf/root/a3.tgz --exclude=/app/host1 --exclude=/app/host2 /app

split::分割一个文件为多个文件

分割大的tar 文件为多份小文件

 split –b Size –d tar-file-name  prefix-name
split -b 1M –dmybackup.tgz mybackup-parts
split -b 1M mybackup.tgz mybackup-parts

合并:

 cat mybackup-parts* > mybackup.tar.gz

总结:compress gzip bzip2都只能压缩文件,不能压缩目录,而tar可以打包多个目录并进行压缩。

cpio(不常用)

功能:复制文件从或到归档

cpio命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结尾的文件

cpio[选项] > 文件名或者设备名

cpio[选项] < 文件名或者设备名

选项

 
-o 将文件拷贝打包成文件或者将文件输出到设备上
-O filename输出到指定的归档文件名
-A向已存在的归档文件中追加文件
-i解包,将打包文件解压或将设备上的备份还原到系统
-I filename对指定的归档文件名解压
-t预览,查看文件内容或者输出到设备上的文件内容
-F filename使用指定的文件名替代标准输入或输出
-d 解包生成目录,在cpio还原时,自动的建立目录
-v 显示打包过程中的文件名称

示例:

 将etc目录备份:
 find ./etc  -print |cpio -ov  > bak.cpio
 将/data内容追加bak.cpio
 find /data | cpio -oA -F bak.cpio
 内容预览
 cpio -tv< etc.cpio
 解包文件
 cpio -idv< etc.cpio

转载https://www.cnblogs.com/struggle-1216/

 

Linux打包压缩解压工具的更多相关文章

  1. Linux命令-压缩解压命令:gzip、gunzip

    gzip [选项] 源文件名(压缩前) gunzip [选项] 源文件名(压缩后) cd /tmp 切换tmp目录 rm -rf * 强制删除tmp目录下面所有的文件和目录 touch beijing ...

  2. Linux的压缩解压命令快速上手——解压篇

    在Linux系统中,压缩文件通常是先将若干文件(包括目录)打包成一个tar文件,然后再调用压缩程序将tar文件压缩成相应的压缩包,这也就是为什么Linux系的压缩包的后缀通常都是像tar.gz,tar ...

  3. linux命令:压缩解压命令

    压缩解压命令:gzip 命令名称:gzip 命令英文原意:GNU zip 命令所在路径:/bin/gzip 执行权限:所有用户 语法:gzip 选项  [文件] 功能描述:压缩文件 压缩后文件格式:g ...

  4. linux 之 压缩 / 解压

    压缩解压 tar 即可压缩也可以解压 c 压缩 如果没有z.j参数,则表示,只打包,不压缩. 就说, t 查看 z 以gzip方式压缩 相当于 gzip ?.. j 以bzip方式压缩 bzip2 ? ...

  5. Linux命令--压缩解压(简化版)

    Linux tar.gz.tar.bz2.zip 等解压缩.压缩命令详解(简化版) Linux 常用的压缩与解压缩命令有:tar.gzip.gunzip.bzip2.bunzip2.compress ...

  6. linux系统压缩\解压命令详解

    转自:http://www.cnblogs.com/qq78292959/archive/2011/07/06/2099427.html. tar -c: 建立压缩档案-x:解压-t:查看内容-r:向 ...

  7. [Linux] 016 压缩解压命令

    1. 压缩解压命令:gzip 命令名称:gzip 命令所在路径:/bin/gzip 执行权限:所有用户 语法:gzip [文件] 功能描述:压缩文件 压缩后文件的格式:.gz 补充: 解压 .rar ...

  8. linux tar 打包 压缩 解压

    dir:  tong 打包/压缩:tar zvf tong.rar tong        tar -czf tong.tar.gz tong 解压缩:tar xvf tong.rar 查看压缩包里的 ...

  9. linux的压缩解压命令全解

    .tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)——————————————— .zip解压:un ...

  10. linux shell 压缩解压命令

    .tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gun ...

随机推荐

  1. gulp教程之gulp-concat

    简介: 使用gulp-concat合并javascript文件,减少网络请求. 1.安装nodejs/全局安装gulp/本地安装gulp/创建package.json和gulpfile.js文件 1. ...

  2. React Native学习-控制横竖屏第三方组件:react-native-orientation

    在项目中,有时候可能会想使不同的页面显示的横竖屏也不一样,比如前一段我做的<广播体操>的项目,在首页面,肯定是想使页面为竖屏显示,但是播放页面要为横屏显示,即使用户的手机可以转屏,我们的播 ...

  3. QNX 线程 调度策略 优先级 时钟频率 同步

    /* * barrier1.c */ #include <stdio.h>#include <unistd.h>#include <stdlib.h>#includ ...

  4. Web API 数据流使用

    ASP.NET Web API 应用教程(一) ——数据流使用   相信已经有很多文章来介绍ASP.Net Web API 技术,本系列文章主要介绍如何使用数据流,HTTPS,以及可扩展的Web AP ...

  5. cesium 之图层管理器篇(附源码下载)

    前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...

  6. oracle中 trunc 处理日期的用法

    方法/步骤   1 select trunc(sysdate) from dual  结果是 截止到当日 不设置,默认是截止到”日“ 2 select trunc(sysdate,'year') fr ...

  7. Eclipse 导入本地 Git 项目

    File -->  Open Projects From File System 选择项目路径 Finish

  8. grafana的一些坑

    坑1: 在设置alert的时候template中的变量是不被支持的,警告如下: 解决办法: 使用不带变量的具体sql查询 坑2: 时间轴的设置: 在更早的版本中时间轴的locale是无法设置的,就是说 ...

  9. CSU 1547: Rectangle (思维题加一点01背包)

    1547: Rectangle Submit Page    Summary    Time Limit: 1 Sec     Memory Limit: 256 Mb     Submitted: ...

  10. WPF自定义控件之列表滑动特效 PowerListBox

    列表控件是应用程序中常见的控件之一,对其做一些绚丽的视觉特效,可以让软件增色不少. 本人网上看过一个视频,是windows phone 7系统上的一个App的列表滚动效果,效果非常炫 现在在WPF上用 ...