在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腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!