Linux(CentOS)压缩与解压

前言

当我们要迁移大量的小文件的时候直接复制会非常慢,这时候我们会采取压缩包的方式。

Win => Linux(分卷)

Windows上文件太大 所以要分卷压缩,并在Linux上解压

这里提供两种方式,一种是使用tar,另一种是使用7z

  • 使用tar的时候解压的时候要先合并文件,再解压,好处是Linux上不用下载软件。
  • 7z的方式,可以直接解压,但是在Linux上需要先安装p7zip。

使用TAR(不推荐)

这种方式在解压前要进行合并,费时也占空间。

压缩

image-20250312144325409

会生成这样的文件

image-20250312144418516

上传到服务器上后

合并

合并的时候还是比较费时的

1
cat test.tar.* >> test.tar

解压

1
tar -xvf test.tar

解压后可以删除源文件

1
2
rm -rf test.tar.*
rm -rf test.tar

使用p7zip(推荐)

参看下文p7zip。

ZIP

压缩

1
2
yum install -y zip
zip -r ./aa.zip ./aa

解压缩

1
2
yum install -y unzip
unzip -o ./test.zip

分卷压缩

1
2
yum install -y zip
zip -r -s 100m ./test02.zip ./test02/

分卷解压缩

1
unzip test02.zip

TAR

解压tar.xz

这样的格式里层是tar打包方式 外面是xz压缩方式

所以解压可以分步进行

1
2
xz -d ***.tar.xz
tar -xvf ***.tar

也可以直接进行

1
tar -Jxvf ***.tar.xz

指定解压位置

1
2
mkdir -p /data/tools
tar -Jxvf ffmpeg-release-arm64-static.tar.xz -C /data/tools

参数解释:

  • tar:这是命令的主体,是用于操作归档文件的工具,能够创建、提取和管理归档文件,支持多种压缩格式。
  • -J:表示使用 XZ 压缩算法来解压文件。XZ 是一种高效的压缩算法,通常能提供比传统的 gzip 和 bzip2 更高的压缩比。
  • -x:用于解包或解压操作,告诉tar命令要从归档文件中提取文件。
  • -v:表示在解压过程中显示详细的信息,比如正在解压的文件名等,让用户了解解压的进度。
  • -f:用于指定要操作的归档文件名,后面紧跟要解压的文件名,在该命令中为ffmpeg-release-arm64-static.tar.xz。这是必需的参数,用于明确操作的对象。
  • -C /data/tools:指定解压文件的目标目录,即将归档文件中的内容解压到/data/tools目录下。如果该目录不存在,命令可能会执行失败,除非tar命令有相应的创建目录选项。

解压tar.gz

解压到当前文件夹

1
tar -zxvf ./libpng-1.5.15.tar.gz

指定解压位置

1
sudo tar zxvf bisheng-jdk-8u422-linux-aarch64.tar.gz -C /usr/local/jdk/

p7zip(推荐)

非常推荐这个工具,他是7-zip的Linux版本。

所以Windows上的压缩包,在Linux上都是可以解压的。

https://www.7-zip.org/

https://pkgs.org/download/p7zip

这里下载arm版本的

下载

1
https://dl.fedoraproject.org/pub/epel/8/Everything/aarch64/Packages/p/p7zip-16.02-31.el8.aarch64.rpm

安装

1
yum localinstall -y p7zip-16.02-31.el8.aarch64.rpm

压缩解压7Z

压缩

1
7za a test.7z ./test

查看文件内容

1
7za l test.7z

解压文件

1
7za x test.7z

分卷压缩解压7Z

分卷压缩

1
7za a -v10m test2.7z ./test

查看文件内容

1
7za l test2.7z.001

分卷解压

1
7za x test2.7z.001

解压或查看文件的时候只需要第一个文件就行。

压缩解压ZIP

压缩为zip

1
7za a -tzip test.zip ./test

查看文件内容

1
7za l test.zip

解压文件

1
7za x test.zip

分卷压缩解压ZIP

分卷压缩

1
7za a -tzip -v10m test2.zip ./test

查看文件内容

1
7za l test2.zip.001

分卷解压

1
7za x test2.zip.001

解压或查看文件的时候只需要第一个文件就行。