Chinaunix首页 | 论坛 | 博客
  • 博客访问: 78011
  • 博文数量: 66
  • 博客积分: 2546
  • 博客等级: 少校
  • 技术积分: 740
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-27 10:35
文章存档

2011年(1)

2010年(1)

2009年(64)

我的朋友

分类:

2009-10-27 10:52:35

在实际工作中,经常需要把一些大文件进行拆分,或者把拆分过的文件进行合并。比如有一个2GB的归档文件,要刻录在光盘里作备份。普通CD光盘的容量约650MB左右,这就需要将文件分割成数个小文件,日后使用时再将其合并。下面就以Fedora Core 2.0为例,介绍两种方法。

split命令

1.切割文件

把大文件file切割成大小为650MB的几个小文件,命令如下:

#split -b 650m file filebak_


“-b”参数后面跟每一输出档案的大小,其默认单位为byte。也可加入单位,b代表512byte,k代表1KB,m代表1MB。“filebak_”是定义分割后的文件名前缀。命令执行完后,用“ls”看看效果。

# ls -lh

total 4.0G

drwxr-xr-x 2 root root 200 Jul 3 00:50 .

drwx------ 12 root root 624 Jul 3 00:51 ..

-rw-r--r-- 1 root root 2.0G Jul 3 00:35 file

-rw-r--r-- 1 root root 650M Jul 3 00:49 filebak_aa

-rw-r--r-- 1 root root 650M Jul 3 00:50 filebak_ab

-rw-r--r-- 1 root root 650M Jul 3 00:50 filebak_ac

-rw-r--r-- 1 root root 50M Jul 3 00:50 filebak_ad


系统会自动计算出切割文件的数量,例子中共分成了4个小文件。

2.合并

合并的操作如下:

#cat filebak_a* > ./file


knife工具

1.分割

#./knife -c file 681574400


681574400是分割文件的大小,单位为bit,相当于650MB。

命令执行完后,可用“ls”察看效果。

# ls -l 

total 4100028

drwxr-xr-x 2 root root 272 Jul 3 01:21 .

drwxr-xr-x 3 root root 104 Jul 3 01:13 ..

-rw-r--r-- 1 root root 2097152000 Jul 3 00:35 file

-rw-r--r-- 1 root root 681574400 Jul 3 01:18 file.k00

-rw-r--r-- 1 root root 681574400 Jul 3 01:19 file.k01

-rw-r--r-- 1 root root 681574400 Jul 3 01:21 file.k02

-rw-r--r-- 1 root root 52428800 Jul 3 01:21 file.k03

-rwxr-xr-x 1 root root 12949 Feb 28 2000 knife


2.合并

合并的命令如下:

#./link file file.k00 file.k01 file.k02 file.k03


则会出现如下提示:

Please intput the file name you want to LINK up, one by one. 



Just input OK when you have finished inputting. In this order:


检查一下要合并的文件,输入完全正确再回车。

Now it's time you type the name of the output file. 

→file


确认合并后的文件名是否为“file”,如果是则回车。

小结

上面两种方法相比较,本人推荐用split。split是系统自带的软件,安全性和稳定性都比knife高,对大文件的切割速度也快,而且能根据指定切割容量,自动算出切割文件的个数。knife是第三方的软件,切割大文件需要花费较长的时间。
阅读(451) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~