关于tar:targzipzipjar是什么怎么查看
原创:扣钉日记(微信公众号ID:codelogs),欢送分享,转载请保留出处。简介如果你是后端程序员,我想你肯定见过*.tar.gz、*.zip、*.jar后缀的文件吧,这些都是压缩文件,那这些文件都是怎么生成的,又有哪些要害区别呢?本文将带你一起理解这些文件和配套的操作命令,以及其常常应用的场景。 tar与gzipLinux上最常见的压缩文件就是*.tar.gz了,各种开源软件常以这种格局公布源码或程序,所以作为一名后端开发,还是很有必要理解一下的。 首先,能够发现这个文件后缀名有两段,即.tar和.gz,取这个名称也是有起因的,因为它的制作过程就分为两个局部,如下: 应用tar将目录打包成单个.tar文件 # 将applogs目录打包为applogs.tar文件# 其中-c代表打包、-f指定打包文件名$ tar -cf applogs.tar applogs/# 能够发现,打包文件大小与目录占用大小差不多,因为tar仅仅是把目录中文件拼成单个文件,默认并不压缩 $ du -sh applogs/ applogs.tar177M applogs/175M applogs.tar应用gzip将.tar文件压缩为.gz文件 # 应用gzip压缩,会生成applogs.tar.gz文件$ gzip -k applogs.tar# 能够发现压缩后文件体积显著变小$ du -sh applogs.tar applogs.tar.gz175M applogs.tar8.8M applogs.tar.gz这就是*.tar.gz文件的制作过程,其实这两步应用tar命令能够简化为一步,如下: # 打包并压缩,其中-z代表打包后再应用gzip压缩$ tar -czf applogs.tar.gz applogs/# 解压到当前目录$ tar -xzf applogs.tar.gz -C ./压缩日志文件 另外,因为日志文件内容个别都有很高反复率,这导致Linux上常常会将后端系统产生的历史日志文件压缩后存储起来,这样能够大幅减低磁盘空间占用。 基于这种状况,Linux上又诞生了一批查看压缩日志文件的命令,如zcat、zgrep、zless等,如下: # 主动解压文件,并将其中文件内容输入$ zcat applogs.tar.gz# 主动解压文件,并在其中搜寻,用法和grep相似$ zgrep -a 'error' applogs.tar.gz这比傻乎乎地先解压文件,再在文件中搜寻要高效多了。 tar与其它压缩算法 另外,除了gzip外,tar其实也能够搭配其它压缩算法,像bzip2、xz等等,如下: -j, --bzip2 filter the archive through bzip2 -J, --xz filter the archive through xz --lzip filter the archive through lzip --lzma filter the archive through xz --lzop filter the archive through lzop -z, --gzip, --gunzip, --ungzip filter the archive through gzip --zstd filter the archive through zstd -Z, --compress, --uncompress filter the archive through compresszip与jarzip同样是一种常见的压缩文件格式,后缀是*.zip,与下面tar、gzip不同的是,zip将打包与压缩两个过程交融在一起了,在Linux下对应的操作命令是zip与unzip,如下: ...