Linux 查看磁盤分區、文件系統、使用狀況的命令和相關工具介紹

Linux 查看磁盤分區、文件系統、使用狀況的命令和相關工具介紹node

 

1、df 命令;

df 
是來自於coreutils 軟件包,系統安裝時,就自帶的;咱們經過這個命令能夠查看磁盤的使用狀況以及文件系統被掛載的位置;舉例:linux

[root@localhost beinan]# df -lhwindows

Filesystem容量已用 可用 已用% 掛載點緩存

/dev/hda811G6.0G4.4G58% /ide

/dev/shm236M0236M0% /dev/shm工具

/dev/sda156G22G35G39% /mnt/sda1性能

咱們從中能夠看到,系統安裝在/dev/hda8 ;還有一個56G的磁盤分區/dev/sda1掛載在 /mnt/sda1中;其它的參數請參考 man df 
2、fdsik

fdisk 
是一款強大的磁盤操做工具,來自util-linux軟件包,咱們在這裏只說他如何查看磁盤分區表及分區結構;參數 -l ,經過-l 參數,能得到機器中全部的硬盤的分區狀況;ui

[root@localhost beinan]# fdisk -l

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         765     6144831    7  HPFS/NTFS
/dev/hda2             766        2805    16386300    c  W95 FAT32 (LBA)
/dev/hda3            2806        7751    39728745    5  Extended
/dev/hda5            2806        3825     8193118+  83  Linux
/dev/hda6            3826        5100    10241406   83  Linux
/dev/hda7            5101        5198      787153+  82  Linux swap / Solaris
/dev/hda8            5199        6657    11719386   83  Linux
/dev/hda9            6658        7751     8787523+  83  Linuxspa

在上面Blocks中,表示的是分區的大小,Blocks的單位是byte ,咱們能夠換算成M,好比第一個分區/dev/hda1的大小若是換算成M,應該是6144831/1024=6000M,也就是6G左右,其實沒有這麼麻煩,粗略的看一下把小數點向前移動三位,就知道大約的體積有多大了;
System 
表示的文件系統,好比/dev/hda1 NTFS格式的;/dev/hda2 表示是fat32格式的文件系統;在此例中,咱們要特別注意的是/dev/hda3分區,這是擴展分區;他下面包含着邏輯分區,其實這個分區至關於一個容器;從屬於她的有 hda5,hda6,hda7,hda8,hda9 ;咱們還注意到一點,怎麼沒有hda4呢?爲何hda4沒有包含在擴展分區?一個磁盤最多有四個主分區; hda1-4算都是主分區;hda4不可能包含在擴展分區裏,另外擴展分區也算主分區;在本例中,沒有hda4這個分區,固然咱們能夠把其中的一個分區設置爲主分區,只是我當時分區的時候沒有這麼作而已;再仔細統計一下,咱們看一看這個磁盤是否是還有空間?hda1+hda2+hda3=實際已經分區的體積,因此咱們能夠這樣算 hda1+hda2+hda3=6144831+16386300+39728745 = 62259876 (b),換算成M單位,小數點向前移三位,因此目前已經劃分好的分區大約佔用體積是62259.876(M),其實最精確的計算62259876/1024=60800.67M);而這個磁盤大小是80.0 GB 80026361856byte),其實實際大小也就是78150.744M);經過咱們一系列的計算,咱們能夠得出這個硬盤目前還有使用的空間;大約還有18G未分區的空間; fdisk -l 能列出機器中全部磁盤的個數,也能列出全部磁盤分區狀況;好比:操作系統

[root@localhost beinan]# fdisk -l

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1         765     6144831    7  HPFS/NTFS
/dev/hda2             766        2805    16386300    c  W95 FAT32 (LBA)
/dev/hda3            2806        7751    39728745    5  Extended
/dev/hda5            2806        3825     8193118+  83  Linux
/dev/hda6            3826        5100    10241406   83  Linux
/dev/hda7            5101        5198      787153+  82  Linux swap / Solaris
/dev/hda8            5199        6657    11719386   83  Linux
/dev/hda9            6658        7751     8787523+  83  Linux

Disk /dev/sda: 60.0 GB, 60011642880 bytes
64 heads, 32 sectors/track, 57231 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1       57231    58604528   83  Linux

經過上面咱們能夠知道此機器有兩塊硬盤,咱們也能夠指定fdisk -l 來查看其中一個硬盤的分區狀況;

[root@localhost beinan]# fdisk -l /dev/sda

Disk /dev/sda: 60.0 GB, 60011642880 bytes
64 heads, 32 sectors/track, 57231 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1       57231    58604528   83  Linux


經過上面狀況能夠知道,在/dev/sda 這個磁盤中,只有一個分區;使用量差很少是百分百了;咱們還能夠來查看 /dev/hda

[root@localhost beinan]# fdisk -l /dev/hda

本身試試看?

3、cfdisk 來自於util-linux的軟件包;

cfdisk 
也是一款不錯的分區工具;在有些發行版中,此工具已經從util-linux包中剔除;cfdisk 簡單易用是他的特色;和DOS中的fdisk 類似;在本標題中,咱們只來解說如何查看機器的中的磁盤分區情況及所用的文件系統等;查看磁盤分區的用法 cfdisk -Ps 磁盤設備名;
好比

[root@localhost beinan]cfdisk -Ps  
[root@localhost beinan]cfdisk -Ps   /dev/hda 

[root@localhost beinan]cfdisk -Ps 
Partition Table for /dev/hda

               First       Last
# Type       Sector      Sector   Offset    Length   Filesystem Type (ID) Flag
-- ------- ----------- ----------- ------ ----------- -------------------- ----
1 Primary           0    23438834     63    23438835 Linux (83)           Boot
2 Primary    23438835   156296384      0   132857550 Extended (05)        None
5 Logical    23438835   155268224     63   131829390 Linux (83)           None
6 Logical   155268225   156296384     63     1028160 Linux swap (82)      None

咱們只用的參數 -Ps,就列出了磁盤的分區狀況;目前在Slackware Debian Mandrake 等主流發行版中存在cfdisk ,而fedora 4.0把這個小工具剔除了;有點惋惜;這是我在Slackware中操做的;若是您這樣操做,就更直觀了;

[root@localhost beinan]cfdisk  磁盤設備名


舉例:

[root@localhost beinan]cfdisk  /dev/hda  

您所看到的是以下的模式:

                                        cfdisk 2.12a

                                    Disk Drive: /dev/hda
                              Size: 80026361856 bytes, 80.0 GB
                    Heads: 255   Sectors per Track: 63   Cylinders: 9729

    Name          Flags        Part Type    FS Type            [Label]           Size (MB)
-------------------------------------------------------------------------------------------
    hda1          Boot          Primary     Linux ReiserFS                        12000.69
    hda5                        Logical     Linux ReiserFS                        67496.65
    hda6                        Logical     Linux swap                              526.42



     [Bootable]  [ Delete ]  [  Help  ]  [Maximize]  [ Print  ]  [  Quit  ]
     [  Type  ]  [ Units  ]  [ Write  ]

                        Toggle bootable flag of the current partition

您進入了cfdisk 的操做界面;用鍵盤移動指針到[Quit]就能夠退出;
4、parted 功能不錯的分區工具;在Fedora 4.0中有帶,能夠本身安裝上;在此主題中,咱們只說如何查看磁盤的分區狀況;

調用方法簡單,parted 默認是打開的設備是/dev/hda ,也能夠本身指定;好比 parted /dev/hda /dev/sda 等;退出的方法是 quit

[root@localhost beinan]# parted

使用 /dev/hda
(parted) p
/dev/hda 的磁盤幾何結構:0.000-76319.085 兆字節
磁盤標籤類型:msdos
Minor    起始點終止點類型文件系統標誌
1          0.031   6000.842  主分區 ntfs        啓動
2       6000.842  22003.088  主分區 fat32       lba
3      22003.088  60800.690  擴展分區
5      22003.119  30004.211  邏輯分區 reiserfs
6      30004.242  40005.615  邏輯分區 reiserfs
7      40005.646  40774.350  邏輯分區 linux-swap
8      40774.381  52219.094  邏輯分區 ext3
9      52219.125  60800.690  邏輯分區 reiserfs

咱們在partd 的操做面上,用p就能夠列出當前磁盤的分區狀況,若是想要查看其它磁盤,能夠用 select 功能,好比 select /dev/sda 

5、qtparted ,與parted 相關的軟件還有qtparted ,也能查看到磁盤的結構和所用的文件系統,是圖形化的;

[beinan@localhost ~]# qtparted 
圖形化的查看,一目瞭然;

6、sfdisk 也是一個分區工具,功能也多多;咱們在這裏只說他的列磁盤分區狀況的功能;

[root@localhost beinan]# sfdisk -l  


本身看看吧; sfdisk 有幾個頗有用的功能;有興趣的弟兄不妨看看;
7、partx 也簡要的說一說,有些系統自帶了這個工具,功能也簡單,和fdisk partedcfdisk 來講不值一提;不用也罷;

用法: partx 設備名

