将大文件或目录打包、压缩
并分割
成制定大小的文件,这在将数据备份
到容量有限的移动储存设备时是必须的,在
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
命令
"
来查阅他们的手册。
分享到:
相关推荐
要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令: tar cjf - logs/ |split -b 1m - logs.tar.bz2. 完成后会产生下列文件: -rw-r--r-- 1 httpd nobody 1048576 Oct 5 15:37 logs.tar.bz2.aa -rw-r--r-...
要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令: tar cjf - logs/ |split -b 1m - logs.tar.bz2. 完成后会产生下列文件: -rw-r--r-- 1 httpd nobody 1048576 Oct 5 15:37 logs.tar.bz2.aa -rw-r--r-...
1.69 tar指令:打包同时压缩/解压缩文件 1.70 tee 指令:从标准输入读取数据到标准输出,同时保存为文件 1.71 tftp指令:传输文件 1.72 tmpwatch指令:删除临时文件 1.73 touch指令:更改文件/目录时间 1.74 umask...
※3.tar (打包文件或目录) 40 ※12.设备挂载mount 40 ※1.制作ISO文件 40 ※2.挂接移动硬盘 41 ※3.挂接U盘 42 五、文件安全与权限 42 ※1.文件安全策略 42 ※2.文件权限位 42 ※3.文件类型 43 ※4.改变权限chmod ...
它可以压缩文件并解压缩它们。 就是这样。 尽管还编写了其他一些实用程序函数,但是它们是GNU Tar提供的很小的子集。 一切都是基于Wikipedia和GNU Tar的观察结果编写的。 由于使用了大量的POSIX头文件,因此这仅...
其实暴风影音就是Media Player Classic,暴风影音只是同我一样从Gabest官方下载到了Media Player Classic的源码,不同的是,暴风影音将Media Player Classic改成了自己的名字并加入了许多的解码器,打包成自己的产品,...
其实暴风影音就是Media Player Classic,暴风影音只是同我一样从Gabest官方下载到了Media Player Classic的源码,不同的是,暴风影音将Media Player Classic改成了自己的名字并加入了许多的解码器,打包成自己的产品,...
其实暴风影音就是Media Player Classic,暴风影音只是同我一样从Gabest官方下载到了Media Player Classic的源码,不同的是,暴风影音将Media Player Classic改成了自己的名字并加入了许多的解码器,打包成自己的产品,...
其实暴风影音就是Media Player Classic,暴风影音只是同我一样从Gabest官方下载到了Media Player Classic的源码,不同的是,暴风影音将Media Player Classic改成了自己的名字并加入了许多的解码器,打包成自己的产品,...
其实暴风影音就是Media Player Classic,暴风影音只是同我一样从Gabest官方下载到了Media Player Classic的源码,不同的是,暴风影音将Media Player Classic改成了自己的名字并加入了许多的解码器,打包成自己的产品,...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
全书压缩打包成2部分,这是第1部分。 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要的童鞋可自由匹配查找。 内容简介 《PHP开发实战1200例》分为...
全书压缩打包成2部分,这是第2部分。 注:本系列图书的第I、II卷再版时均相应改名为《xxx开发实例大全》(基础卷)及(提高卷),但内容基本无变化,需要的童鞋可自由匹配查找。 内容简介 《PHP开发实战1200例》分为...