位置: 编程技术 - 正文

Linux中文件的压缩与解压缩命令操作示例集锦(linux系统文件压缩命令)

编辑:rootadmin

推荐整理分享Linux中文件的压缩与解压缩命令操作示例集锦(linux系统文件压缩命令),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:linux的压缩文件命令,linux中压缩文件夹,linux中压缩文件的命令,linux对文件进行压缩的命令,linux中文件压缩,linux压缩文件,linux对文件进行压缩的命令,linux系统文件压缩命令,内容如对您有帮助,希望把文章链接给更多的朋友!

所谓压缩就是将原有的文件通过不同的编码技术进行运算,以减少数据存储所需要的空间,使用前再利用解压缩还原源文件的内容即可。和windows一样,在linux下也存在多种压缩与解压缩方法。

1、zip压缩与解压缩 zip是最为广泛使用的压缩程序,经它压缩的文件会产生扩展名为zip的压缩文件,而且这种格式在多种系统上可以使用,像windows中的winzip 下面看一下在linux中如何建立zip文件。 我们在终端中输入zip会出现这个命令的一些介绍和参数的意义。复制代码代码如下:xiaopeng@ubuntu:~/test$ zipCopyright (c) - Info-ZIP - Type 'zip "-L"' for software license.Zip 2. (June th ). Usage:zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list] The default action is to add or replace zipfile entries from list, which can include the special name - to compress standard input. If zipfile and list are omitted, zip compresses stdin to stdout. -f freshen: only changed files -u update: only changed or new files -d delete entries in zipfile -m move into zipfile (delete files) -r recurse into directories -j junk (don't record) directory names -0 store only -l convert LF to CR LF (-ll CR LF to LF) -1 compress faster -9 compress better -q quiet operation -v verbose operation/print version info -c add one-line comments -z add zipfile comment -@ read names from stdin -o make zipfile as old as latest entry -x exclude the following names -i include only the following names -F fix zipfile (-FF try harder) -D do not add directory entries -A adjust self-extracting exe -J junk zipfile prefix (unzipsfx) -T test zipfile integrity -X eXclude eXtra file attributes -y store symbolic links as the link instead of the referenced file -R PKZIP recursion (see manual) -e encrypt -n don't compress these suffixes 下面我们就最简单的实验一下。我们就是把当前目录下文件名以test开头的所有文件压缩文一个文件,并可以查看一下压缩比。(红色是我的注释)复制代码代码如下:xiaopeng@ubuntu:~/test$ ls -lh总用量 K复制代码代码如下:-rw-r--r-- 1 xiaopeng xiaopeng -- : test1-rw-r--r-- 1 xiaopeng xiaopeng 1.3K -- : test2-rw-r--r-- 1 xiaopeng xiaopeng 3.4K -- : test3-rw-r--r-- 1 xiaopeng xiaopeng 9.9K -- : test4复制代码代码如下:xiaopeng@ubuntu:~/test$ zip test.zip test* zip命令后面先跟压缩后的文件名,这里是test.zip,当然后缀名不是必须的。然后跟要压缩的文件名。这里用的test*指的是全部以test开头的文件,包括test1 test2 test3 test4 adding: test1 (deflated %) 这里显示的是压缩比 adding: test2 (deflated %) adding: test3 (deflated %) adding: test4 (deflated %) 大体可以看出源文件越大,压缩比就越大复制代码代码如下:xiaopeng@ubuntu:~/test$ ls -lh总用量 K复制代码代码如下:-rw-r--r-- 1 xiaopeng xiaopeng -- : test1-rw-r--r-- 1 xiaopeng xiaopeng 1.3K -- : test2-rw-r--r-- 1 xiaopeng xiaopeng 3.4K -- : test3-rw-r--r-- 1 xiaopeng xiaopeng 9.9K -- : test4-rw-r--r-- 1 xiaopeng xiaopeng 5.0K -- : test.zipxiaopeng@ubuntu:~/test$ 上面是压缩了相同类型的文件,其实也可以把不同类型的文件压缩到一起。有时候为了节省硬盘空间,可以在建立压缩文件后,自动删除原始文件,此时只要带一个 -m 的参数就可以。复制代码代码如下: xiaopeng@ubuntu:~/test$ ls -lh总用量 K复制代码代码如下:-rw-r--r-- 1 xiaopeng xiaopeng -- : test1-rw-r--r-- 1 xiaopeng xiaopeng 1.3K -- : test2-rw-r--r-- 1 xiaopeng xiaopeng 3.4K -- : test3-rw-r--r-- 1 xiaopeng xiaopeng 9.9K -- : test4xiaopeng@ubuntu:~/test$ zip -m test.zip test* 带参数-mupdating: test1 (deflated %)updating: test2 (deflated %)updating: test3 (deflated %)updating: test4 (deflated %)xiaopeng@ubuntu:~/test$ ls -lh总用量 8.0K复制代码代码如下:-rw-r--r-- 1 xiaopeng xiaopeng 5.0K -- : test.zipxiaopeng@ubuntu:~/test$ 可以看出 原始文件已经被删除,只有压缩文件留下了。 在压缩一些目录的时候,经出在目录中会有子目录,此时根据子目录中的文件是否压缩分为两种情况,一种是压缩,一种是忽略自录中的内容,如果选择压缩子目录,则使用-r参数,如果不压缩,则使用-j 参数下面举例,一个是-r 一个是-j复制代码代码如下:xiaopeng@ubuntu:~/test$ ls -lh总用量 K复制代码代码如下:drwxr-xr-x 2 xiaopeng xiaopeng 4.0K -- : pdf-rw-r--r-- 1 xiaopeng xiaopeng -- : test1-rw-r--r-- 1 xiaopeng xiaopeng 1.3K -- : test2-rw-r--r-- 1 xiaopeng xiaopeng 3.4K -- : test3-rw-r--r-- 1 xiaopeng xiaopeng 9.9K -- : test4xiaopeng@ubuntu:~/test$ zip -r test.zip * 压缩当前目录所有内容,r 参数说明pdf这个子目录中的内容也压缩 adding: pdf/ (stored 0%) adding: pdf/case_Contact.pdf (deflated %) adding: pdf/case_KRUU.pdf (deflated 9%) adding: pdf/case_howard_county_library.pdf (deflated %) adding: test1 (deflated %) adding: test2 (deflated %) adding: test3 (deflated %) adding: test4 (deflated %) xiaopeng@ubuntu:~/test$ 下面的情况是子目录不压缩复制代码代码如下: xiaopeng@ubuntu:~/test$ ls -l 总用量 复制代码代码如下: drwxr-xr-x 2 xiaopeng xiaopeng -- : pdf-rw-r--r-- 1 xiaopeng xiaopeng -- : test1-rw-r--r-- 1 xiaopeng xiaopeng -- : test2-rw-r--r-- 1 xiaopeng xiaopeng -- : test3-rw-r--r-- 1 xiaopeng xiaopeng -- : test4xiaopeng@ubuntu:~/test$ zip -j test.zip * adding: test1 (deflated %) adding: test2 (deflated %) adding: test3 (deflated %) adding: test4 (deflated %) 子目录pdf被忽略复制代码代码如下:xiaopeng@ubuntu:~/test$令外一个技巧: 某些文件因为编码的原因,已经大幅的减少了文件的大小,如GIF,JPG 等格式,在用zip压缩几乎没什么作用而浪费了时间,此时可一用-n参数直接保存这些文件而不压缩。例如:复制代码代码如下:xiaopeng@ubuntu:~/test$ ls -lh总用量 K复制代码代码如下:-rw-r--r-- 1 xiaopeng xiaopeng K -- : duality.jpg-rw-r--r-- 1 xiaopeng xiaopeng -- : test1-rw-r--r-- 1 xiaopeng xiaopeng 1.3K -- : test2-rw-r--r-- 1 xiaopeng xiaopeng 3.4K -- : test3-rw-r--r-- 1 xiaopeng xiaopeng 9.9K -- : test4-rw-r--r-- 1 xiaopeng xiaopeng K -- : test.jpgxiaopeng@ubuntu:~/test$ zip -n .jpg test.zip * adding: duality.jpg (stored 0%) adding: test1 (deflated %) adding: test2 (deflated %) adding: test3 (deflated %) adding: test4 (deflated %) adding: test.jpg (stored 0%) jpg格式的没有压缩而是直接保存了复制代码代码如下:xiaopeng@ubuntu:~/test$如果需要直接保存的格式多于一个,可以用冒号隔开 如: -n .jpg: .mpg

小技巧,有时候一个目录下要压缩的文件很多,但是有那么很少的几个不压缩,那么我们可以用-x参数来排除这几个不压缩的。例如复制代码代码如下:xiaopeng@ubuntu:~/test$ lsduality.jpg test1 test2 test3 test4 test.jpg test.zipxiaopeng@ubuntu:~/test$ zip -n .jpg test.zip * -x test2 不压缩test2updating: duality.jpg (stored 0%)updating: test1 (deflated %)updating: test3 (deflated %)updating: test4 (deflated %)updating: test.jpg (stored 0%)xiaopeng@ubuntu:~/test$可以看到test2没有被压缩,而是直接跳过了它。

压缩链接,zip会先读取该链接的指向的原文件的内容,然后再压缩,而且压缩完了,该链接也就不存在了。

Linux中文件的压缩与解压缩命令操作示例集锦(linux系统文件压缩命令)

另外,压缩率也是可以调整的。等级是1到9,1最低,9最高,默认是6 。我们可以用1和9来比较下,压缩率。复制代码代码如下:xiaopeng@ubuntu:~/test$ zip -1 low.zip * adding: test1 (deflated %) adding: test2 (deflated %) adding: test3 (deflated %) adding: test4 (deflated %)xiaopeng@ubuntu:~/test$ zip -9 high.zip * adding: low.zip (deflated 4%) adding: test1 (deflated %) adding: test2 (deflated %) adding: test3 (deflated %) adding: test4 (deflated %) 因为文件都比较小,效果不是很明显,但是9的压缩率确实高了一点点。 压缩率高,节省空间,但是压缩时间要长,压缩率低,节省空间少,但是用时间少,所以我们要合理选择压缩率,一般都用默认。

zip文件解压缩。这个比较简单,就是unzip命令。复制代码代码如下:xiaopeng@ubuntu:~/test$ lstest.zipxiaopeng@ubuntu:~/test$ unzip test.zipArchive: test.zip inflating: test1 inflating: test2 inflating: test3 inflating: test4 xiaopeng@ubuntu:~/test$ 当然也可以用-x参数来指定哪个文件不需要压缩。复制代码代码如下:xiaopeng@ubuntu:~/test$ unzip test.zip -x test3 test3不需要压缩出来Archive: test.zip inflating: test1 inflating: test2 inflating: test4 xiaopeng@ubuntu:~/test$ 还有一个很有用的参数,-Z ,注意是大写的Z 。作用是查看压缩文件的内容。就像windows中的winzip,我们不用解压缩,也可以打开看看里面有什么文件,文件的类型什么。比如我想看看test.zip里面的内容,而又不想把这个解压缩了再看,可以如下操作。复制代码代码如下:xiaopeng@ubuntu:~/test$ unzip -Z test.zipArchive: test.zip bytes 4 files-rw-r--r-- 2.3 unx tx defN -Jun- : test1-rw-r--r-- 2.3 unx tx defN -Jun- : test2-rw-r--r-- 2.3 unx tx defN -Jun- : test3-rw-r--r-- 2.3 unx tx defN -Jun- : test files, bytes uncompressed, bytes compressed: .4%xiaopeng@ubuntu:~/test$ 当然除了这些参数外,还有很多参数可以使用,这里就不一一实验了,我们可以在使用的过程中加以掌握。

2、zip与 tar 如果你在Linux里面安装过软件压缩包,对这个以.tar.gz为后缀的压缩文件不会陌生,比如我们在Linux QQ 的下载页面 ,就会看到其中一个安装包就是.tar.gz包。 这种包带两个后缀是有原因的,gz和tar 是分别由两种程序产生的。gz时由gzip压缩而成的压缩文件,压缩效果和zip差不多,但是和zip最大的不同在于,gzip无法把很多个单一文件压缩成一个单一文件,所以tar就有了用武之地,tar不是什么压缩程序,它是用来打包文件的。tar和gzip一见如故,两个人合作起来实现压缩,也就是当多个文件压缩时,先用tar把这些文件打包,成为.tar的包,然后再由gzip压缩这个包,于是就有了.tar.gz的文件格式。 首先先看一下gzip和 gunzip的应用。gzip的用法很简单,后面加上要压缩的文件名就行。复制代码代码如下:xiaopeng@ubuntu:~/test$ ls -lh总用量 K复制代码代码如下:-rw-r--r-- 1 xiaopeng xiaopeng -- : test1-rw-r--r-- 1 xiaopeng xiaopeng 1.3K -- : test2-rw-r--r-- 1 xiaopeng xiaopeng 3.4K -- : test3-rw-r--r-- 1 xiaopeng xiaopeng 9.9K -- : test4xiaopeng@ubuntu:~/test$ gzip test1xiaopeng@ubuntu:~/test$ ls -lh总用量 K复制代码代码如下:-rw-r--r-- 1 xiaopeng xiaopeng -- : test1.gz-rw-r--r-- 1 xiaopeng xiaopeng 1.3K -- : test2-rw-r--r-- 1 xiaopeng xiaopeng 3.4K -- : test3-rw-r--r-- 1 xiaopeng xiaopeng 9.9K -- : test4 注意和zip的不同,只要在命令后加上要压缩的文件名即可,系统会自动为生成的压缩文件起名为原文件名加后缀.gz ,而且原文件在压缩完成后会被删除。 解压缩用gunzip复制代码代码如下:xiaopeng@ubuntu:~/test$ gunzip *.gzxiaopeng@ubuntu:~/test$ lstest1 test2 test3 test4xiaopeng@ubuntu:~/test$ 完成后以前的压缩文件test1.gz也会被删除。 同样gzip在解压前也可以查看文件内容,用参数-l, gzip也支持压缩率修改,为1到9,和zip相同。

下面看tar的用应。tar是用来打包文件的,打包后的包的大小和以前所有原文件大小的和是相等的,(其实大小是不相等的,打完包后的大小大于源文件的大小和,这个可以验证一下。《Ubuntu 入门到精通》说一样大,显然是不对的)也就是说tar没有压缩的效果。tar有非常多的参数,可以通过在线帮助文档查看,或者用--help命令查看。这里我们只用简单用到几个。 首先是多个文件打包。看例子。复制代码代码如下:xiaopeng@ubuntu:~/test$ lstest1 test2 test3 test4xiaopeng@ubuntu:~/test$ tar -cvf test.tar * 是把当前目录下的所有文件打包成test.tar 几个参数的意义为: c(Creat)建立新文件 v(Verbose)显示命令执行时的信息 f(File)指定打包为文件形式。复制代码代码如下:test1test2test3test4复制代码代码如下:xiaopeng@ubuntu:~/test$ lstest1 test2 test3 test4 test.tarxiaopeng@ubuntu:~/test$ 要解开tar文件,只需把参数中的c改为x(eXtract)即可复制代码代码如下:xiaopeng@ubuntu:~/test$ ls test.tarxiaopeng@ubuntu:~/test$ tar -xvf test.tartest1test2test3test4xiaopeng@ubuntu:~/test$ lstest1 test2 test3 test4 test.tarxiaopeng@ubuntu:~/test$

下面我们看一下tar和gzip合作完成对4个文件的压缩。步骤是先用tar打包,然后对这个.tar包用gzip压缩,最后得到.tar.gz文件。例子:复制代码代码如下:xiaopeng@ubuntu:~/test$ lstest1 test2 test3 test4xiaopeng@ubuntu:~/test$ tar cvf test.tar * 首先打包成test.tartest1test2test3test4xiaopeng@ubuntu:~/test$ lstest1 test2 test3 test4 test.tarxiaopeng@ubuntu:~/test$ gzip test.tar 把test.tar用gzip压缩成test.tar.gz 压缩包。xiaopeng@ubuntu:~/test$ lstest1 test2 test3 test4 test.tar.gzxiaopeng@ubuntu:~/test$ 解压.tar.gz包时,和压缩过程相反,现解压,再tar把包打开。复制代码代码如下:xiaopeng@ubuntu:~/test$ lstest.tar.gzxiaopeng@ubuntu:~/test$ gunzip test.tar.gz 先用gunzip把.tar.gz包解压缩xiaopeng@ubuntu:~/test$ lstest.tarxiaopeng@ubuntu:~/test$ tar xvf test.tar 然后用tar把.tar包打开test1test2test3test4xiaopeng@ubuntu:~/test$ lstest1 test2 test3 test4 test.tarxiaopeng@ubuntu:~/test$ 还可以tar 和gzip同时实现的,只要在tar参数加一个z即可 tar -xvfz test.tar.gz 即可实现上面两个命令的功能。

还是比较好理解的。

在Linux系统上开启Initrd文件系统的方法 initialRAMdiskLinux初始RAM磁盘(initrd)是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。initrd文件中包含了各种可执行程序和

Linux系统中使用iostat命令检测磁盘的IO性能 iostat命令可以提供丰富的IO性能状态数据。iostat可以收集和显示系统输入/输出存储设备方面的统计信息.经常用于追查存储设备性能方面的问题,包括设备

详解Linux中获取全球唯一标示符UUID的方法 UUID(UniversallyUniqueIDentifiers),全球唯一标示符.它是一个标识系统中的存储设备的字符串,使其确定系统中的所有存储设备。为什么要使用UUID?因为系统自动

标签: linux系统文件压缩命令

本文链接地址:https://www.jiuchutong.com/biancheng/358916.html 转载请保留说明!

上一篇:腾讯云Linux系统怎么挂载磁盘?(腾讯linux服务器)

下一篇:在Linux系统上开启Initrd文件系统的方法(打开linux系统)

  • 营业税金及附加计算公式
  • 关联方的借款用什么科目核算
  • 什么是价税分离?
  • 怎么应对降税,不含税价怎么应对
  • 工程项目需要交5000万保证金合理吗
  • 汇算清缴时有哪些需要调整的项目
  • 非居民企业直接投资居民企业取得股息
  • 资产重组的税务筹划
  • 地产股权收购公司的账务处理
  • 增值税发票可以抵扣多少
  • 企业税金包括
  • 预收房租增值税税率
  • 增值税专用发票可以开电子发票吗
  • 建筑业购买车辆怎么入账
  • 本期增加发生额是指
  • 给个人的返利如何交税
  • 换汇成本跟进项有关系吗
  • 变更税号后地税个税申报系统还是显示老税号怎么办?
  • 网上勾选认证每月时间要求
  • 企业购进货物被没收 进项税额能否抵扣?
  • 冲销凭证怎么记账
  • 社保申报怎么查询
  • 房租税收怎么算?
  • 应交税费年末账务处理
  • 劳务服务包括哪些范围
  • 鸿蒙3.0手机适配名单荣耀
  • 建筑施工企业是落实施工现场带班制度的第一责任人
  • php中class用法
  • 电脑自动更新系统
  • 退回多缴的所得税怎么算
  • 预计资产未来现金流量的期限
  • vrvarp.exe是什么
  • php生成php文件
  • 出租固定资产取得的收入属于收入要素吗
  • 商贸宝红冲和红字反冲
  • 稿酬所得怎么交所得税
  • 无形资产使用寿命不确定需要摊销吗
  • 供电局销售电力产品
  • 股东出资未注明投资款可以通过验资报告处理么
  • 黑色金属冶炼压延品的税收编码是多少
  • 图文详解一本通
  • php如何获取当前时间
  • 简述php图像操作的基本步骤
  • 时点数和时期数 订单量 库存量点击量
  • 预提的奖金能不能提前申报个税
  • 小规模单位没交五险一金
  • 直连路由,静态路由
  • js添加方法
  • 免税收入是否入成本科目
  • 捐赠合同模板
  • 现金劳务收入会计分录
  • SQL SERVER 2008 64位系统无法导入ACCESS/EXCEL怎么办
  • 周转材料属于什么
  • 销售货物增值税税率变化
  • 销售回扣能计入销售费用吗?
  • 盈利能力分析对企业发展的意义
  • 小微企业未开票收入怎么申报
  • 会计科目的设置原则包括( )
  • 零申报必须会计吗?自己可以操作吗
  • sql优化的一般步骤
  • 多台电脑ip地址设置
  • centos6.0安装教程
  • explore.exe进程的作用
  • awk命令的功能是什么
  • LiteSpeed添加虚拟主机+支持htaccess图文教程
  • vlcplayer最新版
  • win7系统怎么设置开机启动项
  • linux 744
  • A Type-Safe Event System for Unity3D
  • opengl glm库
  • css并集
  • 刚接触 python 如何快速上手?
  • jquery插件怎么写
  • cmd命令基础
  • css中文字垂直排列
  • unity如何动态刷新滚动列表
  • 最简单的java设计
  • 税务官网怎么登录账号
  • 宁波离哪个国家比较近
  • 深圳城管局 局长
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设