文件处理命令gzip
gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令。
gzip不仅可以用来压缩大的、较少使用的文件以节省磁盘空间。
语法:gzip[参数][文件或者目录]
-d 或--decompress或----uncompress 解开压缩文件。
-f 或--force 强行压缩文件,不理会文件名是否存在以及该文件是否为符号连接。
-l 或--list 列出压缩文件的相关信息。
-r 或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v 或--verbose 显示指令执行过程。
据统计,gzip命令对文本文件有60%~70%的压缩率,文件经过gzip压缩过后,其名称后面会多出".gz"的扩展名
gzip 使用示例:使用gzip 命令压缩、查看和解压缩命令。
[root@localhost ~]# lsaudit.log passwd_link test01.log test03.logpasswd.back ping.logtest02.log[root@localhost ~]# gzip *.log[root@localhost ~]# lsaudit.log.gz passwd_link test01.log.gz test03.log.gzpasswd.back ping.log.gz test02.log.gz[root@localhost ~]# gzip -l test01.log.gzcompressed uncompressed ratio uncompressed_name45 16 0.0% test01.log[root@localhost ~]# gzip -dv test01.log.gztest01.log.gz: 0.0% -- replaced with test01.log[root@localhost ~]# lsaudit.log.gz passwd_link test01.logtest03.log.gzpasswd.back ping.log.gz test02.log.gz
文件命令处理tar
tar命令可用于打包文件,把多个文件打到一个包中,方便数据的移动。
语法:tar [OPTION...] [FILE]
-c 建立新的压缩文件。
-x 从压缩的文件中提取文件。
-t 显示压缩文件的内容。
-z 支持gzip解压文件。
-j 支持bzip2解压文件。
-v 显示操作过程。
-f 选项后跟tar 包的名字,如果是一个减号-,则代表标准输出(创建包时),或者标准输入(解包或者查看包时)。
tar 命令通常和压缩命令配合起来使用,-z, -j, -J 选项分别对应着gzip, bzip2, xz 这三个压缩工具,当指定了压缩选项后,tar 就会启动相应的压缩工具来做压缩或者解压工作,并通过管道与压缩工具传输数据。命令 tar cf - dir1 | gzip > dir1.tar.gz 等效于命令 tar czf dir1.tar.gz dir1
常用用法:tar cf ball.tar dir1 把目录dir1 及其下所有内容打包tar tf ball.tar 列出包中的内容tar xf ball.tar 把包中的内容解到当前目录tar czf ball.tar.gz dir1 打包然后用gzip压缩tar cjf ball.tar.bz2 dir1 打包然后用bzip2压缩tar cJf ball.tar.xz dir1 打包然后用xz压缩tar xf ball.tar -C /tmp 解到/tmp 目录下(默认在当前目录)tar xvf ball.tar-v 显示过程
tar 使用示例:使用tar 命令打包、打包后压缩;使用tar 命令查询包内的文件,解压到指定目录
[root@localhost ~]# lspasswd test01.log test02.log[root@localhost ~]# tar -cf log.tar *.log[root@localhost ~]# tar -zcf log.tar.gz *.log[root@localhost ~]# lslog.tar log.tar.gz passwd test01.log test02.log[root@localhost ~]# tar -ztvf log.tar.gz-rw------- root/root 0 -07-29 17:47 test01.log-rw------- root/root 0 -07-29 17:47 test02.log[root@localhost ~]# mkdir log[root@localhost ~]# tar -zxf log.tar.gz -C ./log/[root@localhost ~]# lslog log.tar log.tar.gz passwd test01.log test02.log[root@localhost ~]# ls logtest01.log test02.log
其他命令:
zip 选项[-r] [压缩后文件名] [文件或目录] 压缩文件或目录,格式 .zip
zip 选项-r 压缩目录
unzip [压缩文件] 解压 .zip的压缩文件
bzip2 选项 [-k] [文件]压缩后格式 .bz2
bzip2 选项-k 产生压缩文件后保留原文件
bunzip2 选项 [-k] [压缩文件] 解压格式 .bz2
bunzip2 选项 -k 解压缩文件后保留原文件