Linux磁碟管理的相關命令及使用樣本,linux磁碟命令樣本

來源:互聯網
上載者:User

Linux磁碟管理的相關命令及使用樣本,linux磁碟命令樣本
Linux 磁碟管理

Linux磁碟管理好壞直接關係到整個系統的效能問題。

Linux磁碟管理常用三個命令為df、du和fdisk。

df:列出檔案系統的整體磁碟使用量 du:檢查磁碟空間使用量 fdisk:用於磁碟分割

df

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

文法:

df [-ahikHTm] [目錄或檔案名稱]

選項

選項 說明
-a或–all 包含全部的檔案系統;
–block-size=<區塊大小> 以指定的區塊大小來顯示區塊數目;
-h或–human-readable 以可讀性較高的方式來顯示資訊;
-H或–si 與-h參數相同,但在計算時是以1000 Bytes為換算單位而非1024 Bytes;
-i或–inodes 顯示inode的資訊;
-k或–kilobytes 指定區塊大小為1024位元組;
-l或–local 僅顯示本地端的檔案系統;
-m或–megabytes 指定區塊大小為1048576位元組;
–no-sync 在取得磁碟使用資訊前,不要執行sync指令,此為預設值;
-P或–portability 使用POSIX的輸出格式;
–sync 在取得磁碟使用資訊前,先執行sync指令;
-t<檔案系統類型>或–type=<檔案系統類型> 僅顯示指定檔案系統類型的磁碟資訊;
-T或–print-type 顯示檔案系統的類型;
-x<檔案系統類型>或–exclude-type=<檔案系統類型> 不要顯示指定檔案系統類型的磁碟資訊;
–help 顯示協助;
–version 顯示版本資訊。

執行個體 1

將系統內所有的檔案系統列出來!

[root@ylg ~]# df檔案系統                   1K-塊    已用     可用 已用% 掛載點/dev/mapper/centos-root 17811456 1318704 16492752    8% /devtmpfs                  488788       0   488788    0% /devtmpfs                     499848       0   499848    0% /dev/shmtmpfs                     499848    6808   493040    2% /runtmpfs                     499848       0   499848    0% /sys/fs/cgroup/dev/sda1                1038336  127464   910872   13% /boottmpfs                      99972       0    99972    0% /run/user/0

在 Linux 底下如果 df 沒有加任何選項,那麼預設會將系統內所有的 (不含特殊記憶體內的檔案系統與 swap) 都以 1 Kbytes 的容量來列出來!

執行個體 2

將容量結果以易讀的容量格式顯示出來

[root@ylg ~]# df -h檔案系統                 容量  已用  可用 已用% 掛載點/dev/mapper/centos-root   17G  1.3G   16G    8% /devtmpfs                 478M     0  478M    0% /devtmpfs                    489M     0  489M    0% /dev/shmtmpfs                    489M  6.7M  482M    2% /runtmpfs                    489M     0  489M    0% /sys/fs/cgroup/dev/sda1               1014M  125M  890M   13% /boottmpfs                     98M     0   98M    0% /run/user/0

執行個體 3

將系統內的所有特殊檔案格式及名稱都列出來

[root@ylg ~]# df -aTFilesystem    Type 1K-blocks    Used Available Use% Mounted on/dev/hdc2     ext3   9920624 3823112   5585444  41% /proc          proc         0       0         0   -  /procsysfs        sysfs         0       0         0   -  /sysdevpts      devpts         0       0         0   -  /dev/pts/dev/hdc3     ext3   4956316  141376   4559108   4% /home/dev/hdc1     ext3    101086   11126     84741  12% /boottmpfs        tmpfs    371332       0    371332   0% /dev/shmnone   binfmt_misc         0       0         0   -  /proc/sys/fs/binfmt_miscsunrpc  rpc_pipefs         0       0         0   -  /var/lib/nfs/rpc_pipefs

執行個體 4

將 /etc 底下的可用的磁碟容量以易讀的容量格式顯示

[root@www ~]# df -h /etcFilesystem            Size  Used Avail Use% Mounted on/dev/hdc2             9.5G  3.7G  5.4G  41% /
du

Linux du命令也是查看使用空間的,但是與df命令不同的是Linux du命令是對檔案和目錄磁碟使用的空間的查看,還是和df命令有一些區別的,這裡介紹Linux du命令。

文法:

du [-ahskm] 檔案或目錄名稱

選項

選項 說明
-a或-all 顯示目錄中個別檔案的大小。
-b或-bytes 顯示目錄或檔案大小時,以byte為單位。
-c或–total 除了顯示個別目錄或檔案的大小外,同時也顯示所有目錄或檔案的總和。
-k或–kilobytes 以KB(1024bytes)為單位輸出。
-m或–megabytes 以MB為單位輸出。
-s或–summarize 僅顯示總計,只列出最後加總的值。
-h或–human-readable 以K,M,G為單位,提高資訊的可讀性。
-x或–one-file-xystem 以一開始處理時的檔案系統為準,若遇上其它不同的檔案系統目錄則略過。
-L<符號連結>或–dereference<符號連結> 顯示選項中所指定符號連結的源檔案大小。
-S或–separate-dirs 顯示個別目錄的大小時,並不含其子目錄的大小。
-X<檔案>或–exclude-from=<檔案> 在<檔案>指定目錄或檔案。
–exclude=<目錄或檔案> 略過指定的目錄或檔案。
-D或–dereference-args 顯示指定符號連結的源檔案大小。
-H或–si 與-h參數相同,但是K,M,G是以1000為換算單位。
-l或–count-links 重複計算硬體連結的檔案。

執行個體 1

列出目前目錄下的所有檔案容量

[root@ylg ~]# du8       ./test4     <==每個目錄都會列出來8       ./test2....中間省略....12      ./.gconfd   <==包括隱藏檔案的目錄220     .           <==這個目錄(.)所佔用的總量

直接輸入 du 沒有加任何選項時,則 du 會分析當前所在目錄的檔案與目錄所佔用的硬碟空間。

執行個體 2

將檔案的容量也列出來

[root@ylg ~]# du -a12      ./install.log.syslog   <==有檔案的列表了8       ./.bash_logout8       ./test48       ./test2....中間省略....12      ./.gconfd220     .

執行個體 3

檢查根目錄底下每個目錄所佔用的容量

[root@ylg ~]# du -sm /*7       /bin6       /boot.....中間省略....0       /proc.....中間省略....1       /tmp3859    /usr     <==系統初期最大就是他了啦!77      /var

萬用字元 * 來代表每個目錄。

與 df 不一樣的是,du 這個命令其實會直接到檔案系統內去搜尋所有的檔案資料。

fdisk

fdisk 是 Linux 的磁碟分割表操作工具。

文法:

fdisk [-l] 裝置名稱

選項:

選項 說明
-b<分區大小> 指定每個分區的大小;
-l 列出指定的外圍裝置的分區表狀況;
-s<分區編號> 將指定的分區大小輸出到標準輸出上,單位為區塊;
-u 搭配”-l”參數列表,會用分區數目取代柱面數目,來表示每個分區的起始地址;
-v 顯示版本資訊。

執行個體 1

列出所有分區資訊

[root@ylg ~]# fdisk -lDisk /dev/xvda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000    Device Boot      Start         End      Blocks   Id  System/dev/xvda1   *           1        2550    20480000   83  Linux/dev/xvda2            2550        2611      490496   82  Linux swap / SolarisDisk /dev/xvdb: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x56f40944    Device Boot      Start         End      Blocks   Id  System/dev/xvdb2               1        2610    20964793+  83  Linux

執行個體 2

找出你系統中的根目錄所在磁碟,並查閱該硬碟內的相關資訊

