Linux下的打包压缩与解压缩
1. tar
tar 打包的文件通常都是以 .tar 结尾,也可以在打包或解包的同时调用其它的压缩程序
常用参数:
-A, --catenate, --concatenate 将一存档与已有的存档合并
-c, --create 建立新的存档
-d, --diff, --compare 比较存档与当前文件的不同之处
--delete 从存档中删除
-r, --append 附加到存档结尾
-t, --list 列出存档中文件的目录
-u, --update 仅将较新的文件附加到存档中
-x, --extract, --get 从存档展开文件
-v 显示操作过程
-f 指定对应文件
-z 通过gzip压缩文档(tar 可以在打包或解包的同时调用其它的压缩程序,-z调用 gzip)
eg:
tar -cf {{target.tar}} {{file1 file2 file3}} 将指定文件的单个或多个文件或目录打包
tar -xf {{source.tar}} 提取目标tar包内容
tar -xf {{source.tar}} -C {{folder}} 提取目标tar包内容到指定目录
tar -czf {{target.tar.gz}} {{file1 file2 file3}} 将指定文件打包并压缩target.tar.gz
tar -xzf target.tar.gz 解压target.tar.gz
tar -xzf target.tar.gz -C {{folder}} 解压target.tar.gz到指定目录
2. rar与unrar
rar 压缩
a 添加文件到压缩档案
eg: rar a file.rar file1 file2
unrar 解压缩
unrar [参数] 压缩包
e | 将文件解压缩到当前目录 |
l | 列出存档内容 |
p | 将文件打印到标准输出 |
t | 测试存档文件 |
v | 详细列出存档 |
x | 使用完整路径提取文件 |
eg: unrar e file.rar
3. zip与unzip
zip(解压缩)语法格式:zip 参数 文件
-q | 不显示指令执行过程 |
-r | 递归处理,将指定目录下的所有文件和子目录一并处理 |
-z | 替压缩文件加上注释 |
-v | 显示指令执行过程或显示版本信息 |
-d | 更新压缩包内文件 |
-n<字尾字符串> | 不压缩具有特定字尾字符串的文件 |
eg: zip -r etc.zip /etc 将etc文件夹打包压缩到etc.zip
unzip用于解压缩zip格式文件
语法格式:unzip [参数] 压缩包
-l | 显示压缩文件内所包含的文件 |
-v | 执行时显示详细的信息 |
-c | 将解压缩的结果显示到屏幕上,并对字符做适当的转换 |
-n | 解压缩时不要覆盖原有的文件 |
-j | 不处理压缩文件中原有的目录路径 |
eg: unzip etc.zip 将etc.zip解压到当前目录
unzip latest.zip -d /root 将etc.zip解压到root目录