[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 系統管理 > 其它 > 正文
UNIX/XENIX系統下軟盤文件的存取
本文出自: 作者: 劉輝 (2001-07-05 21:04:01)

  使用UNIX/XENIX操作系統的微機都毫無例外地使用硬盤,而且硬盤的容量還相當大,一般為 540M 以上。但是由許多人共用一個系統,隨著時間的推移,可用的磁盤空間總是越來越小。對系統管理員來說,需要定期更新長時間不用的文件,對每個普通用戶來說,需要經常把自己目錄下的有用文件及時保存在軟盤上,因此在UNIX/XENIX系統下使用軟盤的必要性比起DOS系統來是有過之而無不及。但是在UNIX/XENIX系統下軟盤的使用方法與DOS系統下完全不同,也比較復雜。這裡介紹一些軟盤使用的基本方法。
  在UNIX/XENIX系統下存儲磁盤文件,有兩種基本的格式:塊格式和字符格式。塊格式即文件系統格式,使用時需用mount命令將其作為文件系統安裝在UNIX/XENIX根文件系統下的安裝目錄上。這個安裝目錄就可以像根系統下的其它子目錄一樣使用,使用安裝目錄就是使用軟盤,可以用隨機存取方法存取數據文件。字符格式即通常說的tar格式,是將軟盤作為一個特別文件使用,採取順序存取的方法,按塊復制的方法進行磁盤文件的存取。
  但是不管用哪種方法使用軟盤,首先都必須進行軟盤格式化,這是可以由任何一個普通用戶在任何時刻執行的。新的軟盤在使用之前必須格式化。

一、 軟盤格式化

  命令格式為:format 〈特別文件名〉
  其中特別文件名用指定使用哪個軟盤驅動器,對哪種形式的軟盤進行格式化。例如在通常的486微機(例如ACER-486-66)上,一般A驅動器為3寸,B驅動器為5寸。在A驅上格式化3寸1.44M軟盤需要打入命令:
  # format /dev/rfd0135 則屏幕顯示:
  Insert floppy in drive;hit return when ready
  formatting /dev/rfd0135
  track 79 head 1
  done (格式化完畢)
  同樣在B驅格式化5寸1.2M軟盤可打入命令:
  # format /dev/rfd196
  輸入格式化命令時,一定要指定軟盤為字符I/O型設備文件,即在“fd”前加一個字母“r”成為“rfd”。“rfd”表示原始設備,否則格式化不能進行,顯示如下:
  #format /dev/fd0135
  #format /dev/fd0135 not a formattable device
  (/dev/fd0135不是可格式化的設備)
  軟盤格式化以,就可以在UNLX/XENIX系統下用隨機存取或順序存取的方法進行使用。當OS格式軟盤文件的命令操作,如UNIX/XENIX系統下的 dosdir, doscat,doscp等命令。

二、 軟盤文件的隨機存取

  如果想在UNIX/XENIX系統下用隨機存取方法使用軟盤,必須使用mkfs命令建立文件系統(格式)的軟盤,命令格式為:
  #mkfs 〈特別文件名〉 〈總塊數〉
  例如在A驅3寸1.44M軟盤上建立文件系統格式,則打入命令:
  # mkfs /dev/fd0135 1440 <CR> 則顯示:
  lsize=352  (共有352個i結點)
  m/n=1 18 (主設備號為1,次設備號為18)
  在B驅5寸1.2M軟盤上建立文件系統格式則為:
  # mkfs /dev/fd196 1200 <CR> 則顯示:
  lsize=288 (共有288個i結點)
  m/n=3 500 (主設備號為3,次設備號為500)
  軟盤在建立文件系統格式以,就可以由mount 命令將其作為文件系統進行安裝,安裝在UNIX/XENIX根文件系統的安裝目錄上(/mnt),命令格式為:
  #/etc/mount〈特別文件名〉〈安裝目錄名〉 -r
  mount命令的作用是將指定的特別文件安裝到系統的指定目錄上,-r參數用限定安裝的文件系統是只讀的。
  例如,我們將文件系統格式的3寸軟盤使用A驅安裝在系統的/mnt上,則打入命令:
  #/etc/mount /dev/fd0135ds18 /mnt
  當然,我們不能安裝一個不是文件系統格式的軟盤,如tar格式軟盤,否則安裝失敗,並顯示:
  mount:bad super block
  mount:error 0
  具有文件系統格式的軟盤一旦安裝好,其安裝目錄(/mnt)就可以像根文件系統的其它子目錄一樣使用。對/mnt的操作即是對軟盤的操作,我們可以使用隨機存取方法的命令存取軟盤文件。例如:
  1用命令CP復制一個或多個文件
  # cd /
  # cp boot profile /mnt
  (復制根目錄下兩個文件boot和 profile到/mnt)
  2用copy命令復制目錄文件
  # copy -ro /X1 /mnt
  (復制目錄/X1下文件及子目錄到/mnt)
  其中:-r參數表明對源目錄/X1的子目錄也進行復制,否則只復制/X1中的所有文件。
  -o參數表明復制的文件保持源文件的所有者和用戶組。
  3使用cpio命令復制當前目錄全部文件
  # cd /x2
  # find -print |cpio -pdl /mnt
  (將當前目錄/X2下的所有文件復制/mnt)

三、 軟盤文件的順序存取

  如果想對軟盤文件進行順序存取,其格式一定是tar格式,即原來用tar命令存取的盤或用dd命令按記錄復制的tar格式軟盤。這種tar格式的軟盤可以使用tar命令和dd命令進行順序存取方式的存取。
  1用dd命令進行軟盤(全盤)復制
  我們通過把輸入文件指定為與某個驅動器所對應的特別文件,把輸出文件指定為與另一個驅動器所對應的特別文件,使用dd命令復制軟盤。dd命令是逐個記錄讀入輸入文件,然逐個記錄寫到輸出文件,其命令格式為:
  # dd if=〈輸入文件名〉 of=〈輸出文件名〉[其它選擇項]
  dd命令是按記錄(塊)讀入輸入文件,按記錄(塊)寫到輸出文件的。其它選擇項可定義輸入、輸出塊的大小,讀入信息和寫入信息時的起始位置。在進行軟盤復制時,由if或of選擇項指定的文件名可以是字符型I/O設備特別文件,也可以是塊型I/O設備特別文件。
  例如:在兩個驅動器都是1.2M的聯想386機上,UNIX/XENIX系統下可使用dd命令復制1.2M軟盤:
  # dd if=/dev/fd096ds15 of=/dev/fd196ds15
  在A驅為5寸、B驅為3寸的DELL 486-66機上,實現(tar格式)5寸盤到3寸盤的復制可打入命令:
  #dd if =/dev/fd096ds15 of=/dev/fd1135ds18
  2可使用tar命令列磁盤文件目錄和存取文件
  例1:顯示A驅中1.2M軟盤目錄:
  # tar tvf /dev/fd096
  其中參數t表示列出指定磁盤的文件目錄。
  例2:從A驅5寸軟盤讀入指定文件或全部文件到當前目錄(例如/x1)
  # cd /x1
  # taT xvf /dev/fd096
  其中x參數表示從磁盤上讀入指定的文件或目錄。
  例3:從當前目錄把全部文件寫入軟盤(B驅3寸軟盤):
  # tat cvf /dev/fd1135 *
  其中c參數表示建立一個新盤,從盤的起始位置開始寫入,tar 命令的寫入格式中可使用通配符。讀入格式中不能使用通配符。但是,在使用tar命令時不論是列磁盤文件目錄還是讀寫文件,都只能是對tar 格式的磁盤進行,即對原來用 tar命令存取的盤(用dd命令按記錄復制的tar格式軟盤或用tar命令讀寫的盤)進行操作,而不能對用mount 命令安裝的盤進行操作,否則就要顯示出錯:
  tar blocksize=20
  tar: directory checksum error (目錄檢查和錯)
  這就是說,用mount 命令安裝到系統上使用的軟盤不能用tar命令存取,前面已說明tar格式的軟盤不能用mount命令安裝到系統上使用。這就表明,兩種格式(mount命令安裝的文件系統格式和tar格式)的軟盤是不能混用的,是完全不兼容的。
  所以在UNIX/XENIX系統下使用軟盤,應首先區分其存儲文件的格式,文件系統格式的軟盤必須用mount命令安裝,安裝以可以使用各種隨機存取方式的命令進行存取。tar格式的軟盤文件,不能用mount命令安裝(用mount命令安裝則安裝失敗),可以使用dd命令按記錄全盤復制或使用tar命令進行順序存取方式的存取。□

劉輝(哈爾濱 150080 哈爾濱投資高等專科學校)


(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
 

★  樊強制作 歡迎分享  ★