linux压缩文件夹zip命令(Linux gzip命令压缩文件实现原理及代码实例)
linux压缩文件夹zip命令
Linux gzip命令压缩文件实现原理及代码实例gzip 是 Linux 系统中经常用来对文件进行压缩和解压缩的命令,通过此命令压缩得到的新文件,其扩展名通常标记为“.gz”。
再强调一下,gzip 命令只能用来压缩文件,不能压缩目录,即便指定了目录,也只能压缩目录内的所有文件。
gzip 命令的基本格式如下:
[root@localhost ~]# gzip [选项] 源文件
命令中的源文件,当进行压缩操作时,指的是普通文件;当进行解压缩操作时,指的是压缩文件。该命令常用的选项及含义如表 1 所示。
表 1 gzip 命令常用选项及含义
选项
含义
-c
将压缩数据输出到标准输出中,并保留源文件。
-d
对压缩文件进行解压缩。
-r
递归压缩指定目录下以及子目录下的所有文件。
-v
对于每个压缩和解压缩的文件,显示相应的文件名和压缩比。
-l
对每一个压缩文件,显示以下字段:
-数字
用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高。默认压缩比是 -6。
【例 1】基本压缩
gzip 压缩命令非常简单,甚至不需要指定压缩之后的压缩包名,只需指定源文件名即可。我们来试试:
[root@localhost ~]# gzip install.log
#压缩instal.log 文件
[root@localhost ~]# ls
anaconda-ks.cfg install.log.gz install.log.syslog
#压缩文件生成,但是源文件也消失了
【例 2】保留源文件压缩
在使用 gzip 命令压缩文件时,源文件会消失,从而生成压缩文件。这时有些人会有强迫症,就逼问笔者:能不能在压缩文件的时候,不让源文件消失?好吧,也是可以的,不过很别扭。
[root@localhost ~]# gzip -c anaconda-ks.cfg >anaconda-ks.cfg.gz
#使用-c选项,但是不让压缩数据输出到屏幕上,而是重定向到压缩文件中,这样可以缩文件的同时不删除源文件
[root@localhost ~]# ls
anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog
#可以看到压缩文件和源文件都存在
【例 3】 压缩目录
我们可能会想当然地认为 gzip 命令可以压缩目录。 我们来试试:
[root@localhost ~]# mkdir test
[root@localhost ~]# touch test/test1
[root@localhost ~]# touch test/test2
[root@localhost ~]# touch test/test3 #建立测试目录,并在里面建立几个测试文件
[root@localhost ~]# gzip -r test/
#压缩目录,并没有报错
[root@localhost ~]# ls
anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog test
#但是查看发现test目录依然存在,并没有变为压缩文件
[root@localhost ~]# ls test/
testl .gz test2.gz test3.gz
#原来gzip命令不会打包目录,而是把目录下所有的子文件分别压缩
在 Linux 中,打包和压缩是分开处理的。而 gzip 命令只会压缩,不能打包,所以才会出现没有打包目录,而只把目录下的文件进行压缩的情况。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
- linux lnmp安装教程(LNMP系列教程之 SSL安装WordPress博客程序下载与安装)
- 十问linux虚拟内存(浅谈Linux的虚拟内存)
- linux nginx部署前端项目(nginx部署多前端项目的几种方法)
- linux怎么搭建nfs(通过案例深入解析linux NFS机制)
- 云服务器操作系统怎么选(云服务器选择Linux还是windows操作系统比较好?)
- zabbix 查询linux使用率高的进程(详解Linux使用ss命令结合zabbix对socket做监控)
- linux如何设置sudo授权(如何在Linux环境为用户添加sudo权限)
- python实现linux服务(Python实现Linux监控的方法)
- phpstudy创建本地服务器(phpstudy linux小皮面板防火墙的开启与关闭)
- linux宝塔面板安装后怎么打开(Linux宝塔面板7.30推出文件外链分享功能)
- linux中用户管理命令(Linux usermod 命令的使用)
- linux下date用法(Linux date命令的使用)
- 怎么查询linux的selinux状态(如何理解Linux下的SELinux)
- linux安装nacos教程(Nacos配置MySQL8的方法)
- linux下安装nginx常见问题(Linux安装Nginx步骤详解)
- python中统计文本中单词数的代码(Linux上使用Python统计每天的键盘输入次数)
- 阿里最新财报公布 三季度营收增长3 ,将增加150亿美元回购额度 在美股价小涨(阿里最新财报公布)
- 赵薇时胖时瘦 最近变美少女 原因在这里 躺着就变瘦(赵薇时胖时瘦最近变美)
- 学会这26种姿势,你就可以和兵哥哥切磋了(你就可以和兵哥哥切磋了)
- 吴彦祖陈冠希 恩怨 ,失去曾让他流泪的女友,终遇走过18年真爱(吴彦祖陈冠希恩怨)
- 痴情男神 吴彦祖 与妻子恋爱8年,结婚10年,家庭幸福美满(痴情男神吴彦祖)
- 成功破圈,小牛电动SQi强势开 跨(小牛电动SQi强势开)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9