0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux中的fdisk命令簡介

Linux愛好者 ? 來源:csdn ? 作者:戀貓大鯉魚 ? 2021-02-23 11:24 ? 次閱讀

1.命令簡介

fdisk 命令用于創(chuàng)建和維護(hù)磁盤分區(qū)表。它采用傳統(tǒng)的問答式界面,而不是類似于 fdisk 的 cfdisk 的互動式操作界面,因此在使用上較為不便,但功能卻絲毫不打折扣。它兼容 DOS 類型的分區(qū)表、BSD 或者 SUN 類型的磁盤列表。

2.命令格式

fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device

fdisk -l [-u] [device.。.]

fdisk -s partition.。.

fdisk -v

fdisk -h

3.選項(xiàng)說明

-b [sectorsize]:指定硬盤扇區(qū)大小,可用數(shù)值為512, 1024, 2048 or 4096;

-c:關(guān)閉DOS兼容模式;

-C [cyls]:指定硬盤的柱面數(shù)(number of cylinders);

-H [heads]:指定硬盤的磁頭數(shù)(number of heads),當(dāng)然不是物理數(shù)值,而是作用于分區(qū)表。合理取值是255和16;

-S [sects]:指定每個磁道的扇區(qū)數(shù),當(dāng)然不是物理數(shù)值,而是用于分區(qū)表。一個合理的數(shù)值是63;

-l:列出指定設(shè)備的分區(qū)表,然后退出。如果沒有給定設(shè)備,則使用在/proc/partitions(如果存在)中提到的那些設(shè)備;

-u:在列出分區(qū)表時,給出扇區(qū)大小而不是柱面大小;

-s [partition]:以塊(block)為單位,顯示指定分區(qū)的大小;

-v:顯示版本信息

-h:顯示幫助信息。

閱讀以上選項(xiàng)說明,需要注意以下幾個問題:

(1)塊(block)與扇區(qū)(sector)的區(qū)別。

扇區(qū)是對硬盤而言,扇區(qū)是硬盤的最小存儲單位,塊是對文件系統(tǒng)而言,塊是文件系統(tǒng)最小存取單位。一般而言,一個扇區(qū)大小為512B,一個塊大小為4KB,一個block是由連續(xù)的8個sector組成。

(2)理解上面選項(xiàng)的含義,需了解磁盤的物理組成結(jié)構(gòu)與相關(guān)概念,例如sector、cylinder、head等組成部件的具體含義,可參見硬盤的存儲原理和內(nèi)部架構(gòu) 。

4.常用示例

(1)列出指定設(shè)備的分區(qū)情況。

[root@add_friend_protect /home/oicq]# fdisk -l /dev/sda

Disk /dev/sda: 300.0 GB, 299966445568 bytes

255 heads, 63 sectors/track, 36468 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0009808c

Device Boot Start End Blocks Id System

/dev/sda1 * 1 1306 10485760 83 Linux

/dev/sda2 1306 1566 2088960 82 Linux swap / Solaris

/dev/sda3 1566 4177 20971520 83 Linux

/dev/sda4 4177 36469 259387694 83 Linux

對fdisk -l相關(guān)數(shù)值的解釋如下:

第一行中說明硬盤/dev/sda總大小為300.0 GB;

第二行中heads表示硬盤磁頭數(shù),也是盤面數(shù),因?yàn)榇蓬^數(shù)等于盤面數(shù)。隨后63 sectors/track說明每條磁道分63個扇區(qū)。共36468個柱面,柱面是分區(qū)的最小單位;

第三行說明每個柱面單位是8225280 byets,柱面單位大小=磁頭數(shù)*每條磁道的扇區(qū)數(shù)*扇區(qū)大小=255*63*512B=8225280B;

第四行說明扇區(qū)的大小是512B;

第五行說明硬盤最小與最佳的存儲單位是512 bytes,等于扇區(qū)大小,因?yàn)樯葏^(qū)是硬盤的最小存儲單位;

第六行說明硬盤標(biāo)識符是0x0009808c。

第七行表示每個分區(qū)相關(guān)參數(shù)的含義。

Device:分區(qū)名稱;

Boot:是否是活動分區(qū)。活動分區(qū)只能是主分區(qū),一個硬盤只能有一個活動的主分區(qū);一個硬盤的主分區(qū)與擴(kuò)展分區(qū)總和不能超過4個。硬盤分區(qū)遵循著“主分區(qū)→擴(kuò)展分區(qū)→邏輯分區(qū)”的次序原則,而刪除分區(qū)則與之相反。

主分區(qū):一個硬盤可以劃分多個主分區(qū),但沒必要劃分那么多,一個足矣。

擴(kuò)展分區(qū):主分區(qū)之外的硬盤空間就是擴(kuò)展分區(qū),

邏輯分區(qū):是對擴(kuò)展分區(qū)再行劃分得到的。

Start:分區(qū)柱面的開始下標(biāo);

End:分區(qū)柱面的結(jié)束下標(biāo);

Blocks:該分區(qū)的塊數(shù)量。當(dāng)前文件系統(tǒng)block=2*sector,所以塊數(shù)量=(End-Start)*柱面的扇區(qū)數(shù)/2=1305*255*63/2=10482412.5;

Id:各種分區(qū)的文件系統(tǒng)不同,如有ntfs分區(qū),fat32分區(qū),ext3分區(qū),swap分區(qū)等。每一種文件系統(tǒng)都有一個代號,對應(yīng)這里的Id。常見的文件系統(tǒng)ID有:

f:FAT32 Extend,只限于擴(kuò)展分區(qū)。

86:NTFS。

7:HPFS/NTFS

b:FAT32。

83:Linux Ext2。

82:Linux 交換區(qū)。

System:文件系統(tǒng)名稱。

總結(jié):

一個磁盤的大小=一個柱面大小*柱面的總數(shù)=磁頭數(shù)量*每個磁道上的扇區(qū)數(shù)*一個扇區(qū)大小*柱面總數(shù)

即:

磁盤大小=8225280*36468=299959511040 bytes=299GB=255*63*512*36468

上例中顯示出的硬盤大小與實(shí)際計(jì)算出來的有少許出入,這個不必太在意,Linux顯示的這些數(shù)據(jù)不會十分精確。

(2)對指定設(shè)備進(jìn)行分區(qū)并掛載。

第一步,選擇要進(jìn)行操作的磁盤,進(jìn)入問答式界面。

fdisk /dev/sdb

第二步,輸入m列出可以執(zhí)行的命令。

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)

第三步,輸入p列出磁盤目前的分區(qū)情況。

Disk /dev/sda: 300.0 GB, 299966445568 bytes

255 heads, 63 sectors/track, 36468 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0009808c

Device Boot Start End Blocks Id System

/dev/sda1 * 1 1306 10485760 83 Linux

/dev/sda2 1306 1566 2088960 82 Linux swap / Solaris

/dev/sda3 1566 4177 20971520 83 Linux

/dev/sda4 4177 36469 259387694 83 Linux

第四步,輸入d然后選擇分區(qū),刪除現(xiàn)有分區(qū)。

Command (m for help): d

Partition number (1-4): 1

Command (m for help): d

Selected partition 2

Command (m for help): d

Selected partition 3

Command (m for help): d

Selected partition 4

第五步,輸入n建立新的磁盤分區(qū),首先建立兩個主磁盤分區(qū)。

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p //建立主分區(qū)

Partition number (1-4): 1 //分區(qū)號

First cylinder (1-391, default 1): //分區(qū)起始位置

Using default value 1

last cylinder or +size or +sizeM or +sizeK (1-391, default 391): 100 //分區(qū)結(jié)束位置,單位為柱面

Command (m for help): n //再建立一個主分區(qū)

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4): 2 //分區(qū)號為2

First cylinder (101-391, default 101):

Using default value 101

Last cylinder or +size or +sizeM or +sizeK (101-391, default 391): +200M //分區(qū)結(jié)束位置,單位為M

第七步,確認(rèn)分區(qū)建立成功。

Command (m for help): p

Disk /dev/sdb: 3221 MB, 3221225472 bytes

255 heads, 63 sectors/track, 391 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdb1 1 100 803218+ 83 Linux

/dev/sdb2 101 125 200812+ 83 Linux

第八步,再建立一個邏輯分區(qū)。

Command (m for help): n

Command action

e extended

p primary partition (1-4)

e //選擇擴(kuò)展分區(qū)

Partition number (1-4): 3

First cylinder (126-391, default 126):

Using default value 126

Last cylinder or +size or +sizeM or +sizeK (126-391, default 391):

Using default value 391

第九步,確認(rèn)擴(kuò)展分區(qū)建立成功。

Command (m for help): p

Disk /dev/sdb: 3221 MB, 3221225472 bytes

255 heads, 63 sectors/track, 391 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdb1 1 100 803218+ 83 Linux

/dev/sdb2 101 125 200812+ 83 Linux

/dev/sdb3 126 391 2136645 5 Extended

第十步,在擴(kuò)展分區(qū)上建立兩個邏輯分區(qū)。

Command (m for help): n

Command action

l logical (5 or over)

p primary partition (1-4)

l //選擇邏輯分區(qū)

First cylinder (126-391, default 126):

Using default value 126

Last cylinder or +size or +sizeM or +sizeK (126-391, default 391): +400M

Command (m for help): n

Command action

l logical (5 or over)

p primary partition (1-4)

l

First cylinder (176-391, default 176):

Using default value 176

Last cylinder or +size or +sizeM or +sizeK (176-391, default 391):

