红联Linux门户
Linux帮助

经验技巧秀:如何拆分、合并大型文件

发布时间:2005-09-29 00:46:11来源:红联作者:wide
在实际工作中,经常需要把一些大文件进行拆分,或者把拆分过的文件进行合并。比如有一个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
文章评论

共有 2 条评论

  1. aini 于 2005-09-29 11:02:43发表:

    感谢分享

  2. wide 于 2005-09-29 00:47:13发表:

    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是第三方的软件,切割大文件需要花费较长的时间。