[root@ylg ~]# df /            <==注意:重點在找出磁碟檔案名稱而已Filesystem           1K-blocks      Used Available Use% Mounted on/dev/hdc2              9920624   3823168   5585388  41% /[root@ylg ~]# fdisk /dev/hdc  <==仔細看,不要加上數字喔!The number of cylinders for this disk is set to 5005.There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)2) booting and partitioning software from other OSs   (e.g., DOS FDISK, OS/2 FDISK)Command (m for help):     <==等待你的輸入!

輸入 m 後,就會看到底下這些命令介紹

Command (m for help): m   <== 輸入 m 後,就會看到底下這些命令介紹Command action   a   toggle a bootable flag   b   edit bsd disklabel   c   toggle the dos compatibility flag   d   delete a partition            <==刪除一個partition   l   list known partition types   m   print this menu   n   add a new partition           <==新增一個partition   o   create a new empty DOS partition table   p   print the partition table     <==在螢幕上顯示分割表   q   quit without saving changes   <==不儲存離開fdisk程式   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)

離開 fdisk 時按下 q,那麼所有的動作都不會生效!相反的, 按下w就是動作生效的意思。

Command (m for help): p  <== 這裡可以輸出目前磁碟的狀態Disk /dev/hdc: 41.1 GB, 41174138880 bytes        <==這個磁碟的檔案名稱與容量255 heads, 63 sectors/track, 5005 cylinders      <==磁頭、扇區與磁柱大小Units = cylinders of 16065 * 512 = 8225280 bytes <==每個磁柱的大小   Device Boot      Start         End      Blocks   Id  System/dev/hdc1   *           1          13      104391   83  Linux/dev/hdc2              14        1288    10241437+  83  Linux/dev/hdc3            1289        1925     5116702+  83  Linux/dev/hdc4            1926        5005    24740100    5  Extended/dev/hdc5            1926        2052     1020096   82  Linux swap / Solaris# 裝置檔案名稱 啟動區否 開始磁柱    結束磁柱  1K大小容量 磁碟分割槽內的系統Command (m for help): q

想要不儲存離開嗎?按下 q 就對了!不要隨便按 w 啊!

使用 p 可以列出目前這顆磁碟的分割表資訊,這個資訊的上半部在顯示整體磁碟的狀態。

磁碟格式化(mkfs)

磁碟分割完畢後自然就是要進行檔案系統的格式化,格式化的命令非常的簡單,使用 mkfs(make filesystem) 命令。

文法

mkfs [-t 檔案系統格式] 裝置檔案名稱

選項

選項 說明
fs 指定建立檔案系統時的參數;
-t<檔案系統類型> 指定要建立何種檔案系統;
-v 顯示版本資訊與詳細的使用方法;
-V 顯示簡要的使用方法;
-c 在製做檔案系統前,檢查該partition是否有壞軌。

執行個體 1

查看 mkfs 支援的檔案格式

[root@ylg ~]# mkfs[tab][tab]mkfs         mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.msdos   mkfs.vfat

按下兩個[tab],會發現 mkfs 支援的檔案格式如上所示。

執行個體 2

將分區 /dev/hdc6(可指定你自己的分區) 格式化為 ext3 檔案系統:

[root@ylg ~]# mkfs -t ext3 /dev/hdc6mke2fs 1.39 (29-May-2006)Filesystem label=                <==這裡指的是分割槽的名稱(label)OS type: LinuxBlock size=4096 (log=2)          <==block 的大小配置為 4K Fragment size=4096 (log=2)251392 inodes, 502023 blocks     <==由此配置決定的inode/block數量25101 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=51589939216 block groups32768 blocks per group, 32768 fragments per group15712 inodes per groupSuperblock backups stored on blocks:        32768, 98304, 163840, 229376, 294912Writing inode tables: doneCreating journal (8192 blocks): done <==有日誌記錄Writing superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 34 mounts or180 days, whichever comes first.  Use tune2fs -c or -i to override.# 這樣就建立起來我們所需要的 Ext3 檔案系統了!簡單明了!
磁碟檢驗

