上圖sda disk information中對 255 heads,63 sectors/track,1958 cylinders的解析:
sda磁盤總共有1958個cylinder(柱面),每個cylinder(柱面)有63個sectors(扇區),每個sectors(扇區)有255個heads(磁頭)
那么這塊sda的總的磁頭數量為:255*63*1958=31455270
因為一塊磁盤的空間大小計算方式為:這塊磁盤的總的磁頭數量(Heads)*512bytes(因為每個磁頭數量為512字節)
所以這塊磁盤的空間為31455270*512=16105098240=16.1G
fdisk /dev/sdb后,按m,再按l(list
MBR格式可分為4個主分區
GPT 格式可分為128個主分區
使用fdisk對磁盤進行分區,默認使用MBR格式,使用gdisk對磁盤進行分區,默認使用gpt格式,使用parted對磁盤分區,格式可為MBR,也可為gpt格式,若MBR與gpt格式進行轉換,則所有數據丟失
最后,Mounted on列表示文件系統的安裝點。
//列出各文件系統的i節點使用情況。 #df -ia Filesystem Inodes IUsed IFree IUse% Mounted on /dev/hda5 98392 23919 74473 25% / none 0 0 0 - /proc /dev/hda1 12048 38 12010 1% /boot none 0 0 0 - /dev/pts /dev/hda3 1275456 355008 920448 28% /home none 31843 1 31842 1% /dev/shm /dev/hda2 3489792 133637 3356155 4% /usr /dev/hda6 66264 9876 56388 15% /var //列出文件系統的類型。 #df -T Filesystem Type 1k-blocks Used Available Use% Mounted on /dev/hda5 ext3 381139 332921 28540 93% / /dev/hda1 ext3 46636 6871 37357 16% /boot /dev/hda3 ext3 10041144 6632528 2898556 70% /home none tmpfs 127372 0 127372 0% /dev/shm /dev/hda2 ext3 27474876 24130460 1948772 93% /usr /dev/hda6 ext3 256667 232729 10686 96% /var2
2. du
du的英文原義為“disk
usage”,含義為顯示磁盤空間的使用情況,統計目錄(或文件)所占磁盤空間的大小。該命令的功能是逐級進入指定目錄的每一個子目錄并顯示該目錄占用文件系統數據塊(1024字節)的情況。若沒有給出指定目錄,則對當前目錄進行統計。
df命令的各個選項含義如下:
-s:對每個Names參數只給出占用的數據塊總數。 -a:遞歸地顯示指定目錄中各文件及子目錄中各文件占用的數據塊數。若既不指定-s,也不指定-a,則只顯示Names中的每一個目錄及其中的各子目錄所占的磁盤塊數。 -b:以字節為單位列出磁盤空間使用情況(系統默認以k字節為單位)。 -k:以1024字節為單位列出磁盤空間使用情況。 -c:最后再加上一個總計(系統默認設置)。 -l:計算所有的文件大小,對硬鏈接文件,則計算多次。 -x:跳過在不同文件系統上的目錄不予統計。
下面舉例說明du命令的使用:
//查看/mnt目錄占用磁盤空間的情況 #du –abk /mnt 1 /mnt/cdrom 1 /mnt/floppy 3 /mnt //列出各目錄所占的磁盤空間,但不詳細列出每個文件所占的空間 #du 3684 ./log 84 ./libnids-1.17/doc 720 ./libnids-1.17/src 32 ./libnids-1.17/samples 1064 ./libnids-1.17 4944 .
輸出清單中的第1列是以塊為單位計的磁盤空間容量,第2列列出目錄中使用這些空間的目錄名稱。
◆這可能是一個很長的清單,有時只需要一個總數。這時可在du命令中加-s選項來取得總數:
#du –s /mnt 3 /mnt //列出所有文件和目錄所占的空間(使用a選項),并以字節為單位(使用b選項)來計算大小 #du –ab /root/mail 6144 mail/sent-mail 1024 mail/saved-messages 8192 mail
3、fdisk
fdisk可以劃分磁盤分區。下面給出使用Fdisk命令進行磁盤分區的操作步驟:
#fdisk /dev/had //使用/dev/had作為默認的分區設備 Command (m for help): m //選擇命令選項 Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)
用戶通過提示鍵入“m”,可以顯示Fdisk命令各個參數的說明。
Fdisk有很多參數,可是經常使用的只有幾個。
◆在Linux分區過程,一般是先通過p參數來顯示硬盤分區表信息,然后根據信息確定將來的分區。如下所示:
Disk /dev/sda: 4294 MB, 4294967296 bytes 255 heads, 63 sectors/track, 522 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 41 522 3871665 83 Linux /dev/hda2 1 40 321268+ 82 Linux swap Partition table entries are not in disk order Command (m for help):
◆如果想完全改變硬盤的分區格式,就可以通過d參數一個一個地刪除存在的硬盤分區。刪除完畢,就可以通過n參數來增加新的分區。當按下“n”后,可以看到如下所示:
Command (m for help): n Command action e extended p primary partition (1-4) p Partiton number(1-4):1 First cylinder(1-1023):1 Last cylinder or + size or +sizeK or + sizeM(1-1023):+258M
這里要選擇新建的分區類型,是主分區還是擴展分區;并選擇p或是e。然后就是設置分區的大小。
◆要提醒注意的是,如果硬盤上有擴展分區,就只能增加邏輯分區,不能增加擴展分區。
◆在增加分區的時候,其類型都是默認的Linux Native,如果要把其中的某些分區改變為其他類型,例如Linux
Swap或FAT32等,可以通過命令t來改變,當按下“t”改變分區類型的時候,系統會提示要改變哪個分區、以及改變為什么類型(如果想知道系統所支持的分區類型,鍵入l),如下所示:
Command (m for help): t Partition number (1-4): 1 Hex code (type L to list codes): 82 Changed system type of partition 1 to 82 (Linux swap)
改變完了分區類型,就可以按下“w”,保存并退出。如果不想保存,那么可以選擇“q”直接退出,如下所示:
RH7 partprobe /dev/sda 將新建分區寫入內核
RH6 partx -a /dev/sda 將新建分區寫入內核
添加一個新的文件系統需要生成的文件數規則
① 定義一個設備 /dev/sda
② 設備分區 fidsk /dev/sda
③ 寫入內核 RH6 partx -a /dev/sda ;
RH7 partprobe /dev/sda
④ 創建一個文件系統(格式化) mkfs.ext4 /dev/sda4
④ 建立一個卷標 e2label
⑤ 寫入到/etc/fatab 開機自啟
⑥ 掛載文件系統 mount -a
格式化分區步驟:
① fdisk -> ② partprobe(RH6用partx -a)->③mkfs.文件類型->④mount -a
磁盤分區格式化為MBR,并設為SWAP緩沖類型
1 fdisk /dev/sda 對磁盤a新建分區
2 m 列出所有操作命令
3 n 添加新的分區
4 e/p e添加擴展分區 p添加系統分區
5 設置分區的起始位和結束位
6 t 改變文件系統類型
7 L 列出所有可選擇的文件系統類型
8 w 保存退出
9 partx -a /dev/sda 將添加的分區和文件類型寫入內核(RH6)
partprobe /dev/sda 將添加的分區和文件類型寫入內核(RH7)
格式化文件系統
10 mkfs.ext4 /dev/sda4 格式化為ext4類型
mkswap /dev/sda4 格式化為swap類型
11 vim /etc/fstab
Ext4 格式 /dev/sda4 /mnt ext4 defaults 0 0 (將/dev/sda4掛在到/mnt上)
Swap 格式 /dev/sda4 swap swap defaults 0 0 (將緩沖分區掛載到swap上)
12 掛載文件系統
Ext4格式 mount -a
Swap格式 swapoff -a;swapon -a
上述添加磁盤分區是從未分配的空間劃分的新區域,若在以劃分的磁盤上劃出一塊區域做swap擴展,如在sda1根目錄上劃出一塊區域做swap分區擴展,步驟如下
增加swap分區二
在sda跟掛載目錄上新建一文件做swap
1 mkdir /text
2 dd if=/dev/zero of=swapfile(swap設備文件名) bs=1M(最小存儲單元) count=500(單元個數)
3 partprobe /dev/sda 寫入內核生效(RH7)
Partx -a /dev/sda 寫入內核生效(RH6)
4 mkswap /text/swapfile 格式化為swap
5 vim /etc/fatab
/text/swapfile swap swap defaults 0 0
6 swapoff -a ; swapon -a 掛載
若有多個新建的磁盤分區為swap,可在/etc/fstab中設置優先應用級別
Eg /dev/sda4 /mnt ext4 defaults,pri=1 0 0
/text/swapfile swap swap defaults,pri=2 0 0
Pri=1的優先級別大于pri=2,即/text/swapfile 優先于/dev/sda4使用
格式化swap mkswap /dev/sda5
mkswap /text/swapfile(swap設備文件)
掛載生效 : swapoff -a ; swapon -a
Swapon -s 查看電腦上的所有swap分區設備
/dev/zero 空設備
/dev/null 空設備(只要過程,不要結果)
從已分區的空間擴充swap:
dd if=/dev/zero of=swapfile bs=1M count=500
Swapfile為swap文件名,可自定義,bs為最小存儲單元,count為最小單元個數
格式轉換 MBR<=>GTP
將MBR轉換為gtp格式:方法一
1 partrd /dev/sda 將第二塊磁盤轉換為GTP格式
2 mklabel gpt 輸入gtp格式
3 y 確認轉換
4 quit
5 partx -a /dev/sda 寫入內核(RH6)
Partprobe /dev/sda 寫入內核 (RH7)
方法二:也可用命令轉換
Parted -s /dev/sda mklabel msdos/gtp 轉換為MBR或gtp格式
用gdisk命令添加分區為gtp格式,方法過程同fdisk一樣
fdisk -l 查看磁盤分區
tune2fs -l 只能查看ext類型的文件系統
tune2fs -o acl /dev/sda5 對sda5分區添加acl功能
mkfs.ext4 -b 4096 /dev/sda5 對sda5分區修改block size的大小為4M (RH6)
tune2fs -i0 -c0 /dev/sda5 將最大掛載次數修改為-1,即永遠達不到最大值,不用自檢 (0為零)
mkfs.xfs -b size=1024 /dev/sda5 對sda5分區修改block size的大小為1M (RH7)
修改block size (最小存儲單元)的值
mkfs.ext4 -b 4096 /dev/sda5 對sda5分區修改block size的大小為4M (RH6)
mkfs.xfs -b size=1024 /dev/sda5 對sda5分區修改block size的大小為1M (RH7)
Fsck 檢查和修復linux系統文件類型(未掛載)
-a 如果檢查到錯誤,自動修復文件系統
-A 檢查/etc/fstab文件中列出的所有文件系統
-N 不進行檢查,只顯示哪些檢查會被執行
-r 出現錯誤時提示
-R 使用-A選項時跳過根文件系統
-s 檢查多個文件系統時,依次進行檢查
-t 指定要檢查的文件系統
-V 在檢查時產生詳細輸出
-y 檢測到錯誤時自動修復文件系統
練習
11、創建一個2G的文件系統,塊大小為2048byte,預留1%可
用空間,文件系統ext4,卷標為TEST,要求此分區開機后自
動掛載至/test目錄,且默認有acl掛載選項
注:echo -e “n\np\n1\n+2G\nw\n 此命令可直接進行創建分區,不用在進dfisk 一步一步操作,掛載系統命令makfs.ext4
開機后自 動掛載至/test目錄,且默認有acl掛載選項 還可以進 入 vim /etc/fstab 進行添加
至/test目錄,且默認有acl掛載選項
練習:要求輸入掛載點,將顯示其UUID(不用fstab)
read -p “please input Mounted on name:” Name1
if df $Name1 &>/dev/null ; then
Name2=`df “$Name1” |tail -1 |grep -o “^/[^ ]*”`
blkid $Name2 |grep -o ‘\<UUID=”[[:alnum:]|-]*”‘
unset Name1 Name2
else
echo “error,Mounted on name unknown”;exit 1
fi
原創文章,作者:linux-qiao,如若轉載,請注明出處:http://www.www58058.com/85119