tar命令使用方法以及.tar.gz文件和.zip文件
音程于 2021-12-06 16:19:23 发布1591 收藏 1 分类专栏: linux 文章标签: linux 运维 服务器 版权
1、tar包和gz包
tar包和gz包是两个不同的文件包,有三种不同后缀。.tar .gz .tar.gz
tar包:使用tar命令,打包文件或者文件夹,只打包,不压缩
gz包:使用gzip命令,只压缩文件,不打包,所以gz包操作不能对文件夹直接操作,如果要对文件夹下所有文件进行压缩,使用-r参数,gzip -r 文件夹路径
tar.gz:使用tar加-z参数,tar -zcvf filename.tar.gz dir/file 打包压缩文件或者文件夹
tar参数有 z,c,x,v,f
-z 表示压缩操作类型是 .tar.gz
-c 表示当前行为是打包
-x 表示当前行为是解压文件包
-v 参数要求显示命令执行过程
-f 指定打包后文件名
-C 解压到指定路径
常用压缩打包命令:
tar -zcvf tarame.tar.gz dir/files
常用解压缩命令:
tar -zxvf tarname.tar.gz -C 指定解压后文件存放地址
gzip常用参数有 d,c,t,v
-d 解压gz压缩包
-c 控制台窗口打印压缩后文件内容,源文件不变,执行后不生成压缩包
-v 显示压缩百分比
-t 测试已压缩文件是否正确,需要文件压缩成压缩文件后执行
直接压缩文件命令:
gzip fileName
解压缩文件:
gzip -d fileName.gz
注意:gzip命令默认是直接改变源文件,也就是执行gzip filename后,当前路径只有压缩后的文件,文件名是 原文件名.gz
要同时保留原文件和压缩文件,需要手动将写入压缩文件:
gzip -c fileName > fileName.gz
解压操作保留原文件:
gzip -dc fileName.gz > fileName
2、zip包
从本地打包上传到服务器的压缩包,一般都是zip或者rar格式,而不是tar包格式。
zip包上传到服务器后,使用unzip命令解压,压缩成zip包使用zip命令
zip和unzip命令需要安装,使用yum直接安装:
yum install zip -y yum install unzip -y
zip常用参数有 r,q,d
-r 压缩文件夹,递归执行,压缩文件夹下所有文件
-q 不显示压缩过程,默认会在控制台打印压缩文件过程
-d 压缩过程中剔除指定文件, -d参数后跟随的文件不打包到压缩包里
压缩文件夹且排除指定文件不压缩:
zip -r dirpath/ -d a.txt b.text
unzip常用参数有 n,v,d
-n 解压后不覆盖已存在文件,如果压缩包文件中与解压路径有同名文件,跳过该文件
-v 控制台打印显示压缩包内容,但是不解压,-v参数只进行查看
-d 指定解压后文件存放路径
unzip常直接使用,解压到当前路径,覆盖同名文件:
unzip file.zip
解压到指定路径,不覆盖已有同名文件:
unzip -n file.zip -d dirpath/
文章目录
总览
前者常见于Linux中,后者常见于windows系统下。
以前者为后缀的文件可以看成两部分,一部分是.tar,一部分是.gz。
其中.gz和.zip是两种文件压缩的格式。类似于图片有.png和.jpg。
而前者中的.tar是什么意思呢?打包的意思。所以创建一个.tar.gz文件的过程就是,先把多个文件或目录打包,然后压缩成.gz格式的文件。
你回忆一下,你在windows下,是不是也是这个过程。而且windows下这个过程还更麻烦,你需要创建一个文件夹,把所有那些要压缩的都放进去,然后压缩。而在linux中,不需要创建文件夹,直接指定需要打包的是哪些东西就可以了,linux自动会收集这些东西放在一起,也叫做归档(archiving)。
tar
打包
假设我们有这两个文件。
打包方法:
-cvf;
c:将多个文件或目录进行打包。
v:显示打包过程
f:指定包的文件名。
tar -cvf file.tar file1 file2
- 1
- 2
- 3
- 4
- 5
解包
-xvf
-x:解包
-v:显示解包过程
-f:指定解包文件位置。
可以看到非常神奇,一旦tar命名察觉到x,相比于打包c,v和f的作用就会变化。
tar -xvf file.tar
- 1
- 2
- 3
- 4
- 5
- 6
gz
由于gz这种压缩格式太常用了,然后打包和压缩操作通常都在一起,所以tar命令把压缩功能也集成了,也就是说不需要先打包,后压缩,可以用tar命令直接一行完成打包压缩。
tar命令支持两种常见的压缩格式如下:
可以发现,这里有一个比较智能的地方,压缩和解压缩都是-z
或-j
,为什么,因为你还得输入是打包还是解包,tar可以通过你是打包还是解包来判断是压缩还是解压缩。因为不可能解包之后压缩,所以如果有解包,一定是解压缩,而且是先解压缩,后解包。
打包压缩
tar -zcvf file.tar.gz file1 file2
- 1
解压缩解包
tar -zxvf file.tar.gz
- 1
你学废了吗?
标签:文件,tar,zip,压缩,gz,打包 来源: https://www.cnblogs.com/xiaoheikkkk/p/16284521.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。