文件压缩归档

文件压缩有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。LINUX上有很多压缩解压缩软件,linux上目前最常用的压缩软件时gzip和bzip2,compress已经过时了,通常这些命令通常只能针对一个文件来压缩解压缩,如果要对目录和多个文件进行压缩,就需要用到归档工具来解决。
常见压缩命令:compress、gzip、bzip2、xz、zip
常用归档命令:tar、cpio
不同的压缩解压缩软件的压缩技术并不相同,这就造成了软件之间不能彼此解压缩或者压缩文件,所以需要根据被压缩文件的扩展名判断该文件使用的压缩软件。

常见压缩文件扩展名对应的命令:

扩展名 压缩命令 解压命令
*.z commpress uncompress
*.gz gzip gunzip
*.bz2 bzip2 bunzip2
*.xz xz unxz
*.zip zip unzip
*.tar.gz/*.tgz tar-gzip tar-gunzip
*.tar.bz2/*.tbz2 tar-bzip2 tar-bunzip2
*.tar.xz/*.txz tar-xz tar-unxz
*.tar(归档) tar tar
*.cpio(归档) cpio cpio

常用压缩软件

cmpress|uncompress|zcat

compress [-dfvcVr] [-b maxbits] [file ...]
-d:  解压缩,相当于uncompress
-c:  结果输出至标准输出, 不删除原文件
-v:  显示详情
 uncompress 解压缩
 zcat file.Z >file 不解压缩查看文件内容
例如:
uncompress FileName.Z (解压缩)
compress FileName(压缩)

gzip|gunzip|zcat

gzip [OPTION]... FILE ...
-d:  解压缩,相当于gunzip
-c:  将压缩或解压缩的结果输出至标准输出
-# :1-9 ,指定压缩比,值越大压缩比越大
zcat 不解压缩查看文件内容
例如:
gunzip FileName.gz|gzip -d FileName.gz(解压缩)
gzip FileName(压缩)

bzip2|bunzip2|bzcat

-d:  解压缩,相当于bunzip2
-# :1-9 ,指定压缩比,值越大压缩比越大
-k keep 保留源文件
bzcat:不解压缩查看文件内容
例如:
bzip2 -d FileName.bz2|bunzip2 FileName.bz2(解压缩)
bzip2 -z FileName(压缩)

xz/unxz/xzcat

-d:  解压缩,相当于gunzip
-# :1-9 ,指定压缩比,值越大压缩比越大
-k keep 保留源文件
xzcat:不解压缩查看文件内容

zip/unzip

-A   调整可执行的自动解压缩文件。
-b<工作目录>   指定暂时存放文件的目录。
-c   替每个被压缩的文件加上注释。
-d   从压缩文件内删除指定的文件。
-D   压缩文件内不建立目录名称。
-f   更新或者追加文件内容到压缩文件
-F   尝试修复已损坏的压缩文件。
-g   将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-h   在线帮助。
-i<范本样式>   只压缩符合条件的文件。
-j   只保存文件名称及其内容,而不存放任何目录名称。
-J   删除压缩文件前面不必要的数据。
-k   使 用MS-DOS兼容格 式的文件名称。
-l   压缩文件时,把LF字符 置换成LF+CR字 符。
-ll   压缩文件时,把LF+CR字 符置换成LF字符。
-L   显示版权信息。
-m   将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
-n<字尾字符串>   不压缩具有特定字尾字符串的文件。
-o   将压缩文件的更改时间设成和该文件相同(参照压缩包内最新文件)
-q   不显示指令执行过程。
-r   递归处理,将指定目录下的所有文件和子目录一并处理。
-S   包含系统和隐藏文件。
-t<日期时间>把压缩文件的日期设成指定的日期。
-T   检查备份文件内的每个文件是否正确无误。
-u   更换较新的文件到压缩文件内。
-v   显 示指令执行过程或显示版本信息。
-V   保 存VMS操作系统的文件属性。
-w   在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
-x<范本样式> 压 缩时排除符合条件的文件。
-X   不保存额外的文件属性。
-y   直接保存符号连接,而非该连接所指向的文件
-z   在压缩文件加上注释。
-$   保存第一个被压缩文件所在磁盘的卷册名称。
-<压缩效率>   压 缩效率是一个介于1-9的数值。
 例如:
unzip test.zip(解压缩)
zip test1.zip test.MYI(压缩)

常用归档工具

tar归档工具

tar [主选项+辅选项] 文件或者目录(主选项是必须要有的,辅选项可以选用)
主选项:(同一条命令只能使用一个主选项)
c 创建新的档案文件。备份一个目录或是一些文件,相当于打包。
x 从档案文件中释放文件。相当于拆包。
t 列出档案文件的内容,查看已经备份了哪些文件。
辅助选项:
-z :调用gzip命令压缩 
-j :调用bzip2命令压缩
-v :压缩的过程中显示文件!这个常用
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!
-p :使用原文件的原来属性(属性不会依据使用者而变)
--exclude FILE:在压缩的过程中,不要将 FILE 打包!

示例:

tar -tf aaa.tar.gz 在不解压的情况下查看压缩包的内容
压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
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
解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压
tar.bz2tar –xZvf file.tar.Z //解压tar.Z

cpio归档工具
cpio可将文件或目录从文件库获取出来或将散列文件拷贝到文件库。是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio” 或者“.tar” 结尾的文件。
cpio 共有三种基本模式:
-o即copy-out 模式,将一组文件copy到一个文件库。
-i 即copy-in 模式,读取文件库,并将其展开在当前目录。
-p 能从某个目录读取所有文件(包括子目录到另一个目录),且不以归档的方式存放。
-o常用标准输入设备读取要copy 的文件名称,并将copy成的归档文件通过标准输出设备输出,一般利用输入/输出重定向或管道的原理,达到真正复制的功能。

cpio [ 选项] >  文件名或者设备名
cpio [ 选项] <  文件名或者设备名
选项
-o  将文件拷贝打包成文件或者将文件输出到设备上
-i  解包,将打包文件解压或将设备上的备份还原到系统
-t  预览,查看文件内容或者输出到设备上的文件内容
-v  显示打包过程中的文件名称。
-d  解包生成目录,在cpio 还原时,自动的建立目录
-c  一种较新的存储方式

示例:

**利用cpio备份: **
find temo –print | cpio –ocdv > /dev/rfd0135ds18
find . |cpio -co > ../initrd(将temp目录下的文件备份到软盘上)
ls |cpio –o >/usr/backup(将当前目录下的所有文件复制成backup archive file)
ls *.c | cpio –o>backup(复制工作目录中的所有的c程序)
ls| cpio –p /usr/linfs/tempdir (复制当前工作目录下的文件到/usr/linfs/tempdir 目录,不生成archive file)
利用cpio 复原:
cpio –icdv < /dev/rfd0135ds18 (将软盘中的文件复原。)
cpio -i < ../initrd(将上层目录的initrd文件释放到当前文件夹)
cpio –icdv "*stat.wp" < /dev/rfd0135ds18 (仅复原*stat.wp的文件 )
cpio –i </usr/linfs/old1 *.f (仅复原*.f 文件)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,080评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,422评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,630评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,554评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,662评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,856评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,014评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,752评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,212评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,541评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,687评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,347评论 4 331
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,973评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,777评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,006评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,406评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,576评论 2 349

推荐阅读更多精彩内容