Linux压缩解压文件


Linux 压缩解压文件

一、tar

介绍

Linux tar(英文全拼:tape archive )命令用于备份文件。
tar 是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。

常用参数

参数 解释
-A 新增文件到以存在的备份文件
-B 设置区块大小
-c 建立新的备份文件
-C <目录> 切换工作目录,先进入指定目录再执行压缩/解压缩操作,可用于仅压缩特定目录里的内容或解压缩到特定目录
-d 记录文件的差别
-x 从归档文件中提取文件
-t 列出备份文件的内容
-z 通过 gzip 指令压缩/解压缩文件,文件名最好为*.tar.gz
-Z 通过 compress 指令处理备份文件
-f<备份文件> 指定备份文件
-v 显示指令执行过程
-r 添加文件到已经压缩的文件
-u 添加改变了和现有的文件到已经存在的压缩文件
-j 通过 bzip2 指令压缩/解压缩文件,文件名最好为*.tar.bz2
-v 显示操作过程
-l 文件系统边界设置
-k 保留原有文件不覆盖
-m 保留文件不被覆盖
-w 确认压缩文件的正确性
-p 保留原来的文件权限与属性
-P 使用文件名的绝对路径,不移除文件名称前的“/”号
-N <日期格式> 只将较指定日期更新的文件保存到备份文件里
– -exclude=<范本样式> 排除符合范本样式的文件
– -remove-files 归档/压缩之后删除源文件

示例

从存档中提取文件:

tar -xfv archive.tar

选项:x = 提取,f = 文件,v = 详细

从文件夹和文件创建未压缩的 tar 存档:

tar -cfv archive.tar file1 file2 file3

选项:c = 创建

从文件夹和文件创建压缩的 tar 存档:

tar -cfzv archive.tar file1 file2 file3

选项:z = 使用 gzip 压缩

显示存档的所有文件:

tar -tvf archive.tar

在当前目录中创建所有 .txt 文件的未压缩存档:

tar -cfv archive.tar *.txt

从 gzip tar 压缩包 archive.tar.gz 中提取文件:

tar -xvzf archive.tar.gz

使用bzip2创建一个压缩的tar存档文件:

tar cvfj archive.tar.tbz example.cpp

选项:j = 使用 bzip2 压缩,文件大小更小,但需要的时间长于-z

通过将 todo.txt 文件添加到存档来更新现有的 tar 文件:

tar -rvf archive.tar todo.txt

选项:r = 添加文件

列出压缩文件里的内容

tar -tzvf test.tar.gz

解压文件

tar -xzvf test.tar.gz

列出 tar 文件的内容:

tar -tf file.tar

选项:t = display, f = file

创建当前目录的压缩存档,但排除某些目录:

tar --exclude='./folder' --exclude='./upload/folder2' -cfzv archive.tar .

排除 “folder” 和 “folder2”

二、zip 和 unzip

介绍

Linux zip 命令用于压缩文件,zip 是个使用广泛的压缩程序,压缩后的文件后缀名为 .zip
Linux unzip 命令用于解压缩 zip 文件,unzip 为**.zip**压缩文件的解压缩程序。

安装

基于 Ubuntu 和 Debian 的操作系统发行版

sudo apt-get install zip unzip

基于 CentOS 和 Fedora 的操作系统发行版

sudo yum install zip unzip

语法格式

zip [参数] [文件]
unzip [参数] [文件]

常用参数

zip 命令

参数 介绍
-q 不显示指令执行过程
-r 递归处理,将指定目录下的所有文件和子目录一并处理
-z 替压缩文件加上注释
-v 显示指令执行过程或显示版本信息
-n <字尾字符串> 不压缩具有特定字尾字符串的文件

unzip 命令

参数 介绍
-l 显示压缩文件内所包含的文件
-v 执行时显示详细的信息
-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换
-n 解压缩时不要覆盖原有的文件
-j 不处理压缩文件中原有的目录路径
-d 解压到指定路径

zip 示例

将**/home/html/这个目录下所有文件和文件夹打包为当前目录下的html.zip**:

zip -q -r html.zip /home/html

压缩文件cp.zip中删除文件a.c

zip -dv cp.zip a.c

mydata目录压缩为mydata.zip

zip -r mydata.zip mydata

abc文件夹和123.txt压缩成为abc123.zip

zip -r abc123.zip abc 123.txt

unzip 示例

mydata.zip解压到mydatabak目录里面:

unzip mydata.zip -d mydatabak

wwwroot.zip 直接解压到当前目录:

unzip wwwroot.zip

把当前目录下的所有 zip 文件同时解压到当前目录:

unzip abc\*.zip

查看 wwwroot.zip 里面的内容:

unzip -v wwwroot.zip

验证 wwwroot.zip 是否完整:

unzip -t wwwroot.zip

三、查看压缩文件信息

使用 file 命令查看:

file test.tar.gz

使用 zipinfo查看zip 文件信息:

zipinfo test.zip

文章作者: Truda
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Truda !
评论
  目录