linux分组压缩命令 linux压缩包分割

说说 Linux 中的压缩与解压缩指令(tar) 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 的自身文件 , 这恐怕不是我们希望看到的:
【linux分组压缩命令 linux压缩包分割】 通过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下,压缩ZIP文件,用命令怎么实现分包压要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令:
tar cjf - logs/ |split -b 1m -
logs.tar.bz2.
完成后会产生下列文件:
logs.tar.bz2.aa, logs.tar.bz2.ab,
logs.tar.bz2.ac
要解压的时候只要执行下面的命令就可以了:
cat logs.tar.bz2.a* | tar xj
linux中压缩命令都有哪些?各自的语法和作用是linux压缩和解压缩命令
tar
解包:tar zxvf filename.tar
打包:tar czvf filename.tar dirname
gz命令
解压1:gunzip filename.gz
解压2:gzip -d filename.gz
压缩:gzip filename
.tar.gz 和.tgz
解压:tar zxvf filename.tar.gz
压缩:tar zcvf filename.tar.gz dirname
压缩多个文件:tar zcvf filename.tar.gz dirname1 dirname2 dirname3.....
bz2命令
解压1:bzip2 -d filename.bz2
解压2:bunzip2 filename.bz2
压缩:bzip2 -z filename
.tar.bz2
解压:tar jxvf filename.tar.bz2
压缩:tar jcvf filename.tar.bz2 dirname
bz命令
解压1:bzip2 -d filename.bz
解压2:bunzip2 filename.bz
.tar.bz
解压:tar jxvf filename.tar.bz
z命令
解压:uncompress filename.z
压缩:compress filename
.tar.z
解压:tar zxvf filename.tar.z
压缩:tar zcvf filename.tar.z dirname
zip命令《Linux就该这么学》 更多命令一起学习 。
解压:unzip filename.zip
压缩:zip filename.zip dirname
Linux 解压缩的命令怎么用?用法如下:
gzip,压缩文件名:zip或gz , 解压命令:unzip
bzip2 , 压缩文件名:bz,解压命令;bzip2 -d
上面两个是最常用的压缩方式,一般在linux下可以通过tar命令实现打包和压缩(或解压) 。例如:
tar -zcvf file file.tar.gz打包并压缩成gzip格式,其中-c命令是创建tar包,-z参数是指定压缩成gzip格式;
tar -zxvf file.tar.gz解包命令,其中-x是解包命令,-z指定解压缩格式是gzip
tar -jcvf file file.tar.bz2 打包并压缩成bzip2格式 , 其中-c是创建tar包 , -j参数指定压缩成bzip2格式;
tar -jxvf file.tar.gz解包命令,其中-x是解包命令,-j指定解压缩格式是bzip2
linux--8、打包压缩文件命令tar命令用于对文件打包压缩或解压linux分组压缩命令:
$ tar [选项] [文件]
以下是tar命令linux分组压缩命令的常用参数:
tar是个打包的命令 , 它的作用是将一堆的文件或目录归档成一个.tar结尾的文件 。生成tar包后 , 就可以用其他的压缩程序来对tar包进行压缩 。
我们在上面看到的 -z 参数就是对tar包用Gzip程序进行了压缩,最后才生成了 .tar.gz 结尾的压缩包 。如果不用 -z 参数而使用 -j 参数,也就是用bzip2程序压缩tar包,最后就会生成 .tar.bz2 结尾的压缩包 。
使用tar命令打包压缩的一个好处是 , 它会保留原始文件的权限和属性 。
我们经常会在windows系统上使用 .zip 格式的压缩文件,在linux中也可以将文件和目录压缩成zip格式,或者解压zip格式的压缩包 。
但是zip的缺点是不能保留文件的权限和属性,解压后需要我们自己用chmod重新设置文件的权限 。
关于linux分组压缩命令和linux压缩包分割的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读