Linux基础学习:文件与文件系统的压缩与打包

简介: Linux基础学习:文件与文件系统的压缩与打包

1.常见压缩命令


Linux中常见压缩命令:gzip,bzip2,tar,常见的文件扩展名有*.Z,*.gz,*.bz2,*.tar,*.tar.gz,*.tar.bz2。

*.Z :         compress程序压缩文件,现在基本不用;


*.gz :       gzip程序压缩的文件;


*.bz2:      bzip2程序压缩的文件;


*.tar :       tar 程序打包的数据,并没有压缩过;


*.tar.gz :  tar程序打包的文件,其中经过gzip的压缩;


*.tar.bz2 :tar程序打包的文件,其中经过bzip2的压缩


gzip,zcat


gzip可以解开compress,zip与gzip等软件压缩的文件。


gzip [-cdtv#] 文件名


zcat  文件名.gz :读取compress与zip压缩的文件


-c:将压缩的数据输出到屏幕,可通过数据流重定向来处理;


-d:解压缩的参数;


-t:用来检验一个压缩文件的一致性,看看文件是否有误;


-v:可以显示原文件/压缩文件的压缩比等信息;


-#:压缩等级,-1最快,-9最慢,压缩比最好默认是-6


当gzip进行压缩时,默认状态下原文件被压缩成为.gz的文件,同时原文件就不存在了。


image.png

通过zcat file.txt.gz 读取压缩文件的内容。


image.png


gzip -d file.txt.gz 将file.txt.gz解压为file.txt,同时删除file.txt.gz


bzip2,bzcat


用法同gzip相同:


bzip2 [-cdkzv#] 文件名


bzcat 文件名.bz2:读取压缩的文件内容


-c:将压缩的过程数据输出到屏幕;


-d:解压缩的参数;


-k:保留原文件,不删除原始的文件


-z:压缩参数;


-v:可以显示原文件/压缩文件的压缩比等信息;


-#:压缩等级,-1最快,-9最慢,压缩比最好默认是-6


打包指令:tar 


tar常用几个参数如下:


tar [-j | -z] [cv] [-f 新建的文件名] filename… <=打包与压缩


tar [-j | -z] [xv] [-f 新建的文件名]      <=查看文件名


-c :新建打包文件,可搭配-v来查看过程中被打包的文件名;


-t :查看打包文件内容含有哪些文件名,重点在查看文件名;


-x:解压缩或解打包功能,可搭配 -C 在特定目录解开。


注意 -c,-t,-x不可同时出现在同一命令行中


-j:通过bzip2的支持进行压缩/解压缩,此时文件名最好为*.tar.bz2;


-z:通过gzip的支持进行压缩/解压缩,此时文件名最好为*.tar.gz;


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


-f:后面接被处理的文件名。建议-f单独写一个参数;


-C:目录。在特定目录解压缩;


-p:保留原本权限和属性;


-P:保留绝对路径

总结:


  • 压缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称 (bzip2 -j ;gzip -z)


  • 查询:tar -jtv -f filename.tar.bz2


  • 解压:tar -jxv -f filename.tar.bz2 -C 制定解压目录


2.完整备份工具:dump


当针对文件系统进行备份或者是单一目录时,可以使用dump。但是对于目录的支持有以下不足。


  • 当待备份的数据为单一文件系统


可以完整的使用dump功能。


  • 待备份数据只是目录,并非单一文件系统


  • 所有备份数据必须要在该目录下面;


  • 且仅能使用level 0,即仅支持完整备份而已;


  • 不支持 -u 参数,即无法创建/etc/dumpdates这个level备份的时间记录文件。


dump [-Suvj] [-level] [-f 备份文件] 待备份数据


-S:仅列出后面待备份数据需要多少磁盘空间才能够备份完毕;


-u:将这次dump的时间记录到/etc/dumpdates文件中;


-v:将dump的文件过程显示出来;


-j:加入bzip2支持,将数据进行压缩,默认bzip2压缩等级为2;


-level:等级。-0 到 -9


-f:类似tar,后面接产生的文件


-W:列出在/etc/fstab里面的具有dump设置分区是否有备份过。


3.恢复数据:restore


restore -t [-f dumpfile] [-h] :查看dump文件


restore -C [-f dumpfile] [-D 挂载点] :比较dump与实际文件


restore -i [-f dumpfile]:进入互动模式


restore -r [-f dumpfile]:还原整个文件系统


4.其他压缩与备份命令


dd


dd if=”input file” of=”output file” bs=”block size” count=”number”


if:input file,也可以是设备


of:output file,也可以是设备


bs:规划的一个block的大小,默认512bytes(一个扇区大小)


count:多少个bs的意思


cpio 


cpio可以备份任何东西,包括设备文件,不过cpio有个大问题,不会主动去找文件备份。


cpio -ovcB > [file|device] :备份


-o: 将数据copy输出到文件或者设备上;


-B:让默认的blocks可以增加至5120 bytes,默认是 512 bytes。


cpio -ivcdu < [file|device]:还原


-i:将数据自文件或设备复制到系统中;


-d:自动新建目录。使用cpio 所备份的数据内容不见得会在同一层目录中,因此必须让cpio在还原时可以新建目录,此时就要 -d 参数;


-u:自动将较新的文件覆盖较旧的文件;


-t:需配合参数 -i,可用在以cpio新建的文件或设备的内容;


-v:让存储的过程文件名在屏幕上显示;


-c:一种较新的protable format 方式存储。


cpio -ivct < [file|device] :查看

相关文章
|
2月前
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
141 2
|
19天前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
68 15
|
1月前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
73 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
23天前
|
Ubuntu Linux Go
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
175 14
|
22天前
|
存储 NoSQL Linux
linux积累-core文件是干啥的
核心文件是Linux系统在程序崩溃时生成的重要调试文件,通过分析核心文件,开发者可以找到程序崩溃的原因并进行调试和修复。本文详细介绍了核心文件的生成、配置、查看和分析方法
77 6
|
24天前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
163 7
|
24天前
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
45 7
|
24天前
|
存储 NoSQL Linux
linux之core文件如何查看和调试
通过设置和生成 core 文件,可以在程序崩溃时获取详细的调试信息。结合 GDB 等调试工具,可以深入分析 core 文件,找到程序崩溃的具体原因,并进行相应的修复。掌握这些调试技巧,对于提高程序的稳定性和可靠性具有重要意义。
179 6
|
1月前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
2月前
|
存储 运维 监控
深入Linux基础:文件系统与进程管理详解
深入Linux基础:文件系统与进程管理详解
97 8