首页 > 其他分享 >文件压缩和解压缩

文件压缩和解压缩

时间:2024-06-30 22:08:44浏览次数:13  
标签:opt 文件 Mar tar -- 压缩 解压缩 rw root

Linux文件压缩和解压缩

  • 打包:就是把一堆文件放在一起,并不会节省磁盘空间,仅仅是进行一个 归类整理的过程
  • 压缩:把一堆文件放在一起,再进行压缩,会节省磁盘空间

在Linux中存在如下几种压缩格式

  • .gzip(压缩速度最快)
  • .bzip2
  • .xz(压缩效果最好)

【1】tar命令

制作压缩包(打包压缩)

选项

  • -c:制作tar包
  • -f:指定tar包的名字,必须放在所有参数的最后面
  • -z:gzip压缩格式
  • -j:bzip2压缩格式
  • -J:xz压缩格式
  • -C:在制作压缩包的时候,-C参数,可以只压缩指定的文件,而不加上路径
{24-05-28 23:37}bogon:/opt root# touch {1..3}.txt
{24-05-28 23:38}bogon:/opt root# ls
1.txt  2.txt  3.txt
{24-05-28 23:38}bogon:/opt root# tar -czf a.tar.gz *.txt
{24-05-28 23:38}bogon:/opt root# ls
1.txt  2.txt  3.txt  a.tar.gz
{24-05-28 23:39}bogon:/opt root# tar -cjf a.bz2 *.txt
{24-05-28 23:39}bogon:/opt root# tar -cJf a.xz  *.txt  
{24-05-28 23:40}bogon:/opt root# ls           
1.txt  2.txt  3.txt  a.bz2  a.tar.gz  a.xz

# 如果我们在压缩的时候不加-C参数,那么压缩后的压缩包里存在这完整的路径
{24-05-29 9:29}locahost:/opt root# tar -zcvf a.tar.gz /etc/sysconfig/network-scripts/ifcfg-ens33
{24-05-29 9:29}locahost:/opt root# ls
1.txt  2.txt  3.txt  a.tar.gz  qq
{24-05-29 9:29}locahost:/opt root# tar -tf a.tar.gz 
etc/sysconfig/network-scripts/ifcfg-ens33

# 如果我们在压缩时加上了-C参数,那么在就可以指定某一个路径下的文件,在压缩后,压缩文件中就只会存在一个文件名字,而不是一个完整的路径
{24-05-29 9:32}locahost:/opt root# tar -zcvf a.tar.gz -C  /etc/sysconfig/network-scripts/     ifcfg-ens33
ifcfg-ens33
{24-05-29 9:32}locahost:/opt root# tar -tf a.tar.gz                                                      
ifcfg-ens33
# 我们也可以一次性指定多个文件名

{24-05-29 9:33}locahost:/opt root# tar -zcvf a.tar.gz -C  /etc/  hosts passwd -C /etc/sysconfig/network-scripts/ ifcfg-ens33
hosts
passwd
ifcfg-ens33
  • -x:释放包
  • -C:指定解压的路径
{24-05-28 23:47}bogon:/opt root# tar -xf a.tar.gz -C ./qq

【2】、gzip和bzip2

只可以压缩和解压缩文件

[root@localhost ~]# dd if=/dev/zero of=testfile bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 0.0684654 s, 1.5 GB/s
#使用dd命令生成一个大文件作为测试目标,/dev/hero文件是一个“空气文件”,看不见但是却又是真实存在的,类似于/dev/null“黑洞文件”

(1)、gzip

[root@localhost ~]# gzip testfile 
[root@localhost ~]# ll -lh
total 416K
-rw-------. 1 root root 1.1K Mar 18 13:30 anaconda-ks.cfg
-rw-r--r--. 1 root root  25K Apr 17  2023 epel-release-latest-8.noarch.rpm
-rw-r--r--. 1 root root 100K Mar 20 03:48 testfile.gz
-rw-r--r--. 1 root root 206K Sep 20  2021 yum-4.7.0-4.el8.noarch.rpm
-rw-r--r--. 1 root root  73K Sep 20  2021 yum-utils-4.0.21-3.el8.noarch.rpm
#gzip命令默认是在生成压缩文件后,删除原文件,-k参数可以使其在生成压缩文件时,保留原文件
[root@localhost ~]# gzip -k testfile 
[root@localhost ~]# ll -h
total 101M
-rw-------. 1 root root 1.1K Mar 18 13:30 anaconda-ks.cfg
-rw-r--r--. 1 root root  25K Apr 17  2023 epel-release-latest-8.noarch.rpm
-rw-r--r--. 1 root root 100M Mar 20 03:48 testfile
-rw-r--r--. 1 root root 100K Mar 20 03:48 testfile.gz
-rw-r--r--. 1 root root 206K Sep 20  2021 yum-4.7.0-4.el8.noarch.rpm
-rw-r--r--. 1 root root  73K Sep 20  2021 yum-utils-4.0.21-3.el8.noarch.rpm
#gzip在压缩时存在等级划分,-1 ~ -9
-1, --fast        compress faster
-9, --best        compress better
[root@localhost opt]# gunzip test.gz 
[root@localhost opt]# ll -h
total 12K
drwxr-xr-x. 2 root root    6 Mar 18 20:20 fruit
drwxr-xr-x. 3 root root   71 Mar 19 03:00 ln
-rw-r--r--. 1 root root 4.5K Mar 20 04:04 test
-rw-r--r--. 1 root root 1022 Mar 18 21:57 x.py

