很多指令都只能一次打包一个文件,这时候tar的重要性就显现出来了
tar可以一次将多个文件打包成一个文件、
#zip [选项] [打包后的文件名] [打包的目录路径]
参数:
-a 将文件转为ASCII模式
-F 尝试修复损坏的压缩文件
-h help
-m 文件压缩,且删除源文件
-n 特定字符串 不压缩具有特定字尾字符串的文件
-o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
-q 在压缩的时候不显示指令的执行过程
-r 将指定的目录下的所有子目录以及文件一起处理
-S 包含系统文件和隐含文件(S是大写)
-t 日期 把压缩文件的最后修改日期设为指定的日期,日期格式为mmddyyyy
-y 保留符号链接
-x 指定不追加到zip包里的文件
例:
[root@rhelserver ~]# cd test
[root@rhelserver test]# cat>hello.txt
hello.world
[root@rhelserver test]# cat>heo.txt
rtrewtet
[root@rhelserver test]# ls
hello.txt heo.txt simple.txt
[root@rhelserver test]# zip -r hello.zip *
adding: hello.txt (stored 0%)
adding: heo.txt (stored 0%)
adding: simple.txt (deflated 20%)
[root@rhelserver test]# ls
hello.txt hello.zip heo.txt simple.txt
默认保留源文件
#unzip [选项] [-d 目录名,-x 文件列表] [压缩包名]
选项:-d 目录名
-n: 解压时不覆盖源文件
-o: 解压时覆盖已存在的文件,并且无需确认
-v: 查看压缩文件的详细信息(不解压)
-t: 测试压缩文件是否损坏(不解压)
-x 文件列表 :解压除了文件列表指定文件之外的文件
例:# unzip -d /root/test2/ hello.zip
Archive: hello.zip
extracting: /root/test2/hello.txt
extracting: /root/test2/heo.txt
inflating: /root/test2/simple.txt
使用gzip指令
#gzip [-cdtv#] 文件名
选项和参数的含义:
-c : 将压缩的数据输出到屏幕,可通过数据流充导向来处理
-d : 解压缩
-t : 检验一个压缩文件的一致性,查看文件是否有错误
-v : 显示源文件和压缩文件的压缩比
-# : 代表压缩等级,从1-9压缩比依次升高,依次变慢,默认为-6
例:
将hello.txt压缩为hello.gz且保留源文件
[root@rhelserver test]# gzip -c hello.txt > hello.gz
tar用于打包,可以把多个文件打包为一个大文件(不压缩)
因为上述gzip等命令并不能对多个文件和文件夹压缩
例如.tar.gz , .tgz文件 就是用gzip压缩并用tar打包的文件
tar.gz等文件还可以在Windows中直接使用winrar等软件解压
使用方法:
#tar [-z|-j|-J] [cv] [-f 待创建的新文件名] filename...
-c :创建打包文件,可搭配 -v 来察看过程中被打包的文件名(filename)
-t :察看打包文件的内容含有哪些文件名,重点在察看“文件名”就是了;
-x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
-z :通过 gzip 的支持进行压缩/解压缩:此时文件名最好为 *.tar.gz
-j :通过 bzip2 的支持进行压缩/解压缩:此时文件名最好为 *.tar.bz2
-J :通过 xz 的支持进行压缩/解压缩:此时文件名最好为 *.tar.xz
特别留意, -z, -j, -J 不可以同时出现在一串命令行中
-v :在压缩/解压缩的过程中,将正在处理的文件名显示出来!
-f filename:-f 后面要立刻接要被处理的文件名
-C 目录 :解压缩在特定目录
-c, -t, -x 不可同时出现在一串命令行中。
Linux系统压缩指令(一) zip文件,tar.gz文件, gz文件
原文:https://www.cnblogs.com/ziggystardust-pop/p/14588521.html