在 Linux 服务器上无需 sudo 权限解压/打包 .7z 的方法(实用命令)

  • 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

实用压缩命令

  1. 标准压缩(推荐):

    bash 复制代码
    7z a -t7z -mx=9 -m0=lzma2 archive.7z /path/to/directory
    复制代码
  2. 加密压缩(密码保护):

    bash 复制代码
    7z a -p'MySecurePassword' -mhe=on secret.7z /path/to/sensitive-data
    复制代码
  3. 分卷压缩(适合大文件传输):

    bash 复制代码
    7z a -v500m split_archive.7z /path/to/large_directory
    复制代码

    将生成:split_archive.7z.001, split_archive.7z.002

相关推荐
YuMiao1 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒2 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号3 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash3 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行4 天前
Linux和window共享文件夹
linux
Sinclair4 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器