将大文件或目录打包、压缩并分割成制定大小的文件,这在将数据备份到容量有限的移动储存设备时是必须的,在Linux下可以通过组合使用tar,bzip2(或者gzip),split命令来实现。

假设要将下面这个文件压缩并分割成多个1.4M的文件

-r-xr-xr-x 1 root root 4.4M 2004-08-27 01:50 a.chm

可以用下面的命令:

tar -jcf - a.chm | split -b 1400k - a.chm.tar.bz2.

完成后会生产下面的文件:

-rw-r--r-- 1 root root 1433600 2004-08-27 01:55 a.chm.tar.bz2.aa

-rw-r--r-- 1 root root 1433600 2004-08-27 01:56 a.chm.tar.bz2.ab

-rw-r--r-- 1 root root 1433600 2004-08-27 01:56 a.chm.tar.bz2.ac

-rw-r--r-- 1 root root 225280 2004-08-27 01:56 a.chm.tar.bz2.ad

还原文件用下面的命令:

cat a.chm.tar.bz2.a* | tar -jx

为了让广大菜鸟了解上面的命令,现解释如下:

压缩命令"tar -jcf -"中的“-jcf"参数是创建(c)文件(f)并调用bzip2进行压缩(j),跟在f后面的" -"是将所创建的文件输出到标准输出上,在这里就是通过"|"管道输出给split命令进行文件分割;分割命令"split -b 1400k - a.chm.tar.bz2."中的"-b 1400k"是用来设置每个文件大小的,除了"k",还可以用"m"来作为单位,接着的" - "就是将"tar"命令通过管道传入的数据作为需要分割的数据来源,后面跟着的" a.chm.tar.bz2."就是文件名了。

这两个命令如果独立使用,可以将参数中独立的" - "换为具体的文件名,这样"tar"命令就可以将文件打包压缩成指定的文件,而"split"命令就可以分割指定的文件。

在"tar"命令中,大家也可以用"z"代替"j"参,这样tar就会调用gzip进行压缩,而不是bzip2,当然,如果你用了"z"参数,记得将输出的文件名中的"bz2"改为"gz",这样在解压的时候就可以分辨出需要用那个参数进行解压。

用split命令生产的文件序列除了字母还可以使用" -d "参数指定为数字的形式,同时还可以通过" -a x"来设定序列的长度(默认值是2),例如命令:

split -b 1400k -d -a 1 - a.chm.tar.bz2.

就可以产生如下命名规则的文件:

-rw-r--r-- 1 root root 1.4M 2004-08-28 01:01 a.chm.tar.bz2.0

-rw-r--r-- 1 root root 1.4M 2004-08-28 01:02 a.chm.tar.bz2.1

-rw-r--r-- 1 root root 1.4M 2004-08-28 01:02 a.chm.tar.bz2.2

-rw-r--r-- 1 root root 220K 2004-08-28 01:02 a.chm.tar.bz2.3

如果大家想更全面地了解这些命令,可以通过"man命令"来查阅他们的手册。

