选择显示字体大小

unix中的文件切割

unix中的文件切割

前几日,为了将一台安装sco unix 5.0.5主机上的tar打包文件备份, 需要将其通过网络传送到另外一台配有磁带机的unix主机上。两台主机通过tx530网卡相连,用ftp传送的时候,前几个文件分别在10m、20m字节大小,都能够顺利传送。但其中有一个文件压缩后体积已达98m之巨,传送了几次,要么只能传40m, 要么只能传20m左右就导致网络崩溃,换画面ping对方主机,本应为零的速率延迟降为2400多毫秒,而且误码率极高,只有重新启动两台主机才能恢复网络通讯。

unix的shell功能强大,非windows可比,从上面使用的tar、ftp已可管窥。同样,unix已经提供了文件切割功能,不需要费力气去寻找第三方的文件切割程序。能完成这个功能的unix命令就是dd。

要切割的大文件为dgjd,共98336321字节,则:

dd if=dgjd of=zz1 bs=1 count=20000000
dd if=dgjd of=zz2 bs=1 count=20000000 skip=20000000
dd if=dgjd of=zz3 bs=1 count=20000000 skip=40000000
dd if=dgjd of=zz4 bs=1 count=20000000 skip=60000000
dd if=dgjd of=zz5 bs=1 count=18336321 skip=80000000

其中if(input filename)是要切割的大文件名,of(output filename)是切割后的子文件名,bs是指明以多少字节作为一个切割记录单位,count是要切割的单位记录数,skip是说明切割时的起点,单位同样以bs设定值为准。通过上述五条指令就将dgjd大文件切割成为4个2千万字节、1个18336321字节的子文件。要注意的是skip的值不能错。 由此也不难看出,dd切割是“非损耗”式的切割,并且支持从任意位置开始的任意大小的切割。

要将生成的zz1、zz2、zz3、zz4四个子文件组装为xdgjd,则:

dd if=zz1 of=xdgjd bs=1 count=20000000
dd if=zz2 of=xdgjd bs=1 count=20000000 seek=20000000
dd if=zz3 of=xdgjd bs=1 count=20000000 seek=40000000
dd if=zz4 of=xdgjd bs=1 count=20000000 seek=60000000
dd if=zz5 of=xdgjd bs=1 count=18336321 seek=80000000

其中skip参数改为seek参数,指明组装的新大文件xdgjd每次的开始位置是从文件头开始多少字节。如果缺省,则组装从文件头开始,显然这不是我们每次都希望的, 所以需用seek参数明确指出开始位置。通过以上5个指令,即可将5个子文件重新组装为一个大文件。

将切割后生成的子文件重新用ftp传送,结果有的能够顺利传送, 有的仍然导致网络瘫痪,不怕,继续切割,切成每个一千万字节,再传,ok!成功传送!

测试表明,每次传送的文件最好小于12m字节,否则可能导致网络故障。另外,dd这个命令最初是为了进行编码转换而设计的,用于在大型机中将ebcdic字符代码转换为ascii代码,但此功能已不常用,现在dd成了文件系统备份的工具,以及做一些类似文件切割的“另类业务”,正所谓“有心栽花花不开,无心插柳柳成荫”,不过对于用户来说,重要的是软件能否完成自己需要的功能,它的“本职工作”是什么并不重要,“不管白猫黑猫,捉住老鼠就是好猫”!实用为本,软件的生命力就在于实用。

  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons