- 7z的压缩比很高,可以把100G的文件压到3-5G,在大文件传输上很有优势
- 但是一般服务器上是只有tar解压,用户没法(没有权限)直接安装7z工具来解压
- 因此使用conda安装p7zip库可以很好地解决这个问题~
关于7z的相关背景知识,可参考:一些关于上传数据-p7zip-full-压缩包的经验------深度学习·科研实践·从0到1-CSDN博客
Linux安装7zip
由于我们没有管理员权限,可通过conda解决
先conda activate 进到咱的环境里,执行:
bash
conda install -c conda-forge p7zip
看看效果:
bash
(base) schen744@mgmt-4:~/code/sparseocc/data/nuScenes-Occupancy$ conda activate sparseocc
(sparseocc) schen744@mgmt-4:~/code/sparseocc/data/nuScenes-Occupancy$ conda install -c conda-forge p7zip
Retrieving notices: ...working... done
Channels:
- conda-forge
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done
## Package Plan ##
environment location: /hpc2hdd/home/schen744/.conda/envs/sparseocc
added / updated specs:
- p7zip
The following packages will be downloaded:
package | build
---------------------------|-----------------
p7zip-16.02 | h9c3ff4c_1001 2.2 MB conda-forge
------------------------------------------------------------
Total: 2.2 MB
The following NEW packages will be INSTALLED:
p7zip conda-forge/linux-64::p7zip-16.02-h9c3ff4c_1001
Proceed ([y]/n)? y
Downloading and Extracting Packages:
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
(sparseocc) schen744@mgmt-4:~/code/sparseocc/data/nuScenes-Occupancy$
成功安装!
实用7zip解压命令
bash
7z x nuScenes-Occupancy-v0.1.7z # 解压到当前目录
或指定输出目录:
bash
7z x nuScenes-Occupancy-v0.1.7z -o./extracted_data # 解压到 ./extracted_data
其它解压命令:
bash
# 解压标准包
7z x archive.7z
# 解压加密包
7z x secret.7z -p'MySecurePassword'
# 合并分卷解压
7z x split_archive.7z.001
压缩(打包)相关的命令:
bash
7z a [压缩文件名] [要打包的目录路径]
a
:表示"添加"文件到压缩包 (archive)
示例:
bash
7z a archive.7z /path/to/directory
实用压缩命令
-
标准压缩(推荐):
bash7z a -t7z -mx=9 -m0=lzma2 archive.7z /path/to/directory
-
加密压缩(密码保护):
bash7z a -p'MySecurePassword' -mhe=on secret.7z /path/to/sensitive-data
-
分卷压缩(适合大文件传输):
bash7z a -v500m split_archive.7z /path/to/large_directory
将生成:
split_archive.7z.001
,split_archive.7z.002
等