【Linux入门】压缩与解压缩

2023-12-05 09:13:20 浏览数 (1)

在Windows操作系统中,常见的有rar、zip等压缩文件格式,使用如 winrar 软件即可完成压缩与解压缩的操作。

在Linux操作系统中,压缩的命令及文件格式更多,本文主要列举常用的压缩与解压缩命令。

压缩打包处理命令

tar:打包及压缩

zip / unzip:压缩及解压缩 zip 文件

rar:压缩及解压缩 rar 文件

打包及压缩命令 tar

tar 命令是Linux下最常用的打包压缩命令,可以将多个文件或目录打包压缩成一个文件,类似于 Windows 中的 winrar 等软件的压缩操作。

命令格式:

代码语言:javascript复制
tar [参数] 文件名 文件/目录名

-c  建立打包文件
-x  压缩打包 或 解压缩
-t  查看打包文件的内容
-z  通过 gzip 的方式进行压缩 / 解压缩,文件名为:.tar.gz
-j  通过 bzip2 的方式进行压缩 / 解压缩,文件名为:.tar.bz2
-J  通过 zx 的方式进行压缩 / 解压缩,文件名为:.tar.xz
-v  执行命令时显示正在处理的文件名
-f  后面要立即输入文件名,用于被处理的文件名,即 -f 通常做为最后一个参数或单独的参数
-C  后面要立即输入目录名,用于解压到的目录名,即 -C 通常做为最后一个参数或单独的参数

tar 不会自动产生对应类型的文件名,需要手动完善文件名。即 .tar / .tar.gz / .tar.bz2 / .tar.xz 等 -c、-t、-x 不可同时出现,因为参数作用冲突 -z、-j、-J 不可同时出现,因为参数作用冲突

命令示例:

代码语言:javascript复制
# 打包,将目录内的文件打包至test.tar
tar -cv -f test.tar /home/www/abc/

# 解包,将文件test.tar的内容解包至对应目录
tar -xv -f test.tar -C /home/backup/

# 打包当前目录下内容的同时压缩
tar -zcv -f test.tar.gz *

# 解压缩当前目录下backup目录
tar -zxv -f test.tar.gz -C backup/

tar扩展:打包时排除指定文件或目录

命令格式:

代码语言:javascript复制
tar [参数] 文件名 文件/目录名

--exclude   排除单个数据信息
--exclude-from  排除多个数据信息,即指定文件列表

命令示例:

代码语言:javascript复制
# 压缩当前目录,排除所有的 1.txt 文件
tar -zcv --exclude=1.txt -f test.tar.gz *

# 压缩当前目录,排除子目录 runtime
tar -zcv --exclude=runtime -f test.tar.gz *

# 压缩当前目录,同时排除所有的 1.txt 文件及子目录 runtime
tar -zcv --exclude=runtime --exclude=1.txt -f test.tar.gz *

# 压缩当前目录,排除该目录下多个文件,排除的内容写在“list.txt”文件中
tar -zcv --exclude-from=/home/list.txt -f test.tar.gz *

# list.txt 格式可以为,作用等同于直接输入在命令中
1.txt
runtime

排除参数 = 文件名,会排除所有和此文件名相同的文件 排除参数 = 指定目录,排除的目录后面不能接“/”,即可以是“abc”,不能是“abc/” 排除参数建议使用相对路径

压缩解压命令 zip / unzip

zip 命令可以生成 .zip 类型的压缩包

unzip 命令可以解压 .zip 类型的压缩包

命令格式:

代码语言:javascript复制
# 压缩
zip [参数] 文件名.zip 文件/目录名
# -r    递归目录压缩

# 解压缩
unzip [参数] 文件名.zip
# -d    解压缩至目录,参数后接目录

命令示例:

代码语言:javascript复制
# 将目录内的文件生成压缩文件
zip -r test.zip /home/www/abc/

# 解压缩至当前目录
unzip test.zip

# 解压缩至指定目录
unzip -d /home/www/ test.zip

压缩解压命令 rar

rar 命令可以生成 / 解压 .rar 类型的压缩包

安装:

代码语言:javascript复制
yum install rar

命令格式:

代码语言:javascript复制
# 压缩
rar [参数] 文件名.rar 文件/目录名
# a 将文件添加到压缩文件

# 解压缩
rar [参数] 文件名.rar 目录名
# x 解压缩

命令示例:

代码语言:javascript复制
# 将目录内的文件生成压缩文件
rar a test.rar /home/www/abc/

# 解压缩至当前目录
rar x test.rar

# 解压缩至指定目录
rar x test.zip /home/www/

我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

0 人点赞