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] :查看

相关文章
|
4天前
|
Unix Linux Windows
Linux的学习之路:3、基础指令(2)
Linux的学习之路:3、基础指令(2)
28 0
|
1天前
|
人工智能 Linux
Linux查找大文件的方法
Linux查找大文件的方法
|
3天前
|
固态存储 Ubuntu Linux
Linux(29) 多线程快速解压缩|删除|监视大型文件
Linux(29) 多线程快速解压缩|删除|监视大型文件
11 1
|
3天前
|
Ubuntu Linux 数据安全/隐私保护
Linux(24) 如何在Ubuntu中操作rootfs.img文件
Linux(24) 如何在Ubuntu中操作rootfs.img文件
9 0
|
4天前
|
消息中间件 Unix Linux
Linux的学习之路:17、进程间通信(1)
Linux的学习之路:17、进程间通信(1)
18 1
|
4天前
|
存储 安全 Linux
Linux的学习之路:9、冯诺依曼与进程(1)
Linux的学习之路:9、冯诺依曼与进程(1)
18 0
|
4天前
|
Ubuntu Linux 芯片
Linux(2)ubuntu rootfs根文件系统制作
Linux(2)ubuntu rootfs根文件系统制作
19 0
|
8天前
|
安全 Linux 开发工具
Linux中可引起文件时间戳改变的相关命令
【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
18 0
|
10天前
|
Linux Shell 开发工具
Linux文件常用操作
Linux文件常用操作(几乎覆盖所有日常使用)
84 0
|
3月前
|
Linux
百度搜索:蓝易云【Linux中如何对文件进行压缩和解压缩?】
这些是在Linux中进行文件压缩和解压缩的常见方法。根据您的需求和具体情况,可能会使用其他压缩工具和选项。您可以通过查阅相应命令的帮助文档来获取更多详细信息。
53 1