Linux磁盤系統——管理磁盤的命令


Linux磁盤系統——管理磁盤的命令

摘要:本文主要學習了Linux系統中管理磁盤的命令,包括查看磁盤使用情況、磁盤掛載相關、磁盤分區相關、磁盤格式化等操作。

df命令

df命令用於顯示Linux系統中各文件系統的硬盤使用情況,包括文件系統所在硬盤分區的總容量、已使用的容量、剩余容量等。

/dev/shm為內存掛載點,如果你想把文件放到內存里,就可以放到/dev/shm/目錄下。

基本語法

1 df [選項] 目錄或文件

選項說明

1 -a:顯示所有文件系統信息,包括系統特有的/proc、/sysfs等文件系統。
2 -k:以KB為單位顯示容量,默認。
3 -m:以MB為單位顯示容量。
4 -h:使用人們習慣的KB、MB或GB等單位自行顯示容量。
5 -H:以M=1000K取代M=1024K的進位方式顯示容量。
6 -T:顯示該分區的文件系統名稱(例如xfs)。
7 -i:不用硬盤容量顯示,而是以含有inode的數量來顯示。

使用舉例

 1 [root@localhost /]# df -hiT
 2 文件系統                類型     Inode 已用(I) 可用(I) 已用(I)% 掛載點
 3 /dev/mapper/centos-root xfs        17M     28K     17M       1% /
 4 devtmpfs                devtmpfs  120K     386    120K       1% /dev
 5 tmpfs                   tmpfs     123K       1    123K       1% /dev/shm
 6 tmpfs                   tmpfs     123K     472    122K       1% /run
 7 tmpfs                   tmpfs     123K      13    123K       1% /sys/fs/cgroup
 8 /dev/sda2               xfs       700K     329    700K       1% /boot
 9 tmpfs                   tmpfs     123K       1    123K       1% /run/user/0
10 [root@localhost /]# 

du命令

du命令是統計目錄或文件所占磁盤空間大小的命令。

基本語法

1 du [選項] 目錄或文件

選項說明

1 -a:顯示每個子文件的磁盤占用量。默認只統計子目錄的磁盤占用量。
2 -h:使用習慣單位顯示磁盤占用量,如KB、MB或GB等。
3 -s:統計總磁盤占用量,而不列出子目錄和子文件的磁盤占用量。

使用舉例

1 [root@localhost ~]# du -sh /
2 du: 無法訪問"/proc/3628/task/3628/fd/4": 沒有那個文件或目錄
3 du: 無法訪問"/proc/3628/task/3628/fdinfo/4": 沒有那個文件或目錄
4 du: 無法訪問"/proc/3628/fd/4": 沒有那個文件或目錄
5 du: 無法訪問"/proc/3628/fdinfo/4": 沒有那個文件或目錄
6 1.1G    /
7 [root@localhost ~]# 

mount命令

mount掛載命令是用來將硬件設備的文件系統和Linux系統中的文件系統,通過指定目錄(作為掛載點)進行關聯。

基本語法

顯示已掛載設備:

1 mount [選項]

掛載設備:

1 mount [選項] 設備文件名 掛載點

選項說明

 1 -a:顯示出系統中已掛載的設備信息。
 2 -l:額外顯示出卷標名稱。
 3 -t 系統類型:指定欲掛載的文件系統類型。Linux常見的支持類型有xfs、ext2、ext3、ext4、iso9660、fat、vfat等。如果不指定具體類型,掛載時Linux會自動檢測。
 4 -L 卷標名:除了使用設備文件名之外,還可以利用文件系統的卷標名稱進行掛載。
 5 -n:在默認情況下,系統會將實際掛載的情況實時寫入/etc/mtab文件中,但在某些場景下(例如單人維護模式),為了避免出現問題,會刻意不寫入,此時就需要使用這個選項。
 6 -o 特殊選項:可以指定掛載的額外選項,比如讀寫權限、同步/異步等,如果不指定,則使用默認值(defaults)。具體的特殊選項:
 7     rw/ro:是否對掛載的文件系統擁有讀寫權限,rw為默認值,表示擁有讀寫權限。ro表示只讀權限。
 8     async/sync:此文件系統是否使用同步寫入(sync)或異步(async)的內存機制,默認為異步async。
 9     dev/nodev:是否允許從該文件系統的block文件中提取數據,為了保證數據安裝,默認是nodev。
10     auto/noauto:是否允許此文件系統被以mount -a的方式進行自動掛載,默認是auto。
11     suid/nosuid:設定文件系統是否擁有SetUID和SetGID權限,默認是擁有。
12     exec/noexec:設定在文件系統中是否允許執行可執行文件,默認是允許。
13     user/nouser:設定此文件系統是否允許讓普通用戶使用mount執行實現掛載,默認是不允許(nouser),僅有root可以。
14     defaults:定義默認值,相當於rw、suid、dev、exec、auto、nouser、async這7個選項。
15     remount:重新掛載已掛載的文件系統,一般用於指定修改特殊權限。

umount命令

umount命令用於卸載已經掛載的硬件設備。

基本語法

1 umount 設備文件名或掛載點

lsblk命令

lsblk命令用來列出所有可用塊設備的信息,但是,它不會列出RAM盤的信息。

基本語法

1 lsblk [選項] 設備名稱

選項說明

