• Linux


    文件压缩

    常用的压缩命令有 gzip、bzip2 等。

    gzip 命令

    命令格式

    gzip [ -acdfhlLnNrtvV19 ] [-S suffix] [ name ...  ]

    命令参数

    -c --stdout --to-stdout
      将输出内容写到标准输出端口,并保持原有文件不变

    -d --decompress --uncompress
      解压缩

    -f --force
      强制压缩

    -h --help
      打印帮助信息

    -l --list
      列出压缩文件的压缩统计

    -L --license
      打印版本与版权信息

    -q --quiet
      不显示警告信息

    -r --recursive
      递归(解)压缩

    -S .suf --suffix .suf
      指定压缩文件的后缀为 .suf,默认后缀是 .gz

    -t --test
      检验压缩文件的完整性

    -v --verbose
      在(解)压缩时显示详细信息

    -V --version
      打印版本与版权信息

    -# --fast --best
      设定压缩级别。# 的取值范围为 1~9,# 的取值越大,压缩速度越慢,压缩效果越好。默认取值为 6。

    实例

    a) 压缩文件

    huey@huey-K42JE:~/huey/linux/cmdline$ gzip foo

    b) 解压文件

    huey@huey-K42JE:~/huey/linux/cmdline$ gzip -d foo.gz
    huey@huey-K42JE:~/huey/linux/cmdline$ gunzip foo.gz

    c) 列出压缩文件的压缩统计

    huey@huey-K42JE:~/huey/linux/cmdline$ gzip -l foo.gz 
             compressed        uncompressed  ratio uncompressed_name
                   4150               26134  84.2% foo

    d) 指定压缩级别

    huey@huey-K42JE:~/huey/linux/cmdline$ gzip -v9 foo
    foo:	 84.9% -- replaced with foo.gz

    e) 只查看压缩文件的内容而不解压文件

    huey@huey-K42JE:~/huey/linux/cmdline$ date > foo
    huey@huey-K42JE:~/huey/linux/cmdline$ gzip foo
    huey@huey-K42JE:~/huey/linux/cmdline$ gzip -dc foo.gz 
    Thu May  7 17:10:35 CST 2015

    相关命令

    gunzip - 解压缩,相当于 gzip -d

    zless - 查看压缩文件内容,zless test.gz 相当于 gunzip -c test.gz | less

    zcat - 类似于 zless,zcat test.gz 相当于 gunzip -c test.gz | cat

    bzip2 命令

    bzip2 与 gzip 命令功能类似,但使用不同的压缩算法。该算法具有高质量的数据压缩能力,但却降低了压缩速度。多数情况下,其用法与 gzip 类似,只是用 bzip2 压缩后的文件以 .bz2 为后缀。

    命令格式

    bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ...  ]

    命令参数

    -c --stdout
      将数据压缩或解压缩至标准输出。

    -d --decompress
      强制解压缩

    -z --compress
      -d 选项的补充,强制压缩文件

    -t --test
      检验压缩文件的完整性

    -f --force
      强制覆盖输出文件。

    -k --keep
      在(解)压缩过程中保留原文件

    -s --small
      在压缩、 解压缩及检查时减少内存的使用量。

    -q --quiet
      不显示警告信息

    -v --verbose
      在(解)压缩时显示详细信息

    -L --license -V --version
      打印版本与版权信息

    -1 (or --fast) to -9 (or --best)
      设置压缩级别,数值越大,压缩速度越慢,压缩效果越好。

    实例

    a) 压缩文件

    huey@huey-K42JE:~/huey/linux/cmdline$ bzip2 foo

    b) 解压缩文件

    huey@huey-K42JE:~/huey/linux/cmdline$ bunzip2 foo.bz2

    相关命令

    bunzip2 - 解压缩,相当于 bzip2 -d

    bzcat - 将解压缩内容输出至标准输出,bzcat test.bz2 相当于 bunzip2 -c test.bz2 | cat

    bzip2recover - 用于修复损坏的 bz2 文件的数据

    文件归档

    归档是与压缩操作配合使用的一个常用文件管理任务。归档是一个聚集众多文件并将它们组合为一个大文件的过程。

    tar 命令

    命令格式

    tar [OPTION...] [FILE]...

    命令参数

    -A, --catenate, --concatenate
      追加 tar 文件到归档文件中

    -c, --create
      创建新的归档文件

    -d, --diff, --compare
      查找归档文件与文件系统的差异

    --delete
      从归档文件里删除指定的文件

    -r, --append
      追加文件到归档文件

    -t, --list
      列出归档文件的内容

    -u, --update
      仅追加比归档文件更新的文件

    -x, --extract, --get
      从归档文件中提取文件

    实例

    a) 将foo1、foo2 和 foo3 归档至 foo.tar

    huey@huey-K42JE:~/huey/linux/cmdline$ tar cvf foo.tar foo1 foo2 foo3

    b) 查看归档文件的内容

    huey@huey-K42JE:~/huey/linux/cmdline$ tar tvf foo.tar
    -rw-rw-r-- huey/huey 26840 2015-05-07 19:28 foo1
    -rw-rw-r-- huey/huey 13047 2015-05-07 19:28 foo2
    -rw-rw-r-- huey/huey 348 2015-05-07 19:28 foo3

    c) 从归档文件中提取文件

    huey@huey-K42JE:~/huey/linux/cmdline$ tar xvf foo.tar

    d) 追加 foo4 至归档文件 foo.tar

    huey@huey-K42JE:~/huey/linux/cmdline$ tar rf foo.tar foo4

    e) 从归档文件 foo.tar 中删除 foo2

    huey@huey-K42JE:~/huey/linux/cmdline$ tar -f foo.tar --delete foo2

    f) 归档并压缩(gzip)文件

    huey@huey-K42JE:~/huey/linux/cmdline$ tar zcvf foo.tar.gz foo

    g) 解压缩 .tar.gz 文件

    huey@huey-K42JE:~/huey/linux/cmdline$ tar zxvf foo.tar.gz

    h) 归档并压缩(bzip2)文件

    huey@huey-K42JE:~/huey/linux/cmdline$ tar jcvf foo.tar.bz2 foo

    i) 解压缩 .tar.bz2 文件

    huey@huey-K42JE:~/huey/linux/cmdline$ tar jxvf foo.tar.bz2

    zip 命令

    zip 程序既是文件压缩工具也是文件归档工具。在 Linux 系统中,gzip 才是主要的压缩指令,而 bzip2 次之。在 Linux 系统中主要使用 zip 程序与 Windows 系统交换文件,而不是将其用于压缩或是归档文件。

    命令格式

    zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption ...]  [-b path] [-n suffixes] [-t date] [-tt date] [zipfile [file ...]]  [-xi list]

    unzip [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip] [file(s) ...]  [-x xfile(s) ...] [-d exdir]

    实例

    a) 将 foo1、foo2 和 foo3 归档压缩至 foo.zip

    huey@huey-K42JE:~/huey/linux/cmdline$ zip foo.zip foo1 foo2 foo3

    b) 归档压缩目录

    huey@huey-K42JE:~/huey/linux/cmdline$ zip -r commons-beanutils-1.9.2.zip commons-beanutils-1.9.2

    c) 解压缩 .zip 文件

    huey@huey-K42JE:~/huey/linux/cmdline$ unzip commons-beanutils-1.9.2.zip
  • 相关阅读:
    Marshal Code Into Another Thread(STAThread)
    MongoDB分片实战(二):Sharding
    项目中如何添加CorePlot开源框架(重温Xcode链接静态库)
    Xcode4.2中将Three20开源库导入到工程项目中
    Ajax在MVC中的使用
    位枚举的学习
    MVC3+NHibernate项目实战(二) :数据库访问层
    MVC3+NHibernate项目实战(一) :项目设计
    Android VideoView
    00设计原则
  • 原文地址:https://www.cnblogs.com/huey/p/4482695.html
Copyright © 2020-2023  润新知