打包与压缩:
常用命令
tar
- 仅打包 不压缩:
不用使用任何压缩参数
tar -cvf xxxx.tar /path/xxxxx # tar 命令 # -c 选项表示创建一个新的归档文件 # -v 显示过程 (可选) # -f 指定文件名 - gzip 格式(压缩速度快 文件为.tar.gz 或者.tgz)
tar -czvf xxxx.tar.gz /path/xxxxxx
# -z 使用gzip 进行压缩
- bzip2 格式(压缩率更高)
tar -cjvf xxxx.tar.bz2 /path/xxxxxx
# -j 使用bzip2 进行压缩
- xz 格式(压缩率最高)
tar -cJvf xxxx.tar.xz /path/xxxxxx
# -J 使用xz 格式进行压缩
zip 格式压缩
zip -r xxxx.zip /path/xxxx
#-r 递归压缩目录
gzip 单文件压缩
直接压缩单个文件 生成一个.gz 文件
gzip filename # 压缩为filename.gz 原文件回被删除
gunzip filename.gz # 解压操作
解包与解压
解压tar 包
- 解压到当前目录 解压命令为 -x
tar -xvf xxxx.tar
// 解压 通过gzip 压缩的文件 .tag.gz
tar -xzvf input.tar.gz
tar -xjvf input.tar.bz
tar -xJvf input.tar.xz
- 解压到指定目录 命令为 -C
tar -xvf xxx.tar -C /xxxx/xxx
tar -xzvf xxx.tar.gz -C /xxxx/xxxx
tar -xjvf xxx.tar.bz2 -C /xxxx/xxxx
tar -xJvf xxx.tar.xz -C /xxxx/xxx
解压 zip 包
unzip input.zip # 解压到当前文件夹
unzip input.zip -d /xxxx/xxxx # 解压到指定文件夹
解压时覆盖问题
tar 命令进行解压时默认会覆盖原文件,而unzip 命令则会进行询问,但是都可以根据参数调整默认行为
- tar 默认会覆盖原文件,并不会给出任何提示
tar 参数控制:
- --keep-old-files(缩写k)
保留现有文件不进行覆盖
- --overwrite强制覆盖同名文件(默认行为,通常无需显式指定)。
- --skip-old-files:跳过同名文件,默认不覆盖
unzip 参数控制
- -o 强制覆盖不询问
- -n 不覆盖现有文件:仅解压压缩包中不存在的新文件
- -u 仅根据更改时间覆盖旧文件
注意点
tar 进行打包压缩时 -f 应该放到最后