Linux循序漸進(15):磁碟管理(轉)

post0發表於2007-08-09
Linux循序漸進(15):磁碟管理(轉)[@more@]

  在Linux系統中,如何有效地對儲存空間加以使用和管理,是一項非常重要的技術。本章講述如何檢視系統中儲存空間的使用情況、如何進行檔案的轉儲、以及如何進行軟盤的格式化。

  磁碟空間管理

  系統軟體和應用軟體,都要以檔案的形式儲存在計算機的磁碟空間中。因此,應該隨時監視磁碟空間的使用情況。Linux系統提供了一組有關磁碟空間管理的命令。

  df命令

  功能:檢查檔案系統的磁碟空間佔用情況。可以利用該命令來獲取硬碟被佔用了多少空間,目前還剩下多少空間等資訊。

  語法:df [選項]

  說明:df命令可顯示所有檔案系統對i節點和磁碟塊的使用情況。

  該命令各個選項的含義如下:

  -a 顯示所有檔案系統的磁碟使用情況,包括0塊(block)的檔案系統,如/proc檔案系統。

  -k 以k位元組為單位顯示。

  -i 顯示i節點資訊,而不是磁碟塊。

  -t 顯示各指定型別的檔案系統的磁碟空間使用情況。

  -x 列出不是某一指定型別檔案系統的磁碟空間使用情況(與t選項相反)。

  -T 顯示檔案系統型別。

  例1:列出各檔案系統的磁碟空間使用情況。

  $ df

  Filesystem 1 K-blocks Used Available Use% Mounted on

  /dev/hda2 1361587 1246406 44823 97% /

  df命令的輸出清單的第1列是代表檔案系統對應的裝置檔案的路徑名(一般是硬碟上的分割槽);第2列給出分割槽包含的資料塊(1024位元組)的數目;第 3,4列分別表示已用的和可用的資料塊數目。使用者也許會感到奇怪的是,第3,4列塊數之和不等於第2列中的塊數。這是因為預設的每個分割槽都留了少量空間供系統管理員使用。即使遇到普通使用者空間已滿的情況,管理員仍能登入和留有解決問題所需的工作空間。清單中Use% 列表示普通使用者空間使用的百分比,即使這一數字達到100%,分割槽仍然留有系統管理員使用的空間。最後,Mounted on列表示檔案系統的安裝點。

  例2:列出各檔案系統的i節點使用情況。

  $ df -ia

  Filesystem Inodes IUsed IFree Iused% Mounted on

  /dev/ hda2 352256 75043 277213 21% /

  none 0 0 0 0% /proc

  localhost:(pid221) 0 0 0 0% /net

  例3:列出檔案系統的型別。

  $ df -T

  Filesystem Type 1K-blocks Used Available use% Mounted on

  /dev/hda2 ext2 1361587 1246405 44824 97% /

  本例中的檔案系統是ext2型別的。

  du命令

  du的英文原義為“disk usage”,含義為顯示磁碟空間的使用情況。

  功能:統計目錄(或檔案)所佔磁碟空間的大小。

  語法:du [選項] [Names…]

  說明:該命令逐級進入指定目錄的每一個子目錄並顯示該目錄佔用檔案系統資料塊(1024位元組)的情況。若沒有給出Names,則對當前目錄進行統計。

  該命令的各個選項含義如下:

  -s 對每個Names引數只給出佔用的資料塊總數。

  -a 遞迴地顯示指定目錄中各檔案及子孫目錄中各檔案佔用的資料塊數。若既不指定-s,也不指定-a,則只顯示Names中的每一個目錄及其中的各子目錄所佔的磁碟塊數。

  -b 以位元組為單位列出磁碟空間使用情況(系統預設以k位元組為單位)。

  -k 以1024位元組為單位列出磁碟空間使用情況。

  -c 最後再加上一個總計(系統預設設定)。

  -l 計算所有的檔案大小,對硬連結檔案,則計算多次。

  -x 跳過在不同檔案系統上的目錄不予統計。

  下面舉例說明du命令的使用:

  例1:檢視/mnt目錄佔用磁碟空間的情況。 $ cd /mnt $ ls -lFR total 10 -rwxrwxrwx 2 root root ll0 Ju1 3l 00:33 aa*

  drwxr-xr-x 2 root root l024 Ju1 20 14:16 dev/

  -rw-r--r-- 1 root root 6229 Aug 2 0l:39 s1ack

  drwxrwxrwx 2 root root 1024 Aug 2 02:09 var/

  1rwxrwxrwx 1 root root l0 Aug 2 0l:51 wei->/home/wei/

  dev:

  tota1 0

  lrwxrwxrwx 1 root root 8 Ju1 20 l4:l6 cdrom->/dev/hdb

  var:

  tata1 37

  -r-xr-xr-x l root root 36064 Aug 2 02:09 rawrite. exe*

 

  例2:列出各目錄所佔的磁碟空間,但不詳細列出每個檔案所佔的空間。

  $ du

  l ./dev

  38 ./var

  48 .

  輸出清單中的第一列是以塊為單位計的磁碟空間容量,第二列列出目錄中使用這些空間的目錄名稱。

  注意不帶選項的du命令將從當前目錄開始沿著目錄結構向下工作直到列出所有目錄的容量為止。這可能是一個很長的清單,有時只需要一個總數。這時可在du命令中加-s選項來取得總數:

  $ du –s /mnt

  /mnt

  例3:列出所有檔案和目錄所佔的空間(使用a選項),而且以位元組為單位(使用b選項)來計算大小。

  $ du -ab

  8 ./dev/cdrom

  l032 ./dev

  36064 ./var/rawrite. exe

  37088 ./var

  6229 ./s1ack

  1l0 ./aa

  l0 ./wei

  45493 .

  磁 盤 操 作

  dd命令

  功能:把指定的輸入檔案複製到指定的輸出檔案中,並且在複製過程中可以進行格式轉換。可以用該命令實現DOS下的diskcopy命令的作用。先用 dd命令把軟盤上的資料寫成硬碟的一個寄存檔案,再把這個寄存檔案寫入第二張軟盤上,完成diskcopy的功能。需要注意的是,應該將硬碟上的寄存檔案用rm命令刪除掉。系統預設使用標準輸入檔案和標準輸出檔案。

  語法:dd [選項]

  if =輸入檔案(或裝置名稱)。

  of =輸出檔案(或裝置名稱)。

  ibs = bytes 一次讀取bytes位元組,即讀入緩衝區的位元組數。

  skip = blocks 跳過讀入緩衝區開頭的ibs*blocks塊。

  obs = bytes 一次寫入bytes位元組,即寫入緩衝區的位元組數。

  bs = bytes 同時設定讀/寫緩衝區的位元組數(等於設定ibs和obs)。

  cbs = byte 一次轉換bytes位元組。

  count=blocks 只複製輸入的blocks塊。

  conv = ASCII 把EBCDIC碼轉換為ASCIl碼。

  conv = ebcdic 把ASCIl碼轉換為EBCDIC碼。

  conv = ibm 把ASCIl碼轉換為alternate EBCDIC碼。

  conv = block 把變動位轉換成固定字元。

  conv = ublock 把固定位轉換成變動位。

  conv = ucase 把字母由小寫轉換為大寫。

  conv = lcase 把字母由大寫轉換為小寫。

  conv = notrunc 不截短輸出檔案。

  conv = swab 交換每一對輸入位元組。

  conv = noerror 出錯時不停止處理。

  conv = sync 把每個輸入記錄的大小都調到ibs的大小(用NUL填充)。

  例1:要把一張軟盤的內容複製到另一張軟盤上,利用/tmp作為臨時儲存區。把源盤插入驅動器中,輸入下述命令:

  $ dd if =/dev/fd0 of = /tmp/tmpfile

  複製完成後,將源盤從驅動器中取出,把目標盤插入,輸入命令:

  $ dd if = /tmp/tmpfile of =/dev/fd0

  軟盤複製完成後,應該將臨時檔案刪除:

  $ rm /tmp/tmpfile

  例2:把net.i這個檔案寫入軟盤中,並設定讀/寫緩衝區的數目。

  (注意:軟盤中的內容會被完全覆蓋掉)

  $ dd if = net.i of = /dev/fd0 bs = 16384

  例3:將檔案sfile複製到檔案 dfile中。

  $ dd if=sfile of=dfile

  fdformat 命令

  軟盤是使用者常用的儲存介質之一。軟盤在使用之前必須先作格式化操作,然後可以用tar、dd、cpio等命令儲存資料,也可以在軟盤上建立可安裝的檔案系統。

  功能:低階格式化軟盤

  語法:format [-n] device

  說明:該命令的作用是對軟盤進行格式化。

  -n 軟盤格式化後不作檢驗。

  device 指定要進行格式化的裝置,通常是下述裝置之一:

  /dev/fd0d360

  /dev/fd0h1200

  /dev/fd0D360

  /dev/fd0H360

  /dev/fd0D720

  /dev/fd0H720

  /dev/fd0h360

  /dev/fd0h720

  /dev/fd0H1440

  思 考 題

  1. 顯示出你的系統磁碟空間使用情況。

  2. 顯示出你的當前目錄下所有檔案所佔的空間。

  3. 請格式化一張軟盤,並把text這個檔案寫入軟盤

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-938935/,如需轉載,請註明出處,否則將追究法律責任。

相關文章