在 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

相关推荐
黑翼杰克斯3 分钟前
如何裁剪u-boot,保留其必要功能,使体积尽可能小
linux·1024程序员节
fat house cat_27 分钟前
【netty】基于主从Reactor多线程模型|如何解决粘包拆包问题|零拷贝
java·服务器·网络·netty
wanhengidc29 分钟前
云手机和虚拟机的区别都有哪些?
运维·服务器·安全·智能手机·玩游戏
williamdsy36 分钟前
【Docker】[特殊字符] Docker 部署完全指南 - 从本地开发到云服务器
服务器·docker·开发部署流程
码农周1 小时前
从零搭建vsftpd服务器:避坑指南+实战解决方案
运维·服务器
jingshaoyou2 小时前
ubuntu 搭建SVN服务器
服务器·ubuntu·svn
cellurw3 小时前
Day69 SQLite3动态库移植 + BMP图像解析显示 + 进度条控件设计与动态文本管理
linux
nono牛3 小时前
Linux基础指令大全(快速上手)
linux·服务器·windows·智能手机
<但凡.3 小时前
Linux修炼:库制作与原理(一)
linux·运维·服务器
Maple_land4 小时前
编译器的“隐形约定”与本地变量:解锁Linux变量体系的关键密码
linux·运维·服务器·c++·centos