Linux --- 文件的压缩和打包

1 篇文章 0 订阅
1 篇文章 0 订阅

压缩文件的用途:①解决文件过大导致一些软盘无法将文件复制完成

                             ②解决文件的复制和携带的问题

                             ③解决备份文件或重要数据太大占用很多的硬盘与磁盘空间

压缩的概念:文件里面有很多的并不是完全填满的空间存在,而压缩就是将这些空间填满,让整个文件占用的容量下降。①如果想使用这些被压缩过的文件数据,必须将它还原成未压缩前的状态被称为[ 解压缩 ],②压缩前后的文件所占用的磁盘空间大小被称为[ 压缩比 ]

Linux系统常见的压缩命令(常见的压缩文件的文件名)

*.z                   compress 程序压缩的文件

*.bz2               bzip2 程序压缩的文件

*.gz                 gzip 程序压缩的文件

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

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

*.tar.xz            当遇到 *.tar.xz格式的压缩包时可以使用 xz -d  ***.tar.xz ,再使用tar -xvf  ***.tar 或直接使用 tar -xvjf  *** .tar.xz 

压缩文件的背景:早期使用的是 compress 这个命令,后来GNU开发出了新的压缩命令 gzip 用来取代compress 这个压缩命令,再后面就出现了 bzip2 的压缩命令。这些命令通常只能针对一个文件来压缩与解压缩,每次压缩与解压缩都要一大堆文件,此时打包软件就显得很重要了。在 Unix-like 中还有 tar 打包工具,后来,GNU将整个tar 与压缩功能结合在一起,为用户提供更加强大的压缩和打包功能。下面就介绍一下在Linux里面这些基本的压缩命令!

compress 

参数: -d:用来解压缩的参数

             -r:可以连同目录下的文件一起压缩

             -c:将压缩数据传输为 standard output (输出到屏幕)

将 /tmp/sysctl.conf 复制到 /etc,并压缩

将刚压缩的文件进行解压缩

将 sysctl.conf 压缩成另外一个文件来备份(-c 参数会将压缩过程的数据输出到屏幕上,而不是写入成后缀为[ *.Z ]的文件。我们可以通过数据重定向[ > ]的方法将数据输出成为另一个文件名!)

看到[ *.Z ]的文件时,就要知道它是 compress 这个命令压缩的!

gzip     zcat

参数:

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

-d:解压缩的参数

-t:可以用来检验压缩文件的一致性,卡文件有无错误

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

看到[ *.gz ]的文件时,就要知道它是 gzip 命令压缩的!至于 zcat 是用来读取压缩文件内容的命令,由于 gzip 这个压缩命令主要是用来取代 compress 的,所以 compress 的压缩文件也可以使用 gzip 来解压缩,zcat 命令也可以同时读取 compress 和 gzip 的压缩文件。

bzip2     bzcat

参数:

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

-d:解压缩的参数            -z:压缩的参数

-#:和 gzip 相同,都是在计算压缩比的参数, -9 最佳, -1 最快!

看到[ *.bz2 ]的文件时,就要知道它是 bzip2 命令压缩的!如果读取这个文件内容可以使用 bzcat 命令即可且不需要解压缩,当你对一个文件解压缩时,只要这个文件名称为 [.bz],[.bz2],[.tbz],[.tbz2]等就可以尝试使用 bzip2 来解压缩看了!

tar 

将整个 /etc目录下的文件全部打包成为 /tmp/etc.tar

如果加 z 参数则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file

如果加 j 参数,则以 .tar.bz2 来作为附文件名

由于使用 gzip 压缩,使用查看 tar file 内的文件时就需要加上 z 参数了!

将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 文件下,解压缩 /tmp/etc.tar.gz 的文件属性和 /etc/ 可能会有点不同!

在 /tmp 文件下,将 /tmp/etc.tar.gz 内的 etc/passwd 解压缩

将 /etc 内所有的文件备份下来,并保留权限!(这里的 -p [ permission ]的参数是当你要保留原文件的权限和属性)

在 /home 当中,比 2019/7/22 新的文件才备份(-N 参数类似于增量备份的作用)

我要备份 /home,/etc ,但不要 /home/chd

将 /etc/ 打包后直接解压缩在 /tmp 文件下,而不产生文件

要注意的是输出文件变成 - (代表 standard output),而输入文件也变成 - (代表 standard input),其实参数后面的 - 表示被打包的文件,还有一个 | (管道命令)存在。上面提到的 compress 与 gzip 使用对文件的压缩,而 tar 命令可以将整个目录或是指定的文件都压缩成一个文件!同时 tar 可以配合 gzip 同时整合并压缩!

tarball :表示由 tar 打包再压缩的文件, 如果仅是打包而没有压缩的话就称为 tarfile.

dd   制作和备份文件

参数:

if :input file           of :output file 

bs :规划一个 block 的大小,默认是512 bytes

count :多少个 bs 的意思

将 /etc/passwd 备份到 /tmp/passwd.back 当中

tar 可以用来备份关键数据,而 dd 则可以用来备份整个 partition 或整个 disk 

cpio     通过数据重定向的方法将文件进行输入输出

将所有系统上的数据全部写入磁带机内(使用 SCSI 接口的磁带机,代号是 /dev/st0)

检查磁带机上面有什么文件

将 /etc 文件下的所有文件都备份到 /root/etc.cpio 中

cpio 命令最适用于备份,由于 cpio 无法直接读取文件,而需要每个文件或目录的路径和文件名一起才能被记录下来,所以 cpio 最常跟 find 命令一起使用了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值