Unix操作系統(tǒng)tar實(shí)用講解
目前,在我國金融界被廣泛地采用Unix操作系統(tǒng)以其強(qiáng)大的功能分時(shí)、多任務(wù)、多用戶、網(wǎng)絡(luò)互連、圖形接口等,倍受金融企業(yè)青睞。中國農(nóng)業(yè)銀行現(xiàn)應(yīng)用的SCO Unix操作系統(tǒng) OPENSERVER50更是功能強(qiáng)勁。
各家銀行的儲蓄、會計(jì)、信用卡等計(jì)算機(jī)業(yè)務(wù)處理系統(tǒng)均運(yùn)行在Unix操作系統(tǒng)平臺上。電子化的發(fā)展拓展了銀行的業(yè)務(wù)領(lǐng)域,提高了工作效率,加強(qiáng)了業(yè)務(wù)的準(zhǔn)確性、保密性、安全性,樹立了銀行的社會形象,產(chǎn)生間接的經(jīng)濟(jì)效益。電子化銀行的發(fā)展對計(jì)算機(jī)數(shù)據(jù)的可靠性提出了更高的要求。
據(jù)筆者調(diào)查,在Unix操作系統(tǒng)上備份和恢復(fù)數(shù)據(jù)的控制程序決大多數(shù)是用tar命令實(shí)現(xiàn)的。tar命令具有使用簡單好學(xué)易用的特點(diǎn)。但筆者在使用tar命令的過程中,發(fā)現(xiàn)tar命令對于中國用戶具有一個嚴(yán)重的隱患:對文件名為漢字且較長的文件能夠歸檔打包,但不能解開該檔案包。
實(shí)際應(yīng)用
本程序使用5個選項(xiàng) -t -c -v -p -u,每次只能用一個參數(shù),每個參數(shù)對應(yīng)一個功能。
例如:
mtar -v abc 既可修復(fù)上面提到的abc包打不開問題。
mtar -v /dev/fd0135ds18可修復(fù)tar格式3″軟盤。
mtar -c /dev/fd0135ds18可加密tar格式3″軟盤。
mtar -v /dev/fd0135ds18可解密tar格式3″軟盤。
mtar -t abc可詳細(xì)列出abc包中文件信息,sum_v=0表示文件屬性頭校驗(yàn)正常,compress=[1]表示文件抽取時(shí)自動解壓縮。
本程序從編寫至今筆者進(jìn)行了十四次改版,使該程序適合含任何文件類型的tar檔案包。并在SCO Unix操作系統(tǒng) 3242和SCO OPENSERVER 50下多次進(jìn)行編譯和全面功能測試。現(xiàn)將該程序整理出來,敬請同行多加指教。源程序附后。
- Mtar.c內(nèi)容如下:
- #define TBLOCK 512
- #define NBLOCK 20
- #define NAMSIZ 100
- char dummy[TBLOCK]
- char name[NAMSIZ]
- char linkname[NAMSIZ]
- mainargc,argv
- FILE*fp
- printf″Usage:mtar-[c,v,t,p,u]tarfile\n″
- iffp=fopenargv[2],″r+″==NULL
- printf″Can not open the %s\n″,argv[2]
- iffreaddblock.dummy,TBLOCK,1,fp!=1
- printf″Can not read the%s !\n″,argv[2]
- fori=0i TBLOCKi++ sumsum=sum+dblock.dumm
- fori=0i NAMSIZi++{
- seekip=fseekfp,-TBLOCK,SEEK_CUR
我們對Unix操作系統(tǒng)中tar的實(shí)用例子就講解到這里,對tar的問題,我們就基本上講解完了。
【編輯推薦】