文件与文件系统的压缩与打包 tar gzip bzip2

时间:2022-01-01 09:11:38

1:linux下常见的压缩文件后缀: .gz .zip .bz2
打包后的: .tar.gz .tar.zip .tar.bz2
2:gzip: 压缩:gzip file 解压:gunzip file.gz
3:bzip2:压缩:bzip2 file 解压: bunzip2 file.bz2
4:下面说说tar:
假设我们现在有这么几个文件,file1 file2 file3

(1):只打包不压缩:tar -cvf file.tar file1 file2 file3 -c:新建压缩文件 -v:显示过程 -f:指定文件名
(2):解包:tar -xvf file.tar -x:解包或者解压缩。
(3):打包加上压缩(注意:gzip:-z bzip2:-j):tar -cv(z/j)f test.tar(.gz/.bz2) file1 file2 file3 注意:(z/j)要写在f参数的前面,因为f参数后面跟的就是压缩后的文件名,这个错误不容小视。
(4):解包解压缩:tar -xvf test.tar.(.gz/bz2) -C:后面跟目录,解包到指定目录下。
(5):查看压缩文件中包含那些文件名 tar -tf test.tar.(.gz/bz2) 如果需要查看文件权限等详细信息,就再加参数:-v
(6):tar 用于备份文件,话说有事没事备份下/etc是件好事。 tar -zpcvf /root/etc.tar.gz /etc 解释下新参数:-p : 保留原本文件的权限和属性。还有一个注意点是这样备份开始会有一个警告:tar: Removing leading `/’ from member names 实际上它就是说将根目录去掉了,这样是有好处的,原因是当我们还原的时候不至于覆盖掉真正的/etc的内容。

5:dump和restore命令:
dump :命令可以用来备份我们的文件系统或者单一文件。
restore:恢复dump备份的文件。
6:dd命令:可以直接读取磁盘设备文件,然后将其备份。如果我们需要备份启动扇区,首先在磁盘上fdisk 出一块和它一样大或者比它大的区域,然后dd过去,新的分区不需要格式化dd也可以使用,原因是dd命令会将原来的分区中所有数据都移动过来。
7:cpio 命令也可以备份,但是cpio命令通常需要配合find 管道等为它找到文件的位置。
备份:cpio -ovB > filename/device -o:将数据copy到文件或者设备上 -B:将默认的block扩大到5120 -v:显示过程 >:将数据导入
还原:cpio -ivdu < filename/device -i:将数据自文件或者设备中赋值到系统中 -d:自动新建目录 -u:自动以比较新的文件覆盖旧的文件。