导航:首页 > 文件处理 > linux开启gzip压缩

linux开启gzip压缩

发布时间:2023-06-02 07:40:07

㈠ 想在linux上用C实现gzip压缩解压缩,有没有相关库函数可以调用

命令: gzip语法:gzip [选项] 压缩(解压缩)的文件名
-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件,显示下列字段:
(1)压缩文件的大小
(2)未压缩文件的大小
(3)压缩比
未压缩文件的名字
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
注:gzip不能压缩整个目录。可以使用tar先打包,再压缩
例如:
$ tar cf test.tar test/
$ gzip test.tar

$ tar czf test.tar.gz test/

㈡ Linux解压.gz的命令

㈢ linux文将于目录的压缩和解压缩命令:gzip压缩文件

权限不够,做这个操作必须是-user student 用户或超级用户root,其他用户都会报错。

㈣ linux把文件压缩成.tar.gz的命令

1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。

㈤ 在Linux下如何用tar命令调用gzip进行高压缩率的打包将指定目录下的所有文件及文件夹打包到指定目录下

GZIP="-9" tar zcvf /home/homee.tgz /media

㈥ 文件压缩

将多个文件或目录合并成为一个特殊的文件

减小文件的体积
加快资源的传输
节省网络的带宽

windows: rar zip 其实支持很多类型的压缩
linux: zip tar.gz ....
windows与linux互通 建议使用: zip

格式 压缩工具
.zip zip压缩工具
.gz gzip压缩工具,只能压缩文件,会删除纳困原文件(通常配合tar使用)
.bz2 bzip2压缩工具,只能压缩文件,会删除原文件(通常配合tar使用)
.tar.gz 先使用tar命令归档打包,然后使用gzip压缩
.tar.bz2 先使用tar命令归档打包,然后使用bzip压缩

Linux gzip工具使用
1.gzip打包与压缩 ,仅对文件有效.
gzip filename 打包
gzip -d filename.gz 解包
zcat filename.gz 查看包内文件的内容

linux本身没有gzip命令,需yum install gzip -y进行安装

gzip file #对文件进行压缩
zcat file.gz #查看gz压缩后的文件
gzip -d file.gz #解压gzip的压缩包

gzip CentOS-Vault.repo --> CentOS-Vault.repo.gz
zcat CentOS-Vault.repo.gz --> 查看不想解压的压磨悄缩包

默认情况下没有zip和unzip工具,需要进行安装 yum install zip unzip -y

1.压缩洞游念文件为zip包
zip filename.zip filename
unzip -l filename.zip #查看压缩包内容

2.压缩目录为zip包
zip -r dir.zip dir/

3.查看zip压缩包文件是否完整
zip -T filename.zip
test of filename.zip OK

4.不解压压缩查看压缩包中的内容
unzip -l filename.zip
unzip -t filename.zip #检测文件是 否都ok

5.解压zip文件包, 默认解压至当前目录
unzip filename.zip

6.解压zip内容至/opt目录
unzip filename.zip -d /opt/

tar是linux下最常用的压缩与解压缩, 支持文件和目录的压缩归档

c #创建新的归档文件
x #对归档文件解包
t #列出归档文件里的文件列表
f #指定包文件名,多参数f写最后
z #使用gzip压缩归档后的文件(.tar.gz)
j #使用bzip2压缩归档后的文件(.tar.bz2)
J #使用xz压缩归档后的文件(tar.xz)
C #指定解压目录位置
X #排除多个文件(写入需要排除的文件名称)
h #打包软链接
--exclude #在打包的时候写入需要排除文件或目录

cjf #打包tar.bz格式 *
cJf #打包tar.xz格式 使用田少,不考虑
zxf #解压tar.gz格式 *
jxf #解压tar.bz格式 *

常用
czf #打包tar.gz格式 ( )
tf #查看压缩包内容
xf #自动选择解压模式 (
)

将文件或目录进行打包压缩

tar czf test.tar.gz test/ test2/ #以gzip方式压缩
tar cjf test.tar.bz2 dir.txt dir/ #以bz2方式压缩

