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 要压缩的文件或目录
⑵ linux下哪个压缩命令的压缩率最高
1、只打包不压缩 tar cvf a.tar * 2、gzip算陵毁法 tar zcf a.gz * 3、bzip2算如型法尺橡备 tar jcf a.bz2 * 4、也可以用rar rar a all *
⑶ 在Linux下如何用tar命令调用gzip进行高压缩率的打包将指定目录下的所有文件及文件夹打包到指定目录下
GZIP="-9" tar zcvf /home/homee.tgz /media
⑷ linux下压缩10万个文件夹15万个文件,速度最快的方法
这个你就打包,不要加压缩算法了。
tar -cvf zipdb.tar yourfolder/
⑸ Linux中压缩与解压缩:
(1)使用tar命令备份数据的格式如下:
$ tar cvf backup.tar /home/html
上述命令是将/home/html 目录下的所有文件打包成tar文件backup.tar。
cvf是tar的命令参数。
c代表创建一个档案文件,
v代表显示每个备份的文件名字,
f表示tar创建的档案文件名是后面的backup.tar,
/home/html 代表tar要备份的文件或和目录名。
(2)使用tar命令恢复数据的格式如下:
$ tar xvf backup.tar
上述命令将备份文件backup.tar恢复到当前目录下。
通常情况下,tar对文件进行备份的时候并不对文件进行压缩,因此备份文件的尺寸非常大。使用如下的命令,将使tar在备份结束以后,自动使用gzip命令对备份文件进行压缩,得到一个相应的gz文件。
$ tar zcvf backup.tar.gz /home/html
这样,我们可以得到压缩文件backup.tar.gz。
zip命令....
⑹ linux里bzip2如何压缩和解压缩目录
bzip2命令
bzip2命令用于创建和管理(包括解压缩)“.bz2”格式的压缩包。
我们遇见Linux压缩打包方法有很多种,以下讲解了Linux压缩打包方法中的Linux bzip2命令的多种范例供大家查看,相信大家看完后会有很多收获。
选项:
-c:将压缩与解压缩的结果送到标准输出;
-d:执行解压缩;
-f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数;
-h:在线帮助;
-k:bzip2在压缩或解压缩后,会删除原始文件。若要保留原始文件,请使用此参数;
-s:降低程序执行时内存的使用量;
-t:测试.bz2压缩文件的完整性;
-v:压缩或解压缩文件时,显示详细的信息;
-z:强制执行压缩;
-V:显示版本信息;
--repetitive-best:若文件中有重复出现的资料时,可利用此参数提高压缩效果;
--repetitive-fast:若文件中有重复出现的资料时,可利用此参数加快执行效果。
实例
1. 压缩指定文件filename:
# bzip2 filename
或
# bzip2 -z filename
这里,压缩的时候不会输出,会将原来的文件filename给删除,替换成filename.bz2.如果以前有filename.bz2则不会替换并提示错误。如果想要替换则指定-f选项,例如bzip2 -f filename;如果filename是目录则也提醒错误不做任何操作;如果filename已经是压过的了有bz2后缀就提醒一下,不再压缩,没有bz2后缀会再次压缩。
2. 解压指定的文件filename.bz2:
bzip2 -d filename.bz2
或
bunzip2 filename.bz2
这里,解压的时候没标准输出,会将原来的文件filename.bz2给替换成filename。如果以前有filename则不会替换并提示错误。如果想要替换则指定-f选项,例如bzip2 -df filename.bz2。
3. 压缩解压的时候将结果也输出:
$bzip2 -v filename
输入之后,输出如下:
filename: 0.119:1, 67.200 bits/byte, -740.00% saved, 5 in, 42 out.
这里,加上-v选项就会输出了,只用压缩举例了,解压的时候同理bzip2 -dv filename.bz2不再举例了。
4. 模拟解压实际并不解压:
bzip2 -tv filename.bz2
输入之后,输出如下:
filename.bz2: ok
这里,-t指定要进行模拟解压,不实际生成结果,也就是说类似检查文件,当然就算目录下面有filename也不会有什么错误输出了,因为它根本不会真的解压文件。为了在屏幕上输出,这里加上-v选项了,如果是真的解压bzip2 -dv filename.bz2则输出的是把"ok"替换成了"done"。
5. 压缩解压的时候,除了生成结果文件,将原来的文件也保存:
bzip2 -k filename
这里,加上-k就保存原始的文件了,否则原始文件会被结果文件替代。只用压缩举例了,解压的时候同理$bzip2 -dk filename.bz2不再举例了。
6. 解压到标准输出:
bzip2 -dc filename.bz2
输入之后,输出如下:
hahahhaahahha
这里,使用-c指定到标准输出,输出的是文件filename的内容,不会将filename.bz2删除。
7. 压缩到标准输出:
bzip2 -c filename
bzip2: I won't write compressed data to a terminal.
bzip2: For help, type: `bzip2 --help'.
这里,使用-c指定压缩到标准输出不删除原有文件,不同的是,压缩后的文件无法输出到标准输出。
使用bzip2的时候将所有后面的看作文件(即使文件名以'-'开头):
bzip2 -- -myfilename
这里主要是为了防止文件名中-产生以为是选项的歧义。
bunzip2命令
bunzip2命令解压缩由bzip2指令创建的”.bz2"压缩包。对文件进行压缩与解压缩。此命令类似于“gzip/gunzip”命令,只能对文件进行压缩。对于目录只能压缩目录下的所有文件,压缩完成后,在目录下生成以“.bz2”为后缀的压缩包。bunzip2其实是bzip2的符号链接,即软链接,因此压缩解压都可以通过bzip2实现。
选项:
-f:解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件;
-k:在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数;
-s:降低程序执行时,内存的使用量;
-v:解压缩文件时,显示详细的信息;
-l,--license,-V:显示版本信息。
实例
将/opt目录下的etc.zip、var.zip和backup.zip进行压缩,设置压缩率为最高,同时在压缩完毕后不删除原始文件,显示压缩过程的详细信息。
bzip2 -9vk /opt/etc.zip /opt/var.zip /opt/backup.zip
压缩完毕后,在/opt下就会生成相应的etc.zip.bz2、var.zip.bz2和backup.zip.bz2文件。
⑺ 在Linux下如何把一个目录的文件及文件夹以最高的压缩率打包到指定文件夹
GZIP="-9" tar zcvf /home/homee.tgz /media
这个是唯一正确答案. tar本身不带有gzip里面压缩率的参数,所以必须用环境变量丛桥来设置压缩率.
晕阿, 都告配郑咐诉你正确培纯方法了,你还另外提问.
解压不需要特殊命令.
⑻ 说说 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 的自身文件,这恐怕不是我们希望看到的:
通过 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压缩
压缩格式和工具有bzip2和gzip,你可以单独使用,也可以配合tar使用
tar的主要的功能有
-t 打印归档中的所用文件,并以列表的形式显示
-c 归档压缩
-x 打开归档和解开压缩
压缩命令选项有:
-j 选择bzip2压缩,压缩后的归档文件为 ***.tar.bz2
-z 选择gzip压缩,压缩后的文件为***.tar.gz
其他压缩选项:
-f 指定 归档文件
-v 打印操作过程中的相信信息
举例1:
tar -cvzf 1.tar.gz 1.txt 2.txt 2.txt
将1.txt 2.txt 3.txt 压缩归档为1.tar.gz, 如果你想压缩成bzip2,将z换成j即可
举例2:
tar -xvzf 1.tar.gz
将1.tar.gz解压,如果文件是1.tar.bz2, 则将z换成j。
上述命令中 v选项可以去掉,v只是显示操作过程中的信息
举例3:
tar -tvzf 1.tar.gz
显示1.tar.gz中的文件信息,但不解压,如果是 1.tar.bz2, 你知道该怎么办了吗?
其中 bzip2 和gzip以单独对命令也可以使用,与tar类似,你可以用 man bzip2 和man gzip命令查看具体的说明。
就压缩而已,文本文件的压缩率很高,网上给出的参数是10%~15%,我本人感觉差不多是这样,二进制文件的压缩率不高。
⑽ linux 下zip包最大是多少啊大神们帮帮忙
看文件系统,linux默认安装多为Ext吧,Ext3 目颤携饥前所支持的最大 16TB 文件系统和最大 2TB 文件,Ext4 分别支持 1EB(1,048,576TB, 1EB=1024PB, 1PB=1024TB)的文件系统,以及 16TB 的单个文件,所以你隐闹要是Ext3的最大就支持2TB,ex4则是16TB但文件,够大了吧??呵呵茄返呵。