压缩和解压缩
compress和uncompress
格式:
compress [ -f ] [ -v ] [ -c ] [ -V ] [ -r ] [ -b bits ] [ name ... ]
uncompress [ -f ] [ -v ] [ -c ] [ -V ] [ name ... ]
zcat [ -V ] [ name ... ]
常用选项:
-d 解压缩
-c 结果输出至标准输出,不删除原文件
-v 显示详情
uncompress file.Z 解压缩
zcat file.Z 不显示解压缩的前提下查看文件文本内容
示例:
zcat file.z >file
gzip和gunzip
格式:
gzip [OPTION]... FILE...
常用选项:
-d 解压缩,相当于gunzip
-c 结果输出至标准输出,保留原文件不变
-# 指定压缩比,#取值为1-9,值越大压缩比越小
范例:
#解压缩
gunzip file.gz
#不显示解压缩的前提下查看文本文件内容
zcat file.gz
示例:
cat messages | gzip >m.gz
bzip2和bunzip2
格式:
bzip2 [OPTION]... FILE...
常用选项:
-k keep,保留原文件
-d 解压缩
-c 结果输出至标准输出,保留原文件不变
-# 指定压缩比,#取值为1-9,值越大压缩比越小,默认为9
示例:
[root@localhost ~]# bzip2 -k passwd
[root@localhost ~]# ls
anaconda-ks.cfg file original-ks.cfg passwd passwd.bz2[root@localhost ~]# bzcat passwd.bz2
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
注意:预览使用bzcat
xz和unxz
格式:
xz [OPTION]... FILE...
常用选项:
-k keep,保留原文件
-d 解压缩
-c 结果输出至标准输出,保留原文件不变
-# 指定压缩比,#取值为1-9,值越大压缩比越小,默认为6
范例:
unxz file.xz
xzcat file.xz
注意:预览使用xzcat
zip和unzip
zip可以实现打包目录和文件并压缩,但可能会丢失文件属性信息,如所有者所属组信息,一般建议使用tar代替.
格式:
zip [OPTION]... FILE...
范例:
zip -r /backup/sysconfig.zip /etc/sysconfig/ #打包并压缩
unzip /backup/sysconfig.zip #默认解压至当前文件夹
unzip /backup/sysconfig.zip -d /tmp/config #解压至指定目录,如果指定目录不存在,会在其父目录(必须事先存在)下自动生成
cat /var/log/message | zip messages
unzip -p message.gz > message #-p表示管道
打包与解包
tar
Linux中的tar命令是一个功能强大的工具,用于创建、提取和管理归档文件,常用于备份和压缩文件。以下是tar命令的详细解释:
一、基本语法
tar [选项] [归档文件] [要处理的文件或目录]
二、常用选项
- -c:创建一个新的归档文件。
- -x:解压归档文件中的内容。
- -t:列出归档文件中的内容,而不解压文件。
- -f:指定归档文件的名称。此选项通常与其他选项一起使用。
- -v:在处理过程中显示详细信息(verbose mode)。
- -z:通过gzip压缩或解压缩归档文件。
- -j:通过bzip2压缩或解压缩归档文件。
- -J:使用xz压缩或解压缩归档文件。
- -C:切换到指定目录再进行操作,例如解压文件到指定目录。
- -p:保留文件权限。
split
split命令可以分割一个文件为多个文件
示例:
#分割大的tar文件为多份小文件
split -b size -d tar-file-name prefix-name
split -b 1M mybackup.tgz mybackup-parts
#切换成的多个小份文件使用数字后缀
split -b 1M -d mybackup.tgz mybackup-parts
将多个切割的小文件合并成一个大文件
cat mybackup-parts* > mybackup.tar.gz