linux命令之压缩与归档
1. gzip:压缩工具 语法·:gzip [选项](参数)
命令说明:运用广泛的压缩程序,文件经它压缩后,其名称后面以“.gz”扩展名
常用命令选项:
-N:压缩文件后,保留文件的原文件名和时间戳
-r:递归处理
-t:测试压缩文件是否正确无误
-f:强行压缩文件
-d:解开压缩文件
-q:不显示警告信息
参数说明:指定要压缩的文件列表
命令示例:压缩一整个目录
比如现在根下有一个名为text.bak的目录,此目录并非空目录,压缩在当前目录
gzip -r /text.bak
2. gunzip:解压缩工具 语法:gunzip [选项](参数)
命令说明:gunzip也是一个使用广泛的解压缩程序,用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为.gz
事实上gunzip就是gzip的硬链接
参数说明:你要解压缩的压缩包
命令示例:将上面压缩后的根下的text.bak解开
gunzip /text.bak.gz
3. zcat:显示压缩包文件内容 语法:zcat [选项](参数)
命令说明:并不真正的解压文件,就能直接显示压缩包文件的内容
常用命令选项:
-c:将文件内容写到标准输出
-l:显示压缩包中文件的列表
-q:不显示警告信息
参数说明:指定要显示其中文件内容的压缩包
命令示例:将text.bak压缩后不解压并查看内容
zcat /text.bak.gz
4. bzip2:创建和管理“.bz2”格式的压缩包 语法:bzip2 [选项](参数)
命令说明:创建和管理“.bz2”格式的压缩包(包括解压缩)
常用命令选项:
-c:将压缩与解压缩的结果送到标准输出
-k:bzip2在压缩与解压缩后,会删除原始文件,此选项可保留原始文件
-z:强制执行压缩
-d:执行解压缩
参数说明:指定要压缩的文件
命令示例:用bzip2的方式压缩一个位于根下名为123的文件
bzip2 /123
5. bunzip2:解压缩工具 语法:bunzip2 [选项](参数)
命令说明:用于解压后缀为“.bz2”的命令,它们的关系就类似与gzip/gunzip
常用命令选项:
-k:在解压缩时,预设会删除原来的压缩文件,此选项可保留原来的压缩文件
-f:解压时,若输出的文件与现有的文件同名时,预设不会覆盖现有的文件
参数说明:指定需要解压的".bz2"压缩包
命令示例:将上面已经被bzip2压缩的123文件进行解压缩
bunzip2 /123.bz2
6. bzcat:显示压缩包文件内容 语法:bzcat [选项](参数)
命令说明:并不真正的解压文件,而是显示解压后的内容,直接打印出来
参数说明:指定要显示内容的“.bz2”压缩文件
命令示例:将123文件重新用bzip2压缩后,使用bzcat查看内容
bzcat /123.bz2
7. xz:压缩工具 语法:xz [选项](参数)
命令说明:跟上面一样,也是一种压缩工具,压缩后文件名后缀为“.xz”
参数说明:指定要压缩的文件名
命令示例:用xz工具解压一个位于根目录下名为456的文件
xz /456
8. unxz:解压缩工具 语法:unxz [选项](参数)
命令说明:可以解压缩后缀名为“.xz”的压缩包
参数说明:指定要解压缩的后缀名为“.xz”的压缩包
命令示例:将上面用xz压缩的文件456解压
unxz /456.xz
9. xzcat:显示压缩包文件内容 语法:xzcat [选项](参数)
命令说明:并不真正解压缩压缩包,而是显示压缩包的内容
参数说明:指定要显示的后缀为“.xz”压缩包的内容
命令示例:将456文件重新用xz压缩后,使用xzcat来查看内容
xzcat /456
10. zip:可以解压缩和归档文件 语法:zip [选项](参数)
命令说明:可以解压缩和归档文件,压缩后后缀名会变为“zip”
常用选项说明:
-r:递归处理,将指定目录下的所有文件和子目录一起处理
-t<日期>:把压缩文件的日期设置成指定的日期
-q:不显示指令执行过程
参数说明:指定要压缩的文件或目录
命令示例:将一个名为text.bak的目录压缩,该目录在根下,并且不是空目录
zip -r /text.bak 压缩成功后要压缩文件名会变为text.bak.zip
11. unzip:解压缩工具 语法:unzip [选项](参数)
命令说明:用于解压后缀名为”zip“的压缩文件
常用命令选项:
-C:压缩文件中的文件名称区分大小写
-t:检查压缩文件是否正确
-q:执行时不显示任何信息
-l:显示压缩文件中所包含的文件
参数说明:指定要解压的后缀名为”zip“的压缩包
命令示例:将上面压缩过的text.bak.zip解压到家目录下
unzip text.bak.zip /home
12. zipinfo:列出压缩文件内部信息 语法:zipinfo [选项](参数)
命令说明:执行zipinfo命令可以得出zip压缩文件的详细信息
常用命令选项:
-1:只列出文件名称
-v:显示详细信息
-h:只列出压缩文件的文件名称
参数说明:指定要显示的后缀名为”zip“的压缩包
命令示例:将text.bak重新用zip压缩后,用zipinfo显示
zip -r /text.bak
zipinfo text.bak.zip
13. zipsplit:分割zip压缩包 语法:zipsplit [选项](参数)
命令说明:用于将较大的zip压缩包分割成多份小的zip压缩包
常用命令选项:
-n:指定分割后每个文件的大小
-t:报告将要产生的较小的zip文件的大小
-b:指定分割后zip文件的存放位置
参数说明:指定要分割的zip文件压缩包
命令示例:将text.bak.zip分割成每个10M的压缩包
zipsplit -n 10M text.bak.zip
14. tar:打包文件 语法:tar [选项](参数)
命令说明:可以为文件或目录创建档案。首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
为什么要区分这两个概念呢?这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩
常用命令选项:
-c:建立新的备份文件
-v:显示操作过程
-f:指定备份文件
-z:通过gzip处理备份文件
-j:支持bzip2解压文件
-t:列出备份文件的内容
-x:从备份文件中还原文件
-p:用原来的文件权限还原文件
参数说明:指定要打包的文件或目录
命令示例:在根目录下有个log2018.log的文件,将其打包
tar -cvf log2018.log.tar log2018.log -f后面的文件名是自己取得,我们习惯用.tar做标签
15. dump:备份ext2文件系统或ext3文件系统 语法:dump [选项](参数)
命令说明:可将目录或整个文件系统备份至指定的设备,或备份成一个大文件
常用命令选项:
-0123456789:备份的层级
-b:区块的大小。以kb为单位
-B<区块数目>:指定备份卷册的区块数目
-f<设备名称>:指定备份设备
-u:备份完毕后,在/etc/dumpdates中记录备份的文件系统、层级、日期与时间等
-T<日期>:指定备份的时间与日期
参数说明:指定要备份的文件,目录或者文件系统
命令示例:将home目录的所有内容备份到/tmp/home.bak文件
dump -f /tmp/home.bak /home
16. restore:dump命令的逆过程 语法:restore [选项](参数)
命令说明:是dump的逆过程,用于还原dump命令生成的备份文件。倾倒操作可用来备份文件,而还原操作则是写回这些已备份的文件。
常用选项说明:
-r:进行还原操作
-t:指定文件名称,若文件名已存在,则列出来
-f<备份文件>:从指定的文件中读取备份数据,进行还原操作
参数说明:指定要还原的dump备份文件
命令示例:将/tmp/home.bak进行还原
restore -rf /tmp/home.bak /home
还原完成