发布网友 发布时间:2022-02-26 11:25
共2个回答
懂视网 时间:2022-02-26 15:47
Linux中如何打包压缩解压文件
设备型号:ThinkPad E15
操作系统: centos7和centos8
软件版本:tar-1.30
用法:tar [OPTION...] [FILE]...
参数:
-ccreate创建文件
-x-extract解压文件
-v--verbose显示执行详细过程
-f--file指定被压缩的文件
-C (大写)--directory 指定解压位置
例:给/boot/grub2目录 打包
[root@xuegod63 ~]# tar -cvf grub.tar /boot/grub2/
[root@xuegod63 ~]# ls grub.tar
[root@xuegod63 ~]# tar xvf grub.tar#解压缩
[root@xuegod63 ~]# ls boot #查看解压后,得到的boot文件夹中的内容
grub2
例2:把两个目录或目录+文件打包成一个软件包:
[root@xuegod63 ~]# mkdir ./back
[root@xuegod63 ~]# cp /etc/passwd ./back/
[root@xuegod63 ~]# tar -cvf back.tar /boot/grub2 /root/back/ /etc/passwd
tar: 从成员名中删除开头的“/”
-rw-r--r-- root/root 1024 2020-06-28 19:46 boot/grub2/grubenv ###输出内容
-rw-r--r-- root/root 5130 2020-06-28 19:46 boot/grub2/grub.cfg
drwxr-xr-x root/root 0 2020-07-03 14:23 root/back/
-rw-r--r-- root/root 2735 2020-07-03 14:23 root/back/passwd
-rw-r--r-- root/root 2735 2020-06-28 19:49 etc/passwd
2、 tar 归档+压缩
语法:tar czvf newfile.tar.gz SOURCE
语法:tar czvf 压缩后的文件名(tar.gz tar.bz2) 需要压缩的文件或目录
常用参数:
-z, --gzip以gzip方式压缩 扩展名: tar.gz
-j :以bz2方式压缩的 扩展名:tar.bz2
-J:以xz 方式压缩 扩展名:tar.xz
例1:创建.tar.gz 包
[root@xuegod63 ~]# tar zcvf /root/grub.tar.gz /boot/grub2 #归档,注意备份的名字后缀
[root@localhost test]# tar zxvf /root/etc.tar.gz #解压缩
例2:创建.tar.bz2包
[root@xuegod63 ~]# tar -jcvf grub.tar.bz2 /boot/grub2
[root@xuegod63 ~]# tar -jxvf grub.tar.bz2 #解压缩
[root@xuegod63 ~]# tar jxvf grub.tar.bz2 -C /opt#解压到opt目录下
例3:创建.tar.xz包
[root@xuegod63 ~]# tar -Jcvf grub.tar.xz /boot/grub2
[root@xuegod63 ~]# tar -xvf grub.tar.xz #解压tar.xz 这类包
或:
[root@xuegod63 ~]# tar -Jxvf ~/etc.tar.xz
对比三种压缩方式后压缩比例:
[root@xuegod63 ~]# ll -h grub*
-rw-r--r-- 1 root root 5.2M 10月 26 16:27 grub.tar
-rw-r--r-- 1 root root 1.9M 10月 26 18:51 grub.tar.bz2
-rw-r--r-- 1 root root 2.1M 10月 26 18:47 grub.tar.gz
-rw-r--r-- 1 root root 1.4M 10月 26 19:03 grub.tar.xz#这个压缩比例最高,压缩的时间是最长
总结:
用法:tar [OPTION...] [FILE]...
参数:
-ccreate创建文件
-x-extract [?ekstr?kt] 提取 解压还原文件
-v--verbose显示执行详细过程
-f--file指定备份文件
-C (大写)--directory 指定解压位置
tar 归档+压缩
语法:tar czvf newfile.tar.gz SOURCE
语法:tar czvf 压缩后的文件名(tar.gz tar.bz2) 需要压缩的文件或目录
常用参数:
-z, --gzip以gzip方式压缩 扩展名: tar.gz
-j :以bz2方式压缩的 扩展名:tar.bz2
-J:以xz 方式压缩 扩展名:tar.xz
热心网友 时间:2022-02-26 12:55
Linux系统压缩和解压文件都可以用tar命令,需要在压缩文件时指定压缩参数,解压缩时指定解压参数。
tar命令主要参数解释:
-z参数:表示要解压或压缩的是tar.gz文件(如果是tar.bz2就是-j)
-x参数:表示是执行解压缩操作而不是打包操作
-v参数:表示列出解压时的详细消息
-f参数:指定要解压的文件名,或者指定新建的打包文件的名字
tar命令解压时还可以指定解压的目标目录,也就是把压缩文件的内容解压到哪个文件夹内,这个参数是-C(大写的C),例子:
解压tar.gz文件:tar -zxv -f test.tar.gz -C /home/user/target
解压tar.bz2文件: tar -jxv -f test.tar.bz2 -C /home/user/target
如果是zip文件就无法用tar命令解压了,需要用unzip命令,unzip命令常用的参数是指定解压缩的目标目录的-d参数,例子:
unzip test.zip -d /home/user/target
下面说一下压缩文件,Linux上最常用的压缩格式一般是bzip2格式(常用bz2后缀)和gzip格式(常用gz后缀),因为它俩的压缩比比较高而且没有使用授权费用。压缩命令也是用tar命令,只不过是把上面的解压tar命令中的-x参数换成-c参数,-c参数表示新建打包文件,在配合上-j或-z参数就能用指定的格式压缩文件了。不过注意,当压缩文件时,-f参数后面跟的是新建的压缩包的名字,压缩包文件名后面还要跟将要压缩的文件或文件夹(这就不需要-C参数了)。不多说,直接看例子就明白了:
tar -jcv -f newfile.tar.bz2 要压缩的文件或目录
tar -zcv -f newfile.tar.gz 要压缩的文件或目录