fsck(file system check)用來檢查和維護不一致的檔案系統。

若系統掉電或磁碟發生問題,可利用fsck命令對檔案系統進行檢查。

文法:

fsck [-t 檔案系統] [-ACay] 裝置名稱

選項與參數:

選項 說明
-a 自動修複檔案系統,不詢問任何問題;
-A 依照/etc/fstab設定檔的內容,檢查檔案內所列的全部檔案系統;
-N 不執行指令,僅列出實際執行會進行的動作;
-P 當搭配”-A”參數使用時,則會同時檢查所有的檔案系統;
-r 採用互動模式,在執行修複時詢問問題,讓使用者得以確認並決定處理方式;
-R 當搭配”-A”參數使用時,則會略過/目錄的檔案系統不予檢查;
-s 依序執行檢查作業,而非同時執行;
-t<檔案系統類型> 指定要檢查的檔案系統類型;
-T 執行fsck指令時,不顯示標題資訊;
-V 顯示指令執行過程。
-y 選項指定檢測每個檔案是自動輸入yes,在不確定那些是不正常的時候,可以執行 # fsck -y 全部檢查修複。

執行個體 1

查看系統有多少檔案系統支援的 fsck 命令:

[root@ylg ~]# fsck[tab][tab]fsck         fsck.cramfs  fsck.ext2    fsck.ext3    fsck.msdos   fsck.vfat

執行個體 2

強制檢測 /dev/hdc6 分區:

[root@ylg ~]# fsck -C -f -t ext3 /dev/hdc6 fsck 1.39 (29-May-2006)e2fsck 1.39 (29-May-2006)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary informationvbird_logical: 11/251968 files (9.1% non-contiguous), 36926/1004046 blocks

如果沒有加上 -f 的選項,則由於這個檔案系統不曾出現問題,檢查的經過非常快速!若加上 -f 強制檢查,才會一項一項的顯示過程。

磁碟掛載與卸載

Linux 的磁碟掛載使用 mount 命令,卸載使用 umount 命令。

mount命令用於負載檔案系統到指定的載入點。此命令的最常用於掛載cdrom,使我們可以訪問cdrom中的資料,因為你將光碟片插入cdrom中,Linux並不會自動掛載,必須使用Linux mount命令來手動完成掛載。

磁碟掛載文法:

mount [-t vfstype] [-o options] device dirmount [-t 檔案系統] [-L Label名] [-o 額外選項] [-n]  裝置檔案名稱  掛載點

-t 詳細選項:

光碟片或光碟片鏡像:iso9660

DOS fat16檔案系統:msdos

Windows 9x fat32檔案系統:vfat

Windows NT ntfs檔案系統:ntfs

Mount Windows檔案網際網路共用:smbfs(需核心支援)推薦cifs

UNIX(LINUX) 檔案網際網路共用:nfs

-o 詳細選項:

loop :用來把一個檔案當成硬碟分區掛接上系統

ro :採用唯讀方式掛接裝置

rw :採用讀寫方式掛接裝置

iocharset :指定訪問檔案系統所用字元集,例如iocharset=utf8

remount :重新掛載

執行個體 1

用預設的方式,將剛剛建立的 /dev/hdc6 掛載到 /mnt/hdc6 上面!

[root@ylg ~]# mkdir /dev/hdc6[root@ylg ~]# mount /dev/hdc6 /mnt/hdc6[root@ylg ~]# dfFilesystem           1K-blocks      Used Available Use% Mounted on.....中間省略...../dev/hdc6              1976312     42072   1833836   3% /mnt/hdc6
磁碟卸載命令 umount

文法:

umount [-fn] 裝置檔案名稱或掛載點

選項與參數:

-f :強制卸載!可用在類似網路檔案系統 (NFS) 無法讀取到的情況下; -n :不升級 /etc/mtab 情況下卸載。

卸載/dev/hdc6

[root@ylg ~]# umount /dev/hdc6    

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.