1 -d:僅列出磁盤本身,並不會列出該磁盤的分區信息。
2 -f:同時列出該磁盤內的文件系統名稱。
3 -i:使用ASCII的字符輸出,不要使用使用復雜的編碼(在某些環境下有用)。
4 -m:同時輸出該設備在/dev下面的權限信息(rwx的數據)。
5 -p:列出該設備的完整文件名(因為不加這個選項,顯示的是最后的名字)。
6 -t:列出該磁盤設備的詳細數據,包括磁盤列陣機制、預讀寫的數據量大小等。

使用舉例

 1 [root@localhost ~]# lsblk
 2 NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
 3 sda               8:0    0   20G  0 disk 
 4 ├─sda1            8:1    0    2M  0 part 
 5 ├─sda2            8:2    0  700M  0 part /boot
 6 └─sda3            8:3    0   19G  0 part 
 7   ├─centos-root 253:0    0   17G  0 lvm  /
 8   └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
 9 sr0              11:0    1    4G  0 rom  
10 [root@localhost ~]# 

結果說明

1 NAME:這是塊設備名。
2 MAJ:MIN:顯示主要和次要設備號。
3 RM:顯示設備是否可移動設備。RM值為0說明是不可移動設備,RM值等於1說明是可移動設備。
4 SIZE:列出設備的容量大小信息。
5 RO:該項表明設備是否為只讀。RO值為0說明不是只讀,RO值為1說明是只讀。
6 TYPE:顯示塊設備是否是磁盤或磁盤上的一個分區。在本例中,sda和sdb是磁盤,而sr0是只讀存儲(rom)。
7 MOUNTPOINT:指出設備掛載的掛載點。

blkid命令

blkid命令可以列出文件系統名稱與設備的UUID等數據。

UUID是全局唯一標識符(universally unique identifier)。Linux會將系統內所有的設備給予一個獨一無二的標識符,可以拿來作為掛載或是使用這個設備或文件系統。

基本語法

1 blkid 設備文件名

使用舉例

1 [root@localhost ~]# blkid
2 /dev/sr0: UUID="2015-12-09-23-14-10-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
3 /dev/sda2: UUID="8ea9a0fe-8856-4c0e-9d8e-4d676aefb33e" TYPE="xfs" 
4 /dev/sda3: UUID="yasEyq-jfRF-pMZp-eoeK-fkXu-ouuS-Y46Op2" TYPE="LVM2_member" 
5 /dev/mapper/centos-root: UUID="eee2ef01-d9fd-4357-9c82-4578ad4d4060" TYPE="xfs" 
6 /dev/mapper/centos-swap: UUID="aa4242d0-542f-4512-b475-a91b1bc6c354" TYPE="swap" 
7 [root@localhost ~]#

parted命令

parted命令可用於查看磁盤的分區狀態,還可以用於磁盤的分區/刪除,以及磁盤分區表的類型轉換(可以實現,但是不建議做,十分危險)。

基本語法

1 parted 設備文件名 [選項]

選項說明

1 print:打印磁盤分區信息。
2 mkpart [primary|logical|extended] [ext4|vfat|xfs] 分區開始內存處 分區結束內存處:新增分區。
3 rm 分區號碼:刪除分區。
4 mklabel 分區表格式:磁盤分區表的類型轉換,常用的有msdos和gpt分區表格式,msdos不支持2TB以上容量的磁盤,所以大於2TB的磁盤選gpt分區表格式。

使用舉例

 1 [root@localhost ~]# parted /dev/sda print
 2 Model: VMware, VMware Virtual S (scsi)
 3 Disk /dev/sda: 21.5GB
 4 Sector size (logical/physical): 512B/512B
 5 Partition Table: msdos
 6 Disk Flags: 
 7 
 8 Number  Start   End     Size    Type     File system  標志
 9  1      1049kB  3146kB  2097kB  primary
10  2      3146kB  737MB   734MB   primary  xfs          啟動
11  3      737MB   21.1GB  20.4GB  primary               lvm
12 
13 [root@localhost ~]# 

結果說明

1 Model:磁盤的模板名稱(廠商)。
2 Disk:磁盤的總容量。
3 Sector size:磁盤的每個邏輯/物理扇區的大小。
4 Partition Table:分區表的格式(MBR/GPT)。
5 最后一排:分區的數據。

partprobe命令

partprobe命令可以使kernel重新讀取分區表。

基本語法

1 partprobe [選項]

選項說明

1 -s:顯示摘要和分區信息。

fdisk命令

fdisk命令用於MBR分區表格式磁盤的分區或查詢。

基本語法

1 fdisk 設備文件名

gdisk命令

gdisk命令用於GPT分區表格式磁盤的分區或查詢。

基本語法

1 gdisk 設備文件名

mkfs命令

mkfs命令可以對硬盤分區進行格式化。

基本語法

1 mkfs [選項] 分區設備文件名

選項說明

1 -t 文件系統格式:用於指定格式化的文件系統,如ext3、ext4、xfs等。

mke2fs命令

mke2fs命令可以在為硬盤分區寫入文件系統時,手動調整分區的默認參數。

基本語法

1 mke2fs [選項] 分區設備文件名

選項說明

1 -t 文件系統:指定格式化成哪個文件系統。
2 -b 字節:指定block的大小。
3 -i 字節:指定字節inode的比例,也就是多少字節分配一個inode。
4 -L 卷標名:給文件系統設置卷標名。
5 -j:建立帶有ext3日志功能的文件系統。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM