對於我們經常使用Unix操作系統的朋友來說,我們都知道Unix操作系統的SHELL功能強大,非可比,從上面使用的TAR、FTP已可管窺。同樣,Unix操作系統已經提供了文件切割功能,不需要費力氣去尋找第三方的文件切割程序。能完成這個功能的Unix操作系統命令就是DD。
Unix操作系統中,要切割的大文件為DGJD,共98336321字節,則:
其中IF(INPUT FILENAME)是要切割的大文件名,OF(OUTPUT FILENAME)是切割後的子文件名,BS是指明以多少字節作為一個切割記錄單位,COUNT是要切割的單位記錄數,SKIP是說明切割時的起點,單位同樣以BS設定值為准。
通過上述五條指令就將DGJD大文件切割成為4個2千萬字節、1個18336321字節的子文件。要注意的是SKIP的值不能錯。 由此也不難看出,Unix操作系統DD切割是“非損耗”式的切割,並且支持從任意位置開始的任意大小的切割。
要將生成的ZZ1、ZZ2、ZZ3、ZZ4四個子文件組裝為XDGJD,則:
其中SKIP參數改為SEEK參數,指明組裝的新大文件XDGJD每次的開始位置是從文件頭開始多少字節。如果缺省,則組裝從文件頭開始,顯然這不是我們每次都希望的, 所以需用SEEK參數明確指出開始位置。通過以上5個指令,即可將5個子文件重新組裝為一個大文件。
將Unix操作系統切割後生成的子文件重新用FTP傳送,結果有的能夠順利傳送, 有的仍然導致網絡癱瘓,不怕,繼續切割,切成每個一千萬字節,再傳,OK!成功傳送!
測試表明,每次傳送的文件最好小於12M字節,否則可能導致網絡。
另外,DD這個命令最初是為了進行編碼轉換而的,用於在大型機中將EBCDIC字符代碼轉換為ASCII代碼,但此功能已不常用,現在DD成了文件系統備份的,以及做一些類似文件切割的“另類業務”。
正所謂“有心栽花花不開,無心插柳柳成蔭”,不過對於用戶來說,重要的是軟件能否完成自己需要的功能,它的“本職工作”是什麼並不重要,“不管白貓黑貓,捉住老鼠就是好貓”!實用為本,軟件的生命力就在於實用。我們就簡單的介紹了Unix操作系統的文件切割方法。希望對大家有所幫助。