Using default value 391

第十一步,確認(rèn)邏輯分區(qū)建立成功。

Command (m for help): p

Disk /dev/sdb: 3221 MB, 3221225472 bytes

255 heads, 63 sectors/track, 391 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/sdb1 1 100 803218+ 83 Linux

/dev/sdb2 101 125 200812+ 83 Linux

/dev/sdb3 126 391 2136645 5 Extended

/dev/sdb5 126 175 401593+ 83 Linux

/dev/sdb6 176 391 1734988+ 83 Linux

Command (m for help):

從上面的結(jié)果我們可以看到,在硬盤 sdb 我們建立了 2 個主分區(qū)(sdb1,sdb2),1個擴(kuò)展分區(qū)(sdb3),2 個邏輯分區(qū)(sdb5,sdb6)。

注意:主分區(qū)和擴(kuò)展分區(qū)的磁盤號位1-4,也就是說最多有 4 個主分區(qū)或者擴(kuò)展分區(qū),邏輯分區(qū)開始的磁盤號為 5,因此在這個實(shí)驗(yàn)中是沒有 sdb4 的。

最后對分區(qū)操作進(jìn)行保存:

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

建立好分區(qū)之后我們還需要對分區(qū)進(jìn)行格式化才能在系統(tǒng)中使用磁盤。

在 sdb1 上建立 ext2 文件系統(tǒng)。

[root@localhost ~]# mkfs.ext2 /dev/sdb1

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

100576 inodes, 200804 blocks

10040 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=209715200

7 block groups

32768 blocks per group, 32768 fragments per group

14368 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840

Writing inode tables: done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 32 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

在 sdb6 上建立 ext3 文件系統(tǒng)。

[root@localhost ~]# mkfs.ext3 /dev/sdb6

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

217280 inodes, 433747 blocks

21687 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=444596224

14 block groups

32768 blocks per group, 32768 fragments per group

15520 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912

Writing inode tables: done

Creating journal (8192 blocks): done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 32 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

[root@localhost ~]#

建立兩個目錄/oracle和/web,將新建好的兩個分區(qū)掛載到系統(tǒng):

[root@localhost ~]# mkdir /oracle

[root@localhost ~]# mkdir /web

[root@localhost ~]# mount /dev/sdb1 /oracle

[root@localhost ~]# mount /dev/sdb6 /web

查看分區(qū)掛載情況:

[root@localhost ~]# df -h

文件系統(tǒng) 容量 已用 可用 已用% 掛載點(diǎn)

/dev/mapper/VolGroup00-LogVol00

6.7G 2.8G 3.6G 44% /

/dev/sda1 99M 12M 82M 13% /boot

tmpfs 125M 0 125M 0% /dev/shm

/dev/sdb1 773M 808K 733M 1% /oracle

/dev/sdb6 1.7G 35M 1.6G 3% /web

如果需要每次開機(jī)自動掛載則需要修改/etc/fstab文件,加入兩行配置:

[root@localhost ~]# vim /etc/fstab

/dev/VolGroup00/LogVol00 / ext3 defaults 1 1

LABEL=/boot /boot ext3 defaults 1 2

tmpfs /dev/shm tmpfs defaults 0 0

devpts /dev/pts devpts gid=5,mode=620 0 0

sysfs /sys sysfs defaults 0 0

proc /proc proc defaults 0 0

/dev/VolGroup00/LogVol01 swap swap defaults 0 0

/dev/sdb1 /oracle ext2 defaults 0 0

/dev/sdb6 /web ext3 defaults 0 0

參考文獻(xiàn)

[1] fdisk(8) manual

[2] Linux命令大全.fdisk命令

[3] 磁盤的塊大?。˙lock Size)和扇區(qū)大?。⊿ector Size)

[4] fdisk -l 命令詳解

給我們公號發(fā)送 命令 二字,獲取“每天一個Linux命令”系列的完整目錄。

- EOF -

推薦閱讀 點(diǎn)擊標(biāo)題可跳轉(zhuǎn)

1、每天一個 Linux 命令(120):tee 命令

2、每天一個 Linux 命令(119):echo 命令

3、每天一個 Linux 命令(118):rename 命令

原文標(biāo)題:每天一個 Linux 命令(124):fdisk 命令

文章出處:【微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207900
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6545

    瀏覽量

    122743
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    658

    瀏覽量

    21928

原文標(biāo)題:每天一個 Linux 命令(124):fdisk 命令

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Linuxcut命令的實(shí)用示例

    Linux command cut 用于文本處理。您可以使用此命令通過選擇列從文件中提取部分文本。
    的頭像 發(fā)表于 08-05 15:14 ?172次閱讀

    Linux基本命令總結(jié)

    都說Linux命令多,實(shí)際工作我們又有多少命令會接觸用到呢?本文跟大家分享Linux運(yùn)維工作中常用的600個
    的頭像 發(fā)表于 01-11 10:32 ?873次閱讀

    深入了解Linuxvi命令的使用

    深入了解Linuxvi命令的使用 VI是一款在Linux系統(tǒng)中使用的文本編輯器,它是一款功能強(qiáng)大、靈活性高的編輯器。VI編輯器具有非常高效的命令
    的頭像 發(fā)表于 12-25 11:15 ?345次閱讀

    linux備份文件命令bak

    Linux系統(tǒng),備份文件是非常重要的,它可以防止數(shù)據(jù)丟失和損壞的風(fēng)險(xiǎn)。為了達(dá)到安全的目的,我們經(jīng)常需要備份文件。在這篇文章,我們將詳細(xì)介紹Linux
    的頭像 發(fā)表于 11-23 10:12 ?2025次閱讀

    linuxtop命令詳解

    Linux系統(tǒng)的top命令是一個非常強(qiáng)大和常用的命令,用于實(shí)時監(jiān)控和管理系統(tǒng)的運(yùn)行狀態(tài)。它能夠顯示系統(tǒng)的整體性能數(shù)據(jù),以及各個進(jìn)程的資源占用情況。在本文中,我們將詳細(xì)解釋top
    的頭像 發(fā)表于 11-17 10:25 ?1782次閱讀

    linux重啟命令有哪些

    Linux是一種自由和開放源代碼的操作系統(tǒng),被廣泛應(yīng)用于服務(wù)器和嵌入式設(shè)備。在Linux,有多種命令用于重啟系統(tǒng)。在本文中,我們將詳細(xì)介紹常用的L
    的頭像 發(fā)表于 11-17 09:49 ?1827次閱讀

    linux查看物理接口的命令

    Linux操作系統(tǒng)提供了多種命令和工具來查看物理接口。在這篇文章,我們將詳細(xì)介紹一些最常用和常見的命令,以及它們的用法和輸出。 ifconfig
    的頭像 發(fā)表于 11-16 16:48 ?922次閱讀

    linuxsource命令的用法

    Linux,source命令通常用于重新執(zhí)行剛修改的初始化文件,使之立即生效,而不必注銷并重新登錄。source命令可以用于讀取并執(zhí)行腳本文件
    的頭像 發(fā)表于 11-08 14:35 ?1729次閱讀

    linux查找文件的命令

    Linux,可以使用以下命令來查找文件: find 命令:可以在指定目錄及其子目錄查找文件,支持根據(jù)文件名、文件類型、文件大小、文件修
    的頭像 發(fā)表于 11-08 14:24 ?1056次閱讀

    linuxmore命令的用法

    Linux, more 命令是一個基本的分頁器,它一次顯示一屏文本內(nèi)容,按空格鍵向下滾動一屏,按 q 鍵退出。 more 命令的基本語法如下: more [options] [fi
    的頭像 發(fā)表于 11-08 14:19 ?842次閱讀

    linux刪除文件的命令

    Linux,可以使用 rm 命令來刪除文件。該命令有多個參數(shù)和選項(xiàng)可供使用,以根據(jù)不同的情況進(jìn)行文件刪除操作。例如: rm 命令后面跟上
    的頭像 發(fā)表于 11-08 14:11 ?596次閱讀

    linux創(chuàng)建group的命令

    Linux,創(chuàng)建用戶組的命令是 groupadd 。 以下是一個例子: groupadd groupName 這個命令將創(chuàng)建一個新的用戶組,名稱為groupName。 在創(chuàng)建用戶組
    的頭像 發(fā)表于 11-08 11:35 ?1171次閱讀

    linux free命令原理

    Linux的 free 命令是一個用于查看系統(tǒng)內(nèi)存使用情況的工具。它顯示了系統(tǒng)內(nèi)存的詳細(xì)信息,包括總內(nèi)存、已使用內(nèi)存、剩余內(nèi)存、緩存和緩沖區(qū)的使用情況等。 free 命令的工作原理是
    的頭像 發(fā)表于 11-08 11:23 ?443次閱讀

    linux命令和shell編程有什么聯(lián)系

    命令,并提供了許多功能和特性,如變量、控制結(jié)構(gòu)、函數(shù)等,這些功能和特性使得Shell編程成為可能。 其次,Linux命令是Shell編程的重要組成部分。通過使用Linux
    的頭像 發(fā)表于 11-08 10:53 ?768次閱讀

    shell命令linux命令一樣嗎

    結(jié)合在一起,形成一個相當(dāng)于面向過程的程序,即shell script,從而實(shí)現(xiàn)一些復(fù)雜的功能。 而Linux命令則是用來對Linux系統(tǒng)進(jìn)行管理的命令。這些
    的頭像 發(fā)表于 11-08 10:51 ?2439次閱讀