Linux文件打包与压缩

Linux压缩文件

linux系统压缩包文件格式有很多种

Linux文件打包与压缩

通常使用zip和tar这两个命令即可。

1.zip压缩打包程序

#使用ZIP打包压缩文件
zip -r -q -o file.zip /home/name/file #-r表示递归打包包含子目录的全部内容,-q表示安静打包模式,即不向屏幕输出打印信息,-o 表示输出文件,其在后紧跟打包文件名。
du -h file.zip #查看打包文件的大小 -h (human readable)
file file.zip
# 上述命令将目录 /home/name/file 打包成一个文件,并查看了打包后的文件大小和类型

创建加密zip打包文件

使用 -e 参数可以创建加密压缩包

zip -r -e -o outfile.zip /home/name/file
  • 注意:关于 zip 命令,因为 Windows 系统与 Linux/Unix 在文本文件格式上的一些兼容问题,比如换行符(为不可见字符),在 Windows 为 CR+LF(Carriage-Return+Line-Feed:回车加换行),而在 Linux/Unix 上为 LF(换行),所以如果在不加处理的情况下,在 Linux 上编辑的文本,在 Windows 系统上打开可能看起来是没有换行的。如果你想让你在 Linux 创建的 zip 压缩文件在 Windows 上解压后没有任何问题,那么你还需要对命令做一些修改:
zip -r -l -o outfile.zip /home/name/file # -l 参数将LF转换为CR+LF

2. zip解压缩文件

使用unzip命令可以解压zip文件

unzip file.zip #将压缩文件解压到当前目录
unzip -q file.zip -d ziptest #将压缩文件安静解压到ziptest目录内(如果木有ziptest目录则会自动创建
unzip -l file.zip #不解压压缩文件只查看文件内容
unzip -O GBK 中文压缩文件.zip #o是大写字母

3. tar打包工具

tar 原本只是一个打包工具,只是同时还实现了对 7z、gzip、xz、bzip2 等工具的支持。

基本使用:

  • 打包文件:
tar -c -f file.tar /home/name/file #-c(create)表示创建一个tar包文件,-f指定创建的文件名(文件名必须紧跟在-f参数之后)
  • 解包一个文件到指定目录:
tar -xf file.tar -C tardir #-x(extract)解包参数 -C指定目录参数
  • 只查看不解包文件
tar -tf file.tar #使用-t参数

创建不同的压缩文件对于tar是非常简单的,主需要换一个参数即可,这里使用gzip工具创建 *.tar.gz 文件为例。

  • 只需要在创建tar文件的基础上添加 -z 参数使用gzip工具来压缩文件:
tar -czf file.tar.gz /home/name/file 
  • 解压 *.tar.gz文件
tar -xzf file.tar.gz

其他压缩文件格式只需改参数即可。 

 Linux文件打包与压缩