CentOS文件压缩与解压常用命令及用法
在CentOS系统中,文件压缩与解压是日常运维和文件管理的核心操作之一。以下是针对不同压缩格式的详细命令及注意事项,覆盖常见场景:
tar是CentOS中最核心的打包工具,可与gzip、bzip2、xz等压缩算法结合使用,生成.tar.gz(gzip压缩,高速度)、.tar.bz2(bzip2压缩,高压缩率)、.tar.xz(xz压缩,最高压缩率)等格式。
tar -czvf archive.tar.gz directory/ # 压缩为.tar.gz(gzip)
tar -cjvf archive.tar.bz2 directory/ # 压缩为.tar.bz2(bzip2)
tar -cJvf archive.tar.xz directory/ # 压缩为.tar.xz(xz)
参数说明:-c(创建归档)、-z/-j/-J(指定压缩算法)、-v(显示进度)、-f(指定文件名)。tar -cvf archive.tar directory/ # 生成.tar文件(未压缩)
gzip适用于快速压缩单个文件,压缩后原文件会被删除,生成.gz后缀文件。
gzip filename.txt # 生成filename.txt.gz
gunzip filename.txt.gz # 解压为filename.txt
bzip2比gzip压缩率更高,但速度较慢,适用于需要节省空间的场景,生成.bz2后缀文件。
bzip2 filename.txt # 生成filename.txt.bz2
bunzip2 filename.txt.bz2 # 解压为filename.txt
xz是CentOS中压缩率最高的工具,适合超大文件,生成.xz后缀文件,但压缩速度最慢。
xz filename.txt # 生成filename.txt.xz
unxz filename.txt.xz # 解压为filename.txt
zip格式兼容Windows、Mac等系统,是跨平台常用的压缩格式,生成.zip后缀文件。
sudo yum install -y zip unzip # CentOS 7及以下
sudo dnf install -y zip unzip # CentOS 8及以上
zip -r archive.zip directory/ # 递归压缩目录
zip archive.zip file1.txt file2.txt # 压缩多个文件
unzip archive.zip # 解压到当前目录
unzip -d /target/dir archive.zip # 解压到指定目录
rar格式在Windows中常见,CentOS默认未安装,需手动安装工具包。
sudo yum install -y epel-release # 启用EPEL仓库
sudo yum install -y unrar # 安装unrar
unrar x archive.rar # 解压并保持目录结构
unrar x archive.rar /target/dir # 解压到指定目录
解压命令需根据压缩格式选择,以下是常见格式的解压方法:
tar -xzvf archive.tar.gz
tar -xjvf archive.tar.bz2
tar -xJvf archive.tar.xz
unzip archive.zip
unrar x archive.rar
tar -xvf archive.tar
使用-C参数指定目标目录(适用于tar、unzip):
tar -xzvf archive.tar.gz -C /opt/backup # 解压到/opt/backup
unzip archive.zip -d /opt/documents # 解压到/opt/documents
tar -tvf archive.tar.gz # 查看.tar.gz内容
unzip -l archive.zip # 列出.zip内容
unrar l archive.rar # 列出.rar内容
tar -tvf archive.tar.gz # 测试.tar.gz完整性
unzip -t archive.zip # 测试.zip完整性
sudo(如sudo tar -xzvf archive.tar.gz -C /usr/local)。xz > bzip2 > gzip,但压缩速度相反(gzip最快,xz最慢)。zip格式;若需Linux系统解压,优先选择tar.gz格式。gzip/bzip2/xz压缩后会删除原文件,若需保留原文件,可使用-k参数(如gzip -k filename.txt)。通过以上命令,可满足CentOS系统中绝大多数文件压缩与解压需求。