久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

UNIX中的文件切割

瀏覽:127日期:2024-06-25 15:08:12
Unix中的文件切割 前幾日,為了將一臺(tái)安裝SCO UNIX 5.0.5主機(jī)上的TAR打包文件備份, 需要將其通過網(wǎng)絡(luò)傳送到另外一臺(tái)配有磁帶機(jī)的UNIX主機(jī)上。兩臺(tái)主機(jī)通過TX530網(wǎng)卡相連,用FTP傳送的時(shí)候,前幾個(gè)文件分別在10M、20M字節(jié)大小,都能夠順利傳送。但其中有一個(gè)文件壓縮后體積已達(dá)98M之巨,傳送了幾次,要么只能傳40M, 要么只能傳20M左右就導(dǎo)致網(wǎng)絡(luò)崩潰,換畫面PING對(duì)方主機(jī),本應(yīng)為零的速率延遲降為2400多毫秒,而且誤碼率極高,只有重新啟動(dòng)兩臺(tái)主機(jī)才能恢復(fù)網(wǎng)絡(luò)通訊。

UNIX的SHELL功能強(qiáng)大,非Windows可比,從上面使用的TAR、FTP已可管窺。同樣,UNIX已經(jīng)提供了文件切割功能,不需要費(fèi)力氣去尋找第三方的文件切割程序。能完成這個(gè)功能的UNIX命令就是DD。

要切割的大文件為DGJD,共98336321字節(jié),則:

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是指明以多少字節(jié)作為一個(gè)切割記錄單位,COUNT是要切割的單位記錄數(shù),SKIP是說明切割時(shí)的起點(diǎn),單位同樣以BS設(shè)定值為準(zhǔn)。通過上述五條指令就將DGJD大文件切割成為4個(gè)2千萬字節(jié)、1個(gè)18336321字節(jié)的子文件。要注意的是SKIP的值不能錯(cuò)。 由此也不難看出,DD切割是“非損耗”式的切割,并且支持從任意位置開始的任意大小的切割。

要將生成的ZZ1、ZZ2、ZZ3、ZZ4四個(gè)子文件組裝為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參數(shù)改為SEEK參數(shù),指明組裝的新大文件XDGJD每次的開始位置是從文件頭開始多少字節(jié)。如果缺省,則組裝從文件頭開始,顯然這不是我們每次都希望的, 所以需用SEEK參數(shù)明確指出開始位置。通過以上5個(gè)指令,即可將5個(gè)子文件重新組裝為一個(gè)大文件。

將切割后生成的子文件重新用FTP傳送,結(jié)果有的能夠順利傳送, 有的仍然導(dǎo)致網(wǎng)絡(luò)癱瘓,不怕,繼續(xù)切割,切成每個(gè)一千萬字節(jié),再傳,OK!成功傳送!

測(cè)試表明,每次傳送的文件最好小于12M字節(jié),否則可能導(dǎo)致網(wǎng)絡(luò)故障。另外,DD這個(gè)命令最初是為了進(jìn)行編碼轉(zhuǎn)換而設(shè)計(jì)的,用于在大型機(jī)中將EBCDIC字符代碼轉(zhuǎn)換為ASCII代碼,但此功能已不常用,現(xiàn)在DD成了文件系統(tǒng)備份的工具,以及做一些類似文件切割的“另類業(yè)務(wù)”,正所謂“有心栽花花不開,無心插柳柳成蔭”,不過對(duì)于用戶來說,重要的是軟件能否完成自己需要的功能,它的“本職工作”是什么并不重要,“不管白貓黑貓,捉住老鼠就是好貓”!實(shí)用為本,軟件的生命力就在于實(shí)用。

標(biāo)簽: Unix系統(tǒng)
主站蜘蛛池模板: 孝昌县| 全椒县| 盐山县| 天津市| 吉首市| 白河县| 乌兰浩特市| 永川市| 丘北县| 叶城县| 阿拉善右旗| 巴林左旗| 台湾省| 喜德县| 崇阳县| 海淀区| 泸西县| 龙海市| 深州市| 成武县| 长武县| 兴化市| 贵港市| 呼图壁县| 枣阳市| 罗城| 房山区| 孝义市| 鸡泽县| 象山县| 太仓市| 万年县| 长岛县| 永嘉县| 东丰县| 花莲县| 南投市| 武鸣县| 平顶山市| 枣庄市| 斗六市|