1. 打包和压缩文件


linux现在经常使用gzip和bzip2要压缩的文件。tar压缩文件。

经常使用的扩展:
*.gz   gzip压缩文件
*.bz2  bzip2压缩的文件
*.tar   tar打包的文件,没有压缩
*.tar.gz  tar打包文件。经过gzip压缩
*.tar.bz2  tar打包文件,经过bzip2压缩

2. gzip压缩


gzip是使用最广的压缩命令。用来取代compress压缩。
$ gzip -h
gzip 1.3.3
(2002-03-08)
usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]
经常使用參数
-c : 压缩数据输出到屏幕,可重定向处理
-d : 解压缩
-t : 检验压缩文件的一致性。看看文件是否错误
-v : 显示压缩的具体信息。压缩比等
-# : 数字,压缩等级,1-9,9压缩率最高,默认6

压缩文件

$ gzip -v test
test: 53.1% -- replaced with test.gz

压缩会删掉本地文件。新建test.gz文件

不删除文件使用重定向
$ gzip -c test > test.gz

查看压缩后的文件内容,不解压缩的情况下。使用zcat命令

$ zcat test.gz 

3. bzip2


bzip2是用来取代gzip的压缩,比gzip压缩比例还高。使用參数差点儿和gzip同样。
$ bzip2 -h
bzip2, a block-sorting file compressor. Version 1.0.2, 30-Dec-2001. usage: bzip2 [flags and input files in any order]
经常使用參数
-c : 压缩数据输出到屏幕。可重定向处理
-d : 解压缩
-k : 保留原文件
-z : 压缩
-t : 检验压缩文件的一致性。看看文件是否错误
-v : 显示压缩的具体信息。压缩比等
-# : 数字,压缩等级。1-9,9压缩率最高。默认6

使用

#压缩test文件,生成test.bz2
$ bzip2 -z test #保留原文件, 压缩生成test.bz2
$ bzip2 -k test #解压缩文件
$ bzip2 -d test.bz2

查看压缩文件内容,使用bzcat

$ bzcat test.bz2 

3. 打包:tar


tar为打包命令。将多个文件打包成一个文件。
还包括压缩參数。

