全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 752|回复: 7

小白求问压缩命令

[复制链接]
发表于 2023-9-18 12:29:11 | 显示全部楼层 |阅读模式
vps有个文件夹有150来g,哪个压缩命令能分卷压缩最大50g,解压时又不需要合并分卷后再解压
来个大佬指点下,最好带命令,感谢
发表于 2023-9-18 14:32:49 | 显示全部楼层
你可以用 `tar` 结合 `gzip` 或 `bzip2` 等压缩工具进行压缩,利用 `split` 分卷,这样在解压时就不需要合并分卷。

假设你的文件夹名叫 `myfolder`,你可以如下操作:

1. 首先,你要使用 `tar` 将文件夹整个打包成一个 `.tar` 文件,加上 `z` 参数使用 `gzip` 进行压缩或 `j` 参数使用 `bzip2` 进行压缩:

```bash
tar -czf myfolder.tar.gz myfolder
```

或者

```bash
tar -cjf myfolder.tar.bz2 myfolder
```

2. 然后,我们会用到 `split` 命令,这个命令可以将文件分割成多个小文件。以下的命令将 `myfolder.tar.gz` 或 `myfolder.tar.bz2` 分割成多个大小为 50GB 的文件:

```bash
split -b 50G myfolder.tar.gz "myfolder.tar.gz.part"
```

或者

```bash
split -b 50G myfolder.tar.bz2 "myfolder.tar.bz2.part"
```

这将生成一系列的文件,如 `myfolder.tar.gz.partaa`、`myfolder.tar.gz.partab` 等。

在解压文件的时候,你可以直接通过 `cat` 命令和管道 `|` 将所有分割的文件合并并提供给 `tar` 解压,无需预先手动合并文件:

```bash
cat myfolder.tar.gz.part* | tar -zxv
```

或者

```bash
cat myfolder.tar.bz2.part* | tar -jxv
```

这将在当前目录下解压出你的文件。

在上述命令中,`tar` 的参数 `-zxv` (`-jxv` 对于 bzip2) 分别代表 `z` (`j`) - 使用 `gzip` (`bzip2`) 解压,`x` - 解包,`v` - 显示正在处理的文件名,`f` - 指定从文件读取或写入。

注意:这里使用的50GB大小的分卷,只是为了示例,实际使用中,应该根据实际需求和磁盘空间来决定每个分卷的大小。由于用的是`gzip`或`bzip2`进行压缩,所以压缩后的文件大小可能会小于原始大小,具体取决于数据的内容。

点评

感谢大佬  发表于 2023-9-18 14:59
发表于 2023-9-18 12:31:41 | 显示全部楼层
使用  7z 压缩怎么样  怎么分卷 可以问 gpt
发表于 2023-9-18 12:30:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2023-9-18 12:32:57 | 显示全部楼层
BackDoor 发表于 2023-9-18 12:30
解压都是自动的不需要合并。会自动找文件名。tar zip 都可以。

好的,我试下,zip印象中是cat后再解压
发表于 2023-9-18 14:29:44 | 显示全部楼层
如果你是希望备份,推荐你试试restic
发表于 2023-9-18 14:31:09 | 显示全部楼层
有任何简单的问题直接问ChatGPT就行了,问人多慢啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-3-1 06:03 , Processed in 0.064343 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表