tar tf test.tar.gz
tar tf test.tar.bz2
tar tf test.tar.xz

tar xf test.tar.gz
tar xf test.tar.bz2
tar xf test.tar.xz
tar xf root.tar.gz -C /tmp/ #解压至指定目录

find tmp/ -type f | xargs tar czf tmp.tar.gz
tar czf tmp.tar.gz $(find /tmp/ -type f)

tar czf etc.tar.gz /etc/ --exclude=etc/services
tar czf etc.tar.gz /etc/ --exclude=etc/passwd -exclude=etc/shadow

cat pc.txt
etc/gshadow
etc/gshadow-
etc/passwd
etc/passwd
etc/shadow
etc/shadow
etc/security/opasswd
etc/pam.d/passwd
tar czXf pc.txt etc.tar.gz /etc/

yum install mariadb-server
systemctl start mariadb
mkdir /backup

tar cJf /backup/mysql.tar.xz /var/lib/mysql
tar xf /backup/mysql.tar.xz -C /

cd /var/lib/mysql
tar cJf /backup/mysql.tar.xz *
tar tf /backup/mysql.tar.xz
tar xf /backup/mysql.tar.xz C /var/lib/mysql

㈦ 说说 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怎样解压.gz文件

当在备份重要文件和通过网络发送大文件的时候,对文件进行压缩非常有用。请注意,压缩一个已经压缩过的文件会增加额外开销,因此你将会得到一个更大一些的文件。所以,请不要压缩已经压缩过的文件。在 GNU/Linux 中,有许多程序可以用来压缩和解压缩文件。在这篇教程中,我们仅学习其中两个应用程序。

在类 Unix 系统中,最常见的用来压缩文件的程序是:

㈨ linux文件压缩

tar[-j|-z][cv][-f建立的档案名]filename...《==打包与压缩

tar[-j|-z][tv][-f建立的档案名]《==查看档案

tar[-j|-z][xv][-f建立的档案名][-C目录]《==解压缩

选项与参数:

-c:建立打包档案,可搭配-v来观察过程中被打包的档案名(filename)

-t:查看打包档案的内容含有那些档案

-x:解压缩的功能,可以搭配-C在特定的目录解开;-c、-t、-x不能同时出现在一串指令列中。

-j:透过bzip2的支持进行压缩/解压缩:此时档案名最好为*.tar.bz2

-z:透过gzip的支持进行压缩/解压缩:此时档案名最好为*.tar.gz

-v:在压缩/解压缩的过程中,将正在处理文件名显示出来

-ffilename:-f后面要立刻接被处理的档案名!建议-f单独写一个选项

-C目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项


tar命令是Unix/Linux系统中非常常用的备份文件方法,它的使用权限是所有用户。

tar命令语法:

tar[主选项+辅选项]文件名或目录。使用该命令时,主选项是必须要有的,它告诉tar命令要做什么,辅选项是辅助使用的,可以选用。

主选项:

-c创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。

-x从档案文件中释放文件。相当于拆包。

-t列出档案文件的内容,查看已经备份了哪些文件。

-r把要存档的文件追加到档案文件的末尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中

特别注意,主选项只能存在一个,c/x/t/r仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。

辅助选项:

-z:用gzip程序来压缩或解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。文件格式一般为xx.tar.gz或xx.tgz

-j:使用bzip2程序进行文件的压缩或解压,文件格式一般为xx.tar.bz2

-v:压缩的过程中显示文件!这个常用

-f:使用档名,请留意,在f之后要立即接档名!不要再加其他参数!

-p:使用原文件的原来属性(属性不会依据使用者而变)

-w每一步都要求确认。

--excludeFILE:在压缩的过程中,不要将FILE打包!

范例:

范例一:将整个/etc目录下的文件全部打包成/tmp/etc.tar

[root@ubuntu~]#tar-cvf/tmp/etc.tar/etc<==仅打包,不压缩!

[root@ubuntu~]#tar-zcvf/tmp/etc.tar.gz/etc<==打包后,以gzip压缩

[root@ubuntu~]#tar-jcvf/tmp/etc.tar.bz2/etc<==打包后,以bzip2压缩

#特别注意,在参数f之后的文件档名是自己取的,我们习惯上都用.tar来作为辨识。

#如果加z参数,则以.tar.gz或.tgz来代表gzip压缩过的tarfile

#如果加j参数,则以.tar.bz2来代表bzip2压缩过的tarfile

#上述指令在执行的时候,会显示一个警告讯息:

#‘tar:Removingleading`/"frommembernames’那是关于绝对路径的特殊设定。


范例二:查看上述/tmp/etc.tar.gz文件内有那些被压缩的文件

[root@ubuntu~]#tar-ztvf/tmp/etc.tar.gz

#由于我们使用gzip压缩,所以要查阅该tarfile内的文件时,

#就得要加上z这个参数了!这很重要的!

范例三:将/tmp/etc.tar.gz文件解压缩在/usr/local/src底下

[root@linux~]#cd/usr/local/src

[root@linuxsrc]#tar-zxvf/tmp/etc.tar.gz

#在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说

#我先将工作目录变换到/usr/local/src底下,并且解开/tmp/etc.tar.gz

#则解开的目录会在/usr/local/src/etc,另外,如果您进入/usr/local/src/etc

#则会发现,该目录下的文件属性与/etc/可能会有所不同喔!

范例四:在/tmp底下,我只想要将/tmp/etc.tar.gz内的etc/passwd解开而已

[root@linux~]#cd/tmp

[root@linuxtmp]#tar-zxvf/tmp/etc.tar.gzetc/passwd

#我可以透过tar-ztvf来查阅tarfile内的文件名称,如果单只要一个文件,

#就可以透过这个方式来下达!注意到!etc.tar.gz内的根目录/是被拿掉了!

范例五:我要备份/home,/etc,但不要/home/dmtsai

[root@linux~]#tar--exclude/home/dmtsai-zcvfmyfile.tar.gz/home/*/etc

另外:tar命令的C参数

$tar-cvffile2.tar/home/usr2/file2

tar:Removingleading'/'frommembersnames

home/usr2/file2
该命令可以将/home/usr2/file2文件打包到当前目录下的file2.tar中,需要注意的是:使用绝对路径标识的源文件,在用tar命令压缩后,文件名连同绝对路径(这里是home/usr2/,根目录'/'被自动去掉了)一并被压缩进来。使用tar命令解压缩后会出现以下情况:

$tar-xvffile2.tar

$ls

………home…………

解压缩后的文件名不是想象中的file2,而是home/usr2/file2。

$tar-cvffile2.tar-C/home/usr2file2

该命令中的-Cdir参数,将tar的工作目录从当前目录改为/home/usr2,将file2文件(不带绝对路径)压缩到file2.tar中。注意:-Cdir参数的作用在于改变工作目录,其有效期为该命令中下一次-Cdir参数之前。

使用tar的-Cdir参数,同样可以做到在当前目录/home/usr1下将文件解压缩到其他目录,例如:

$tar-xvffile2.tar-C/home/usr2

而tar不用-Cdir参数时是无法做到的:

$tar-xvffile2.tar/home/usr2

tar:/tmp/file:Notfoundinarchive

tar:


阅读全文

与linux开启gzip压缩相关的资料

热点内容
51单片机课程设计课题 浏览:895
手机淘宝登录怎么加密码 浏览:481
linux快捷方式图标 浏览:35
阳光车险的app叫什么名字 浏览:461
购买单片机的器件时需要给商家啥 浏览:534
并行编译技术的发展 浏览:549
阿里云服务器安装管理 浏览:550
java手机开发教程 浏览:674
我的世界怎么删除服务器数据 浏览:671
linux内存子系统 浏览:972
加密思维币 浏览:690
魅族访客文件夹 浏览:52
添加的文件夹怎么找 浏览:617
程序员涉黄 浏览:700
maven编译resources下的js 浏览:521
ubuntu文件移动命令 浏览:229
安卓i怎么查找苹果手机 浏览:951
云服务器宕机概率 浏览:232
在线买药用什么app知乎 浏览:815
ubuntu解压xz文件 浏览:676