linux打包压缩文件并命名,linux下如何将文件打包、压缩并分割成制定大小相关推荐

  1. 如何将文件打包、压缩并分割成制定大小?

    如何将文件打包.压缩并分割成制定大小? (如何在linux下实现Windows中winrar和winzip等压缩软件所提供的打包压缩分割功能) 将大文件或目录打包.压缩并分割成制定大小的文件,这在将数 ...

  2. Linux下将文件打包、压缩并分割成指定大小

    1.普通tar压缩命令 tar -zcvf cm-11.tar.gz cm-11 //将cm-11文件夹压缩成cm-11.tar.gz 2.压缩后的文件太大,需要将cm-11.tar.gz分割成N个指 ...

  3. Linux tar命令总结:Linux下对文件进行打包、压缩并分割成指定大小

    1.普通tar压缩命令 tar -zcvf andywang.tar.gz andywang //将andywang文件夹压缩成andywang.tar.gz 2.压缩后的文件太大,需要将andywa ...

  4. linux中如何压缩单个文件大小,Linux 将文件打包、压缩并分割成指定大小

    打包文件: tar -cvf .tar 分割文件: split -b 3G -d -a .tar .tar. //使用split命令,-b 3G 表示设置每个分割包的大小,单位还是可以k // -d ...

  5. linux下复制文件并重命名,Linux 批量复制并重命名 和 批量复制文件到多个文件夹...

    先说linux下批量复制并重命名,其实就是个for循环 以txt文件为例 命令行打入(F为变量名,可任意) for F in *.txt ; do cp $F ${F%.txt}_1.txt;done ...

  6. linux中如何复制文件并重命名_linux 下文件重命名/移动/复制命令(转)

    linux下重命名文件:使用mv命令就可以了, 例:要把名为:abc   重命名为:123 可以这样操作: 重命名:MV命令 1.进入你的文件目录,运行命令:   /cd  dir  (dir指的是你 ...

  7. linux将文件下载到本地windows,XSHELL下直接下载文件到本地(Windows)

    xshell很好用,然后有时候想在windows和linux上传或下载某个文件,其实有个很简单的方法就是rz,sz 首先你的Ubuntu需要安装rz.sz(如果没有安装请执行以下命令,安装完的请跳过. ...

  8. linux误删表空间文件,UNDO表空间下的数据文件被误删除后的处理方法

    UNDO表空间下的数据文件被误删除后的处理方法: 操作前备份数据库,以避免更大的损失. 思路: 1.把误删除的数据文件offline 2.正常打开数据库后创建新的UNDO表空间及数据文件 3.修改相应 ...

  9. linux删除目录tmpab是什么意思_linux 下tmp目录文件怎么被删除的?

    tmp目录下文件什么时候会删除? 写这篇文章是我要重启长时间运行的hadoop集群的时候,关闭不了相应的服务.查看shell脚本看到,要找到服务的pid文件,才能重启,一般情况下pid文件都会存储在t ...

最新文章

  1. 【Smart_Point】C/C++ 中共享指针 shared_ptr
  2. 重要性采样原理及实现
  3. mysql tags_mysql tags table解决方法
  4. Win2003环境下简单的安全配置
  5. python不能安装pip_python – 无法安装pip:权限被拒绝错误
  6. lua cURL使用笔记
  7. 【微信小程序】带你做一个公众号留言系统(附源码)
  8. PHP开发人员常犯的10个MysqL错误
  9. MySQL:MySQL基础(一)
  10. 三星Galaxy S22系列发布会准确时间曝光:2月9日正式揭晓
  11. 一个老程序员“伯伯”的独白
  12. eclipse及tomcat设置编码
  13. img里的align属性能保证图文的混排效果以及vspace和hspace
  14. ubuntu 串口调试助手
  15. 华硕fl8000u主板怎么拆_华硕顽石4笔记本 FL5900U如何打开后盖
  16. 云渲染和渲染农场的区别,什么是真正的云渲染
  17. 26学习渗透测试工具 Metasploit 的基本用法,包括漏洞扫描、攻击模块
  18. 新浪微博网页版打开异常解决方案
  19. svg怎么转换成png格式?
  20. 黑苹果cpu架构三个问号_苹果三位芯片大神讲述M1背后的故事

热门文章

  1. Web 爬虫现已合法?
  2. 疫情防控,开发者集结出战!
  3. 你的 App 在 iOS 13 上被卡死了吗?
  4. 20行 Python 代码爬取王者荣耀全英雄皮肤 | 原力计划
  5. Java String 对象,你真的了解了吗?| CSDN 博文精选
  6. 漫画面向对象编程,用漫画给你讲技术!
  7. 董明珠:格力绝不裁员;腾讯缺席首批游戏版号;iPhone XS Max 口袋自燃 | 极客头条...
  8. 马化腾入选《财富》领袖50强;微博出海布局AI;Android手机爆发病毒 | 一周业界事...
  9. html显示作者信息,HTML基础 meta name author 添加网页作者的信息
  10. 帮你深度探寻Spring循环依赖源码实现!面经解析