Unix操作系統(tǒng)tar實用講解
目前,在我國金融界被廣泛地采用Unix操作系統(tǒng)以其強大的功能分時、多任務、多用戶、網(wǎng)絡互連、圖形接口等,倍受金融企業(yè)青睞。中國農(nóng)業(yè)銀行現(xiàn)應用的SCO Unix操作系統(tǒng) OPENSERVER50更是功能強勁。
各家銀行的儲蓄、會計、信用卡等計算機業(yè)務處理系統(tǒng)均運行在Unix操作系統(tǒng)平臺上。電子化的發(fā)展拓展了銀行的業(yè)務領域,提高了工作效率,加強了業(yè)務的準確性、保密性、安全性,樹立了銀行的社會形象,產(chǎn)生間接的經(jīng)濟效益。電子化銀行的發(fā)展對計算機數(shù)據(jù)的可靠性提出了更高的要求。
據(jù)筆者調查,在Unix操作系統(tǒng)上備份和恢復數(shù)據(jù)的控制程序決大多數(shù)是用tar命令實現(xiàn)的。tar命令具有使用簡單好學易用的特點。但筆者在使用tar命令的過程中,發(fā)現(xiàn)tar命令對于中國用戶具有一個嚴重的隱患:對文件名為漢字且較長的文件能夠歸檔打包,但不能解開該檔案包。
實際應用
本程序使用5個選項 -t -c -v -p -u,每次只能用一個參數(shù),每個參數(shù)對應一個功能。
例如:
mtar -v abc 既可修復上面提到的abc包打不開問題。
mtar -v /dev/fd0135ds18可修復tar格式3″軟盤。
mtar -c /dev/fd0135ds18可加密tar格式3″軟盤。
mtar -v /dev/fd0135ds18可解密tar格式3″軟盤。
mtar -t abc可詳細列出abc包中文件信息,sum_v=0表示文件屬性頭校驗正常,compress=[1]表示文件抽取時自動解壓縮。
本程序從編寫至今筆者進行了十四次改版,使該程序適合含任何文件類型的tar檔案包。并在SCO Unix操作系統(tǒng) 3242和SCO OPENSERVER 50下多次進行編譯和全面功能測試。現(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的實用例子就講解到這里,對tar的問題,我們就基本上講解完了。
【編輯推薦】