linux - 解压缩

执行命令的时候,一定不要把命令写反,写反不会报错:

解压的时候,如果命令写反,会直接压缩空文件夹,覆盖掉需要解压的文件;

压缩的时候,如果把命令写成了解压,会解压已经存在的压缩包,覆盖需要压缩的文件。

.zip

-b  指定存放文件的目录;
-d  删除压缩文件内指定的文件;
-f  更新压缩包的文件;
-m  将文件压缩并加入压缩文件后,删除原始文件;
-q  不显示执行过程;
-r  递归处理,将指定目录下的所有文件和子目录一并处理;
-v  显示指令执行过程或显示版本信息(默认选项);
-sf 显示文件;

样例

# 安装解压程序
yum install -y unzip zip  

# 解压文件
unzip file.zip            

# 压缩文件
zip file.zip  a.txt     	      
# 压缩文件夹
zip -r file.zip dir/               

.gz

gzip命令是特殊的,解压缩之后会删除原件

-r	递归处理,解压缩指定目录下以及子目录下的所有文件。
-c	把解压缩后的文件输出到标准输出设备。
-f	强制解压缩文件,不理会文件是否已存在等情况。
-l	列出压缩文件内容。
-v	显示命令执行过程。
-t	测试压缩文件是否正常,但不对其做解压缩操作。

样例

# 压缩,删除原件,dir 是压缩文件的存放路径,而不是需要压缩的目录
gzip file.txt /dir
# 压缩,不删除原件
gzip -c file.gz dir/
# 压缩,目录下全部文件,每个文件独立压缩,不是压缩整个文件夹,命令会删除原件
gzip -r file.gz dir/


# 解压,删除原件
gzip -d file.gz dir/
# 解压,删除原件
gunzip file.gz dir/ 
# 解压,不删除原件
gunzip -c file.gz   
# 解压,目录下全部文件,删除原件
gunzip -r dir/      

.tar

tar 命令是重点,使用频次远大于其他压缩命令。

-c: 压缩
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个参数是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。
下面的参数是根据需要在压缩或解压档案时可选的。

-f:指定名称
-j:有bz2属性的
-O:将文件解开到标准输出
-v:显示所有过程
-z:有gzip属性的
-Z:有compress属性的

样例

# 解包(不会删除原件)
tar xvf file.tgz dir/    
# 打包(不会删除原件)
tar cvf file.tgz dir/

.tar.gz(.tgz)

# .tar.gz 和 .tgz 是同一种格式
# 如果部分文件出错,gunzip 会解不出来,但是使用 tar 命令,可以把其中没错的部分解压出来

# 创建一个 .tgz 格式的压缩包
tar -zxvf file.tgz dir/      
# 解压一个 .tgz 格式的压缩包
tar -zcvf file.tgz dir/      


# 创建一个 .tar.gz 格式的压缩包
tar -zcvf file.tar.gz dir/   
# 解压一个 .tar.gz 格式的压缩包
tar -zxvf file.tar.gz dir/   

.bz2

# 创建一个 bzip2 格式的压缩包
tar -jcvf file.tar.bz2 dir/  
# 解压一个 bzip2 格式的压缩包
tar -jxvf file.tar.bz2 dir/  

查看压缩包的内容

# 查看 tar 包内容。
tar -tf file.tar

# 查看 tar 包详细属性:权限、文件所有者、组、创建日期等
tar -tvf file.tar

# 查看 zip 包里的内容
unzip -l file.zip

posted on 2021-07-27 19:17  疯狂的妞妞  阅读(80)  评论(0编辑  收藏  举报

导航