linux tar压缩解压缩文件夹、文件命令详解
成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站制作、安龙网络推广、成都小程序开发、安龙网络营销、安龙企业策划、安龙品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供安龙建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
直接先上三个常用命令
1.压缩当前目录下文件夹/文件yk到yk.tar.gz:
2.解压缩当前目录下的yk.tar.gz到file:
参数详解
五个命令中必选一个
-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这几个参数是可选的
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
-f必选参数
-f: 使用档案名字,这个参数是最后一个参数,后面只能接档案名。
查看
在不解压的情况下查看压缩包的内容:
linux压缩包解压命令tar.gz需分两步进行,下面是具体介绍:
1、使用命令tar-zcvfmywork/打包压缩mywork目录。
2、使用命令tar-zxvfmywork.tar.gz 解压mywork.tar.gz,解压的文件只能放在当前目录。
以上就是小编今天的分享了,希望可以帮助到大家。
本文章基于thinkpadE15品牌、centos7系统撰写的。
命令名称:bzip2
命令所在路径:/usr/bin/bzip2
执行权限:所有用户
语法:bzip2 [压缩文件]
功能描述:压缩文件
压缩后文件格式: .bz2
bzip2命令只能对文件进行压缩和解压缩操作,不能压缩目录
1, 使用 $ yum list bzip2来查看当前是否安装了bzip2软件包
2, 如果没有安装,执行$ yum install bzip2就可以了(前提是系统可以访问互联网)
3, 在确认已经安装了bzip2软件包的前提下,执行压缩和解压缩操作,比如对/test/1.txt文件进行压缩,压缩后文件名称为1.txt.bz2
4, 解压时有2种方式
-- 解压命令:bunzip2 file.bz2
-- 解压命令:bzip2 -d file.bz2
可以保留原文件解压,也可以不保留原文件解压,不保留原文件解压命令为 $ bunzip2 1.txt.bz2;完了解压出文件1.txt,并且原文件消失
保留原文解压命令为 $ bzip2 -dk 1.txt.bz2, 完了解压出1.txt, 并且原文件依然保留
5, bzip2可以同时压缩多个文件,压缩多个文件时,文件与文件之间空格隔开,比如:
$ bzip2 1.txt 2.txt
文件可以是相对路径下的文件,也可以是绝对路径下的文件.
6, 解压时,如果当前路径下存在相同名字的文件,如果需要不提示直接覆盖,可以使用选项-f
比如: $ bzip2 -df 1.txt.bz2
否则就会提示解压不成功
以上是关于bzip2的常用方法介绍,更多内容可以通过man bzip2或者bzip2 --help来获取.
tar 的功能类似于 Windows 中的 WinRAR。它可以将多个目录或文件打包成一个大文件,在打包的过程中还可以透过 gzip/bzip2/xz 的支持,对文件进行压缩 1 。
tar 的选项参数很多,主要用到的有以下这些:
还是太多,记不住怎么办? 记住下面这些最常用的命令即可:
总结一下:z 为gzip;j 为bzip2;J 为xz。c 为压缩;t 为查询;x 为解压缩。最后跟着 vf。f 一定要是最后一个,如果放在其他选项之前,tar 就会把文件名搞错。比如 tar -zcfv xxx 命令,tar 指令就会认为压缩文件名为 v!
压缩的文件名称要根据压缩算法加上响应的后缀:
只有知道了压缩算法,我们才能解的出来,你说是吗?所以文件名规范很重要。
假设我们需要备份 /etc 文件夹,把它打成一个压缩包 1 。这在实际应用中很常见,因为 /etc 文件夹存放了系统主要配置文件。在英文中完整单词是etc.,也就是后面会带上一个句点,表示“等等”之意。
接下来,我们分别使用 gzip、bzip2与 xz 算法对 /etc 文件夹进行打包压缩。
gzip 压缩指令: time tar -zpcvf /root/etc.tar.gz /etc
bzip2压缩指令: time tar -jpcvf /root/etc.tar.bz2 /etc
xz 压缩指令: time tar -Jpcvf /root/etc.tar.xz /etc
从 real 中可以看出: gzip 的压缩速度最快,而 xz 的压缩速度最慢。
从大小上来看,xz 的压缩率最高,而gzip 压缩率最差。
压缩率高,自然需要时间成本。因此需要压缩的文件夹很大,那么就要多多考虑时间成本咯。因为 gzip 压缩速度快,这也是 *.tar.gz 比较流行的原因之一。
假设有这样一种场景:我们需要打包某个文件夹(/root),但这个文件夹中的某个文件或者子文件夹不想打包进去(带 etc 前缀)。也就是希望这个文件夹部分打包,部分不打包。可以执行以下指令:
tar -zcvf /root/test.tar.gz --exclude=/root/etc* --exclude=/root/test.tar.gz /root
加了 --exclude=/root/test.tar.gz 是为了排除自身,否则压缩包中会包含一个大小为 0 的自身文件,这恐怕不是我们希望看到的:
通过 tar -ztvf test.tar.gz 就可以查看刚刚新打的压缩包中所包含的文件列表:
使用命令 tar -ztvf etc.tar.gz 查看刚刚打好的压缩包。注意要使用匹配的解压缩算法才能正确解压,比如示例中是 gz 作为后缀,所以加了 -z 选项表示使用 gzip 算法进行解压。
部分输出内容:
可以看到该命令把文件的权限、账户以及归属组也一并打印出来了。
而且还有一点很关键,这些文件都没有根目录。如果没有拿掉根目录,解压缩后的文件名就会是绝对路径, 亦即解压缩后的数据一定会被放置 到 /etc/xxx 去 1 !这样系统的 /etc 文件夹就会被覆盖,后果很严重。所以,tar 打包指令默认都会去除放入包中文件的根目录。除非通过 -P 显示要求保留这些文件的根目录。
(1)完全解压
利用 tar -zxvf etc.tar.gz -C /tmp 命令把 etc.tar.gz 解压到 /tmp。解压成功后,就会在 /tmp 下看到 /etc 文件夹。
如果需要在本地路径下直接解开,那直接执行 tar -zxvf etc.tar.gz 即可。
(2)部分解压
假设我们需要把压缩包(etc.tar.gz)中的 vconsole.conf 解压出来。可以先执行以下命令,查询出该文件所对应的相对路径:
tar -ztvf etc.tar.gz | grep ‘console’
拿到需要解压的文件路径之后,就可以执行 tar -zxvf etc.tar.gz etc/vconsole.conf
进入当前目录的 etc 文件夹,就可以看到 vconsole.conf 已经被解压出来了:
【1】 鸟哥. 鸟哥的Linux私房菜 基础学习篇[M]. 第四版. 北京: 人民邮电出版社,2018:359-362.
linux打包压缩命令tar的方法如下:
操作设备:戴尔笔记本电脑
操作系统:win10
操作程序:linux主机2.01
1、首先进入到等待输入shell指令的linux命令行状态下,如下图所示。
2、输入shell指令:tar -czf test.tar.gz test.txt,如下图所示。
3、最后按下回车键就会看到test.txt被成功压缩为test.tar.gz,如下图所示。
一般在linux下可以通过tar命令实现打包和压缩(或解压)。
tar-zcvffilefile.tar.gz打包并压缩成gzip格式,其中-c命令是创建tar包,-z参数是指定压缩成gzip格式。
ttar-zxvffile.tar.gz解包命令,其中-x是解包命令,-z指定解压缩格式是gzip。
ttar-jcvffilefile.tar.bz2打包并压缩成bzip2格式,其中-c是创建tar包,-j参数指定压缩成bzip2格式。tar-zxvffile.tar.gz解包命令,其中-x是解包命令,-j指定解压缩格式是bzip2。