tar split命令
转自:http://www.cnblogs.com/xiaouisme/archive/2011/05/25/2057435.html
tar是文件打包工具,split是文件分割工具,在邮件中发送附件的时候,可能因为附件大小限制,需要压缩并分割,分几封邮件发送。如果需要备份很多资料的时候,打包后的单个文件可能超出文件系统支持的单个文件大小限制的时候,也需要分割成适合大小的文件包。刚好今天又要备份skype文件夹,所以就用这个实例来说明一下tar和split这两个指令,如何压缩、分割,再通过cat合并分割的文件解压还原,以及在管道”|”配合下的打包分割文件过程。
例如:我的.skype文件已经有35M之多了,现在需要压缩备份起来,直接用tar打包:
用tar压缩文件:
[marco.chan@linuxhobby backup]$ ls
skype_backup
[marco.chan@linuxhobby backup]$ tar -czvp -f skype_backup.tar.gz skype_backup
中间的打包压缩输出过程省略…
skype_backup/marco.chan.skype/chat512.dbb
skype_backup/marco.chan.skype/user4096.dbb
skype_backup/marco.chan.skype/chatmsg256.dbb
skype_backup/shared.xml
skype_backup/shared.lck
[marco.chan@linuxhobby backup]$ ls
skype_backup.tar.gz skype_backup
因为用了“-v”参数,所以中间会输出打包压缩的文件信息。
-c (create)当然是建立一个打包文件。
-z (gzip)调用gzip进行压缩,建议后缀名为*.tar.gz;也可以用-j(bzip2),建议后缀名为*.tar.bz2。
-p (preserve-permissions)小写的p,保持原先的文件属性,也就是rwx属性。
-f (file)输出的目标文件“skype_backup.tar.gz” 将要被处理的源文件“skype_backup”,可以将-f连写,但是为了容易记忆和区分,所以这里分开写了。
打包后的skype_backup.tar.gz还有15M大小,但是我的邮件附件就支持6M大小,所以还得分割。
splite分割文件:
[marco.chan@linuxhobby backup]$ split -b 4000k skype_backup.tar.gz skype_backup_20090626.tar.gz. –verbose
creating file `skype_backup_20090626.tar.gz.aa’
creating file `skype_backup_20090626.tar.gz.ab’
creating file `skype_backup_20090626.tar.gz.ac’
creating file `skype_backup_20090626.tar.gz.ad’
[marco.chan@linuxhobby backup]$ ls
skype_backup skype_backup_20090626.tar.gz.ac
skype_backup_20090626.tar.gz.aa skype_backup_20090626.tar.gz.ad
skype_backup_20090626.tar_20090626.gz.ab skype_backup.tar.gz
-b 指定分割大小,例如k,m等单位。
–verbose 输出分割文件信息,可选。
skype_backup.tar.gz 被分割的文件。
skype_backup_20090626.tar.gz. 分割后的文件名(注意gz后面的”.”),如果不指定的话,默认是xaa,xab,xac。
现在通过tar,split,已经将skype_backup目录文件打包、分割为每个最大为4M大小的压缩包了。
以上是分步执行,如果用管道”|”,将tar,split写成一个执行语句:
使用管道“|”合并两个指令:
[marco.chan@linuxhobby backup]$ tar -czvp -f – skype_backup |split -b 4000k – skype_backup_20090626.tar.gz. –verbose
[marco.chan@linuxhobby backup]$ ls
skype_backup
skype_backup_20090626.tar.gz.aa
skype_backup_20090626.tar.gz.ab
skype_backup_20090626.tar.gz.ac
skype_backup_20090626.tar.gz.ad
注意一下指令中的两个“-”,如果分开执行,就不用”-”。为什么有这个”-”?
man tar
-f, –file [HOSTNAME:]F
Use archive file or device F (default “-”, meaning stdin/stdout). Note that “/dev/stdout” is not equivalent to “-”.Using “/dev/stdout” explicitly can lead to corrupted archive, especially when coupled with “-v”.
如何解压分割文件?
把文件分割了几个包,当然也要能合并解压了,合并文件当然用cat了,cat不仅仅是用来处理合并文本文件的,也可以用来合并压缩文件。
cat合并分割的文件:
[marco.chan@linuxhobby backup]$ cat skype_backup_20090626.tar.gz.a* >skype_backup_cat.tar.gz
将之前分割的压缩包合并成skype_backup_cat.tar.gz,然后可以通过tar -zxvf来解压skype_backup_cat.tar.gz,通过管道”|”可写成:
使用管道“|”合并两个指令:
[marco.chan@linuxhobby backup]$ cat skype_backup_20090626.tar.gz.a* |tar -zxv
关于更多的tar、split、cat指令应用,建议通过man查询。
tar split命令的更多相关文章
- tar split cat 创建、合并分卷压缩包
最近用微盘传文件遇到的问题,超过100M不能一次传啊,想想win下有rar和zip创建分卷压缩包很简单,就像linux的tar打包器应该也可以吧,搜了下,要和split配合完成 具体命令如下:对文件: ...
- linux大文件分割 split命令
inux split 命令 功能说明:切割文件. 语 法:split [--help][--version][-][-b ][-C ][-l ][要切割的文件][输出文件名] 补充说明:split可将 ...
- tar 解压缩命令详解
今天对目录及其文件进行压缩:/usr/local/test# tar -cvf /usr/local/auto_bak/test.tar /usr/local/test 仅打包,不压缩 # tar - ...
- Linux tar打包命令
Linux tar打包命令: 范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar [root@linux ~]# tar -cvf /tmp/etc.tar /etc < ...
- Linux下的split 命令(将一个大文件根据行数平均分成若干个小文件)
将一个大文件分成若干个小文件方法 例如将一个BLM.txt文件分成前缀为 BLM_ 的1000个小文件,后缀为系数形式,且后缀为4位数字形式 先利用 wc -l BLM.txt 读出 BL ...
- 按行切割大文件(linux split 命令简版)
按行切割大文件(linux split 命令简版) #-*- coding:utf-8 -*- __author__ = 'KnowLifeDeath' ''' Linux上Split命令可以方便对大 ...
- Linux split命令详解
Linux split命令 Linux split命令用于将一个文件分割成数个.该指令将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件. 将输入内容拆分为固定大小的分片并输出到 ...
- linux笔记-tar 解压缩命令
tar 解压缩命令 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只 ...
- linux常用命令:split 命令
split是linux下常用的分割文件命令.Linux下文件分割可以通过split命令来实现,而用cat进行文件合并.而分割可以指定按行数分割和按大小分割两种模式. 1.命令格式: split [OP ...
随机推荐
- [Angularjs]ng-show和ng-hide
写在前面 上篇文章介绍了ng-select和ng-options指令的使用,这篇文章继续指令的学习,本篇文章讲学习ng-show和ng-hide指令. 系列文章 [Angularjs]ng-selec ...
- 第一部分 mongodb 基础篇
什么是NoSQL认识MongoDBMongDB的下载与安装MongoDB的体系结构常用命令(基本的增删改查)客户端GUI工具集合 一: 什么是NoSql1 NoSQL简介NoSQL是Not Only ...
- safeNet
把那4个dll丢到C:\Windows\SysWOW64里去重启IIS,再测试
- html5移动web开发笔记
width指定虚拟窗口的屏幕宽度大小. height指定虚拟窗口的屏幕高度大小. initial-scale 指定初始缩放比例. maximum-scale指定允许用户缩放的最大比例. minimum ...
- 使用ymPrompt弹框
使用弹框 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&q ...
- web安全防范
xss漏洞 原理:信任了用户输入或控制的字段(url),回显(jQuery.html)到页面.导致script代码执行 后果:可以在页面执行任何hack代码,比如死循环.发送cookie.钓鱼.页面显 ...
- 二分图最大匹配的König定理及其证明
二分图最大匹配的K?nig定理及其证明 本文将是这一系列里最短的一篇,因为我只打算把K?nig定理证了,其它的废话一概没有. 以下五个问题我可能会在以后的文章里说,如果你现在很想知道的话,网上 ...
- 微信稳居Android App排行榜4月份国内榜首
根据某机构通过对Android样本访问行为的持续监测数据进行样本属性加权并根据iOS/Android用户调研数据建模推总得出中国移动互联网用户规模以及相应的用户结构数据显示,2015年4月份国内And ...
- Centos6.5更新e1000网卡驱动
导读 在工作过程中经常遇到linux的操作系统网络不正常的情况,以前没有注意到,今天查看系统日志发现原来是网络驱动的问题.索性直接更新系统,更新网卡 问题:linux系统经常出现断网的情况,重启之后系 ...
- The Flash
flash.now[:error] = "" render :new flash[:error] = "" redirect videos_path http: ...