[root@localhost beinan]# partx /dev/hda
# 1:        63- 12289724 ( 12289662 sectors,   6292 MB)
# 2:  12289725- 45062324 ( 32772600 sectors,  16779 MB)
# 3:  45062325-124519814 ( 79457490 sectors,  40682 MB)
# 4:         0-       -1 (        0 sectors,      0 MB)
# 5:  45062388- 61448624 ( 16386237 sectors,   8389 MB)
# 6:  61448688- 81931499 ( 20482812 sectors,  10487 MB)
# 7:  81931563- 83505869 (  1574307 sectors,    806 MB)
# 8:  83505933-106944704 ( 23438772 sectors,  12000 MB)
# 9: 106944768-124519814 ( 17575047 sectors,   8998 MB)

8、查看目前機器中的全部磁盤及分區狀況:

[beinan@localhost ~]$ cat /proc/partitions
major minor  #blocks  name

   3     0   78150744 hda
   3     1    6144831 hda1
   3     2   16386300 hda2
   3     5    8193118 hda5
   3     6   10241406 hda6
   3     7     787153 hda7
   3     8   11719386 hda8
   3     9    8787523 hda9
   8     0   58605120 sda
   8     1   58604528 sda1



9、mac-fdisk 這個工具主要是用在Powerpc版本的Linux中,我們經常使用X86版本中沒有這個工具;這個只是介紹一下;
相關文檔《在Linux系統中存儲設備的兩種表示方法》
《合理規劃您的硬盤分區》
《系統引導過程及硬盤分區結構論述》
Linux 查看磁盤分區、文件系統、使用狀況的命令和相關工具介紹》
《實例解說 fdisk 使用方法》
《在Fedora core 4.0 加載NTFSFAT32分區詳述》
Fedora Core 4.0 HAL配置即插即用移動存儲(USB1394)的實踐》

 

10、如何判斷內存使用狀況!

你們注意的是,這裏的內存指的是linux下的內存處理方式我告訴有朋友我一直用linux.他問我了一下我爲何linux使用的內存這麼高.他講他1G的內在free232M.win xp才用200M的樣子
其實啊.linux的內存是很說究的.以下命令free是顯示的當前內存的使用,-m參數的意思是M字節來顯示內容.咱們來一塊兒看看.
$ free -m
total used free shared buffers cached
Mem: 1002 769 232 0 62 421
-/+ buffers/cache: 286 715
Swap: 1153 0 1153
第一部分Mem:
total 
內存總數: 1002M
used 
已經使用的內存數: 769M
free 
空閒的內存數: 232M
shared 
當前已經廢棄不用,老是0
buffers Buffer 
緩存內存數: 62M
cached Page 
緩存內存數:421M
關係:total(1002M) = used(769M) + free(232M)
第二部分(-/+ buffers/cache):
(-buffers/cache) used
內存數:286M (指的第一部分Mem行中的used - buffers - cached)
(+buffers/cache) free
內存數: 715M (指的第一部分Mem行中的free + buffers + cached)
可見-buffers/cache反映的是被程序實實在在吃掉的內存,而+buffers/cache反映的是能夠挪用的內存總數。
第三部分是指交換分區我想不講你們都明白.
我想你們看了上面,仍是很暈.第一部分(Mem)與第二部分(-/+ buffers/cache)的結果中有關usedfree爲何這麼奇怪.
其實咱們能夠從二個方面來解釋.
對操做系統來說是Mem的參數.buffers/cached 都是屬於被使用,因此它認爲free只有232.
對應用程序來說是(-/+ buffers/cach).buffers/cached 是等同可用的,由於buffer/cached是爲了提升程序執行的性能,當程序使用內存時,buffer/cached會很快地被使用。
因此,以應用來看看,(-/+ buffers/cache)freeused爲主.因此咱們看這個就行了.另外告訴你們一些常識.Linux爲了提升磁盤和內存存取效率, Linux作了不少精心的設計除了對dentry進行緩存(用於VFS,加速文件路徑名到inode的轉換), 還採起了兩種主要Cache方式:Buffer CachePage Cache。前者針對磁盤塊的讀寫,後者針對文件inode的讀寫。這些Cache能有效縮短了 I/O系統調用(好比read,write,getdents)的時間。
記住內存是拿來用的,不是拿來看的.不象windows, 不管你的真實物理內存有多少,他都要拿硬盤交換文件來讀.這也就是windows爲何經常提示虛擬空間不足的緣由.大家想一想,多無聊,在內存還有大部分的時候,拿出一部分硬盤空間來充當內存.硬盤怎麼會快過內存.因此咱們看linux,只要不用swap的交換空間,就不用擔憂本身的內存太少.若是經常 swap用不少,可能你就要考慮加物理內存了.這也是linux看內存是否夠用的標準。

相關文章
相關標籤/搜索