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系统中绝大多数文件压缩与解压需求。