$ tar --help
GNU `tar' saves many files together into a single tape or disk archive, and
can restore individual files from the archive. Usage: tar [OPTION]... [FILE]... Examples:
tar -cf archive.tar foo bar # Create archive.tar from files foo and bar.
tar -tvf archive.tar # List all files in archive.tar verbosely.
tar -xf archive.tar # Extract all files from archive.tar. #參数
-c 新建压缩文件
-t 列出压缩文件列表
-x 解压缩文件
-c,-t,-x不能同一时候出现 -j 通过bzip2来压缩或解压缩。文件名称最好为. *.tar.bz2
-z 通过gzip压缩或解压缩, 文件名称最好为 *.tar.gz
-v 展示正在处理的具体信息
-f 后面跟要被处理的文件名称
-C 解压时,后面跟解压到的文件夹名 -p 保留文件的原本权限
-P 保留绝对路径
--exclude=FILE 排除FILE文件

tar的基本使用方法

#创建bzip2压缩文件
$ tar -jcv -f test.tar.bz2 test/
test/
test/1
test/10 #创建gzip压缩文件
$ tar -zcv -f test.tar.gz test
test/
test/1
test/10 #查看文件
$ ll
drwxrwxr-x 2 work work 4096 Jul 19 19:12 test
-rw-rw-r-- 1 work work 61897 Jul 19 19:13 test.tar.bz2 #不解压缩情况下查看文件列表
$ tar -jtv -f test.tar.bz2
tar: Record size = 8 blocks
drwxrwxr-x work/work 0 2014-07-19 19:12:40 test/
-rw-rw-r-- work/work 6353 2014-07-19 19:12:40 test/1
-rw-rw-r-- work/work 6343 2014-07-19 19:12:40 test/10 #解压缩到当前文件夹
$ tar -jxv -f test.tar.bz2
test/
test/1
test/10 #解压缩到指定文件夹test2
$ mkdir test2
$ tar -jxv -f test.tar.bz2 -C test2
test/
test/1
test/10 #保留原文件权限
$ tar -zcvp -f etc.tar.gz /etc #查看压缩文件
$ tar -ztv -f etc.tar.gz

打包时不包括某个文件

#创建压缩文件,不包括某个文件test/10
$ tar -zcv -f test.tar.gz --exclude=test/10 test/*
test/1

备份比某个时刻更新的文件

$ tar -zcv -f etc.tar.gz --newer-mtime="2013/10/31" /etc/*
/etc/xinetd.d/
tar: /etc/yp.conf: file is unchanged; not dumped
#not dumpd表示没有备份的

地址:http://blog.csdn.net/yonggang7/article/details/37963793


版权声明:本文博主原创文章,博客,未经同意不得转载。

linux在文件打包和压缩的更多相关文章

  1. linux的文件打包与压缩

    简介 Linux 上常用的压缩/解压工具,介绍了zip.rar.tar的使用. 文件打包和压缩 Linux 上的压缩包文件格式,除了 Windows 最常见的*.zip.*.rar..7z 后缀的压缩 ...

  2. linux:文件打包与压缩

    学习内容介绍:Linux 上常用的压缩/解压工具,介绍了zip.rar.tar的使用. 先总结一下常用命令: zip: 打包 :zip something.zip something (目录请加 -r ...

  3. linux下文件打包、压缩详解

    Linux平台下,有如下几种常见的压缩工具: ========================================================================= 工 具 ...

  4. Linux 将文件打包、压缩并分割成指定大小

    打包文件: tar -cvf .tar 分割文件: split -b 3G -d -a .tar .tar. //使用split命令,-b 3G 表示设置每个分割包的大小,单位还是可以k // -d ...

  5. linux学习-文件打包与压缩

  6. linux常用命令之--文件打包与压缩命令

    linux的文件打包与压缩命令 1.压缩与解压命令 compress:用于压缩指定的文件,后缀为.z 其命令格式如下: compress [-d] 文件名 常用参数: -d:解压被压缩的文件(.z为后 ...

  7. Linux 系统常用命令汇总(六) 文件打包与压缩

    文件打包与压缩 命令 选项 注解 示例 compress 文件名 压缩指定的文件,压缩后的格式为*.z compress install.log -d 解压被压缩的文件  .z为后缀的文件:compr ...

  8. linux下的打包和压缩

    linux中常见的两种压缩包文件的格式是.tar..gz和.tar.gz..tar仅仅是将文件简单地打包,文件的大小没有变化,也就是说.tar文件仅仅是一个包,没有被压缩:.tar.gz文件是打包后用 ...

  9. Linux基础------文件打包解包---tar命令,文件压缩解压---命令gzip,vim编辑器创建和编辑正文件,磁盘分区/格式化,软/硬链接

    作业一:1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cat /etc/passwd /etc/group > /1.txt2) 将用户信息数据库文件和用户 ...

随机推荐

  1. Linq to Entities不识别方法

    db.UserValidates.Include(a => a.User).Where(uv => u.UserValidates.Contains(uv, c)).ToList(); 执 ...

  2. Asp.net实现在线人数统计功能代码实例

    application最经典的一个方法:统计在线人数,这需要借助于我们的全局应用程序类来对登录的用户信息进行统计: 以下是代码片段:    void application_start(object ...

  3. linux syslog详解

    linux syslog详解 分三部分 一.syslog协议介绍 二.syslog函数 三.linux syslog配置   一.syslog协议介绍 1.介绍 在Unix类操作系统上,syslog广 ...

  4. poj1064 二分,注意精度!

    Cable master Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 35269   Accepted: 7513 Des ...

  5. c#类似单片机的8bit或运算

    1.正确 PWMSUBM0 &= (byte)(PWMSUBM0 | 0xfc); PWMSUBM0 &= (byte)(PWMSUBM0 | (byte)0xfc); 2.不能编译的 ...

  6. javaWeb--jsp & jQuery

    jsp页面的基本构成:指令标签HTML标记语言注释   <!-- html注释 -->  <%-- java代码注释 -->   //html注释对jsp嵌入的代码不起作用,因 ...

  7. pair/sort/find/qsort

    1. pair template <class T1, class T2> struct pair { typedef T1 first_type; typedef T2 second_t ...

  8. [C入门 - 游戏编程系列] 序言篇

    记得学习C语言的时候,看着别人能写各种各样的小游戏和小软件,甚是羡慕.而自己,虽然说语法都会,但是真正上手写个几百行的代码,就显得力不从心.曾经一度很是郁闷,看过一些书,大都处于教语法的层面,有些涉及 ...

  9. CC2530红外学习球学码函数(P1.2接红外一体接收头,使用定时器tim1的复用功能2)

    P1.2GPIO配置: void cap_gpio_init(){ P1SEL |= 0x04; P1DIR &= ~0x04; PERCFG |= 0x40; P2SEL |= 0x20; ...

  10. AngularJS 基础教程二:

    5.过滤器 过滤器的主要功能是格式化数据 可以使用Angular提供的过滤器,也可以自定义过滤器 Angular过滤器: currency(货币).date(日期).filter(子串匹配).json ...