zip
用法:zip [选项] 压缩后文件名 需要压缩的文件或目录 常用选项: -q 不显示压缩过程 -r 递归处理,将指定目录下的所有文件和子目录一并处理 -d 从压缩文件内删除指定的文件 -m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中 -P 为压缩文件设置密码(明文) -e 为压缩文件设置密码(隐藏) -D 压缩文件内不建立目录名称 -F 尝试修复已损坏的压缩文件 -o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同 -g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件 -j 只保存文件名称及内容,而不存放任何目录名称 -u 更换较新的文件到压缩文件内 -z 替压缩文件加上注释 实例: 1 2 3 4 5 6 7 8 9 10 11 12 13 | 1、把一个文件file2和一个目录dir2压缩为test01.zip [root@jacken ~] # zip -qr test01.zip file2 dir2 2、从压缩文件test01.zip中删除file2 [root@jacken ~] # zip -d test01.zip file2 3、向压缩文件test01.zip中添加file3(追加后file3会自动删除) [root@jacken ~] # zip -m test01.zip file3 4、把一个文件file3压缩为file3.zip并设置密码为hi [root@jacken ~] # zip -P hi file3.zip file3 [root@jacken ~] # zip -e file3.zip file3 //回车后输入隐藏密码 5、把目录dir1和file3压缩,名字为hi.zip并添加注释内容(内容为this is a test ) [root@jacken ~] # zip -zqr hi.zip dir1 file3 this is a test . // 以 "." 结束,回车 |
unzip
常用选项: -l 显示压缩文件内所包含的文件 -v 显示压缩文件内所包含的文件(更详细) -t 检查压缩文件是否正确 -z 仅显示压缩文件的备注文字 -d 指定文件解压缩后所要存储的目录 -x 指定不要处理.zip压缩文件中的哪些文件 -n 解压缩时不要覆盖原有的文件 -C 压缩文件中的文件名称区分大小写 -j 不处理压缩文件中原有的目录路径 -L 将压缩文件中的全部文件名改为小写 实例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | [root@jacken ~] # unzip -l test.zip Archive: test .zip this is a test file . Length Date Time Name --------- ---------- ----- ---- 0 02-04-2015 03:13 hi/ 7 02-04-2015 03:13 hi /456 0 02-04-2015 03:12 hi /hello/ 10 02-04-2015 03:12 hi /hello/123 1702 02-04-2015 03:40 passwd --------- ------- 1719 5 files [root@jacken ~] # unzip -v test.zip Archive: test .zip this is a test file . Length Method Size Cmpr Date Time CRC-32 Name -------- ------ ------- ---- ---------- ----- -------- ---- 0 Stored 0 0% 02-04-2015 03:13 00000000 hi/ 7 Stored 7 0% 02-04-2015 03:13 f78ca403 hi /456 0 Stored 0 0% 02-04-2015 03:12 00000000 hi /hello/ 10 Stored 10 0% 02-04-2015 03:12 5dbe6fff hi /hello/123 1702 Defl:N 685 60% 02-04-2015 03:40 343c303d passwd -------- ------- --- ------- 1719 702 59% 5 files [root@jacken ~] # unzip -t test.zip Archive: test .zip this is a test file . testing: hi/ OK testing: hi /456 OK testing: hi /hello/ OK testing: hi /hello/123 OK testing: passwd OK No errors detected in compressed data of test .zip. [root@jacken ~] # unzip -z test.zip Archive: test .zip this is a test file . [root@jacken ~] # [root@jacken ~] # unzip -q test.zip -d /tmp/ [root@jacken ~] # ls /tmp/ hi passwd [root@jacken ~] # rm -rf /tmp/* [root@jacken ~] # unzip -q test.zip -d /tmp/ -x passwd [root@jacken ~] # ls /tmp/ hi [root@jacken ~] # [root@jacken ~] # echo "one_1" > one [root@jacken ~] # echo "two_2" > two [root@jacken ~] # ls one two [root@jacken ~] # cat one two one_1 two_2 [root@jacken ~] # zip -q test.zip one two [root@jacken ~] # ls one test .zip two [root@jacken ~] # echo "one_new" > one [root@jacken ~] # echo "two_new" > two [root@jacken ~] # unzip -q test.zip -x two replace one? [y]es, [n]o, [A]ll, [N]one, [r]ename: y [root@jacken ~] # ls one test .zip two [root@jacken ~] # cat one two one_1 two_new [root@jacken ~] # |
gzip/gunzip
注释:默认压缩后删除原文件 常用选项: -r 递归处理,将指定目录下的所有文件及子目录一并处理 -t 测试压缩文件是否正确无误 -l 列出文件的相关信息 -c 保留原文件 -n:1-9,指定压缩比,默认是6 -d 解开压缩文件 -f 强行压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接 -n 压缩文件时,不保存原来的文件名称及时间戳记 -N 压缩文件时,保存原来的文件名称及时间戳记。 实例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | [root@jacken ~] # ls -R .: 123 inittab one passwd two . /123 : 123 two . /123/two : hi [root@jacken ~] # gzip -r 123 [root@jacken ~] # ls -R .: 123 inittab one passwd two . /123 : 123.gz two . /123/two : hi.gz [root@jacken ~] # gzip one passwd [root@jacken ~] # ls 123 inittab one.gz passwd .gz two [root@jacken ~] # gzip -t one.gz [root@jacken ~] # ls 123 inittab one.gz passwd .gz two [root@jacken ~] # gzip -c inittab > inittab.gz [root@jacken ~] # ls 123 inittab inittab.gz one.gz passwd .gz two [root@jacken ~] # gzip -d one.gz passwd.gz [root@jacken ~] # ls 123 inittab inittab.gz one passwd two [root@jacken ~] # [root@jacken ~] # ls inittab passwd [root@jacken ~] # gzip inittab passwd [root@jacken ~] # [root@jacken ~] # ls inittab.gz passwd .gz [root@jacken ~] # [root@jacken ~] # [root@jacken ~] # [root@jacken ~] # ls inittab.gz passwd .gz [root@jacken ~] # gunzip -t inittab.gz passwd.gz [root@jacken ~] # gunzip -l passwd.gz compressed uncompressed ratio uncompressed_name 789 1925 60.7% passwd [root@jacken ~] # gunzip passwd.gz [root@jacken ~] # ls inittab.gz passwd [root@jacken ~] # gunzip -c inittab.gz > inittab [root@jacken ~] # ls inittab inittab.gz passwd [root@jacken ~] # |
bzip2/bzcat
常用选项: -k 压缩或解压缩中,保留原文件 -t 测试压缩文件的完整性 -d 解压缩参数 -c 将压缩与解压缩的结果送到标准输出 -f 压缩或解压缩时,若输出文件与现有文件同名,强行覆盖 -z 强制执行压缩 -n 压缩比例 实例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | [root@jacken ~] # ls file_1 file_2 [root@jacken ~] # cat file_1 file_2 file_one just one line file_two just one line [root@jacken ~] # bzip2 file_1 [root@jacken ~] # ls file_1.bz2 file_2 [root@jacken ~] # bzcat file_1.bz2 file_one just one line [root@jacken ~] # bzip2 -d file_1.bz2 [root@jacken ~] # ls file_1 file_2 [root@jacken ~] # bzip2 -k file_1 [root@jacken ~] # ls file_1 file_1.bz2 file_2 [root@jacken ~] # rm file_1 rm : remove regular file `file_1'? y [root@jacken ~] # ls file_1.bz2 file_2 [root@jacken ~] # bzip2 -k -d file_1.bz2 [root@jacken ~] # ls file_1 file_1.bz2 file_2 [root@jacken ~] # |
xz
常用选项: -k 不删除原文件 -d 解压缩 -n 压缩比例(1-9,默认是6) 实例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [root@jacken ~] # ls file_1 file_2 [root@jacken ~] # xz file_1 [root@jacken ~] # ls file_1.xz file_2 [root@jacken ~] # ls file_1 file_2 [root@jacken ~] # xz file_1 [root@jacken ~] # xz -k file_2 [root@jacken ~] # ls file_1.xz file_2 file_2.xz [root@jacken ~] # rm -rf file_2 [root@jacken ~] # ls file_1.xz file_2.xz [root@jacken ~] # xz -d file_1.xz [root@jacken ~] # xz -k -d file_2.xz [root@jacken ~] # ls file_1 file_2 file_2.xz [root@jacken ~] # |
tar
常用选项: -c 建立压缩档案 -f 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名 -t 查看内容 -z 调用gzip属性 -j 调用bzip2属性 -x 解压 -r 向压缩归档文件末尾追加文件 -u 更新原压缩包中的文件 --exclude FILE:在压缩的过程中,不要将 FILE 打包! 实例: 1 2 3 4 5 6 7 8 9 | tar -cf all. tar *.jpg 将所有.jpg的文件打成一个名为all. tar 的包 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 -xf all. tar 解出all. tar 包中所有文件,-x是解开的意思压缩 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 jpg.rar *.jpg //rar 格式的压缩,需要先下载rar for linux ,unrar e file .rar // 解压rar |
本文转自Jacken_yang 51CTO博客,原文链接:http://blog.51cto.com/linuxnote/1635830,如需转载请自行联系原作者