(2)、bzip2

[root@localhost opt]# bzip2 -k test 
[root@localhost opt]# ll
total 16
drwxr-xr-x. 2 root root    6 Mar 18 20:20 fruit
drwxr-xr-x. 3 root root   71 Mar 19 03:00 ln
-rw-r--r--. 1 root root 4585 Mar 20 04:04 test
-rw-r--r--. 1 root root 1723 Mar 20 04:04 test.bz2
-rw-r--r--. 1 root root 1022 Mar 18 21:57 x.py
[root@localhost opt]# 
#和gzip一样 bzip2在压缩时默认不保留原文件,-k参数可以让其保存原文件
[root@localhost opt]# bunzip2 test.bz2 
[root@localhost opt]# ll
total 12
drwxr-xr-x. 2 root root    6 Mar 18 20:20 fruit
drwxr-xr-x. 3 root root   71 Mar 19 03:00 ln
-rw-r--r--. 1 root root 4585 Mar 20 04:04 test
-rw-r--r--. 1 root root 1022 Mar 18 21:57 x.py

【3】、zip归档

用于Linux和Windows跨平台使用

-r:递归压缩

 zip -r a.zip /etc/ /home

unzip,解压操作

-l:查看压缩包的内容

-d:指定解压到哪

unzip  a.zip -d ./bak

标签:opt,文件,Mar,tar,--,压缩,解压缩,rw,root
From: https://www.cnblogs.com/xuruizhao/p/18277046

相关文章

  • Golang文件操作
    文件是数据源(保存数据的地方)的一种,word文档,txt文件,excel文件...都是文件。文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保持视频,声音...os.file封装了所有对文件的操作,且file是一个结构体: 打开和关闭文件1.打开文件,用于读取: 传入的是一个字符......
  • Proteus仿真实例_基于51单片机的二层电梯控制系统(仿真文件+程序)24-51f-03
    一.系统概述1.电梯有上行和下行功能,有一个电机通过正反转控制,分别用两个指示灯表示;2.有开门和关门功能,有一个电机通过正反转控制,分别用两个指示灯表示;3.电梯内部具有开门、关门按钮,带相应指示灯:4.超重和延时报警功能,超重信号保持功能。二.仿真概述 1.进入仿真,数码管......
  • 用pipenv解决pyinstaller打包文件过大的问题
    学会用pyinstaller打包python文件后,我发现直接大暴出来的文件内存特别大于是我上网搜了一些压缩方法,试过用upx,用了之后感觉有点麻烦,后面又看到了pipenv,感觉还不错首先用windows+r快捷键输入cmd打开命令管理器安装pipenv模块pipinstallpipenv-ihttps://pypi.tuna.tsinghua.......
  • gdb调试coredump文件
    查看coredump文件位置cat/proc/sys/kernel/core_patterncoredumpctllistcoredumpctldumppid_xxx--outputxxx.coregdb调试gdb-cxxx.corexxx.bintuiup1down1disas设置coredump文件位置sudosysctl-wkernel.core_pattern="/home/bill/project/test_coredum......
  • 力扣每日一题 特别的排列 DFS 记忆化搜索 位运算 状态压缩DP
    Problem:2741.特别的排列......
  • MATLAB的.m文件与Python的.py文件:比较与互参
    simulinkMATLAB的.m文件与Python的.py文件:比较与互参相似之处**1.基本结构****2.执行逻辑****3.可读性和维护性**差异性**1.语法特性****2.性能和应用****3.开发环境**互相学习的可能性结论MATLAB的.m文件与Python的.py文件:比较与互参在编程语言的选择上,MA......
  • Batch文件中使用tasklist命令:深入掌握进程监控与分析
    在Windows操作系统中,tasklist命令是一个强大的工具,它允许用户查看当前运行的进程和它们的详细信息。在自动化脚本和批处理文件(Batch文件)中使用tasklist可以极大地增强对系统状态的监控能力。本文将详细介绍如何在Batch文件中使用tasklist命令来查看和管理进程。1.tasklist......
  • Conda环境导出指南:YAML文件的奥秘
    标题:Conda环境导出指南:YAML文件的奥秘摘要Conda不仅是一款强大的包管理器,也是Linux、macOS和Windows平台上卓越的环境管理工具。将Conda环境导出为YAML文件是一种保存环境配置的便捷方式,便于分享、迁移或重建环境。本文将详细介绍如何将Conda环境导出为YAML文件,并探讨其应......
  • 数据源dataSource以及事务tx的xml文件配置方式及代码配置方式
    所需要使用的依赖<dependencies><!--springjdbcSpring持久化层支持jar包--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>6.0.2</versi......
  • VS2022 csproject文件增加发布时文件项
    发布时新加的node_modules 总是不会伴随着其他文件一起发布到文件夹里面。一个一个添加选项太麻烦了。百度查询后发现可以通过修改csproject 把node_modules  //添加节点即可<ItemGroup><ContentInclude="wwwroot\assets\node_modules\**"><CopyToOutputDirectory>P......