在 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

相关推荐
zzzzzz3105 小时前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode5 小时前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户03284722207021 小时前
如何搭建本地yum源(上)
运维
A小辣椒2 天前
TShark:Wireshark CLI 功能
linux
A小辣椒2 天前
TShark:基础知识
linux
AlfredZhao2 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao3 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334663 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪3 天前
linux 拷贝文件或目录到指定的位置
linux
大树884 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai