Linux磁碟系統——管理磁碟的命令 Linux磁碟系統——管理磁碟的命令 摘要:本文主要學習了Linux系統中管理磁碟的命令,包括查看磁碟使用情況、磁碟掛載相關、磁碟分區相關、磁碟格式化等操作。 df命令 df命令用於顯示Linux系統中各文件系統的硬碟使用情況,包括文件系統所在硬碟分區的總容量、 ...
Linux磁碟系統——管理磁碟的命令
摘要:本文主要學習了Linux系統中管理磁碟的命令,包括查看磁碟使用情況、磁碟掛載相關、磁碟分區相關、磁碟格式化等操作。
df命令
df命令用於顯示Linux系統中各文件系統的硬碟使用情況,包括文件系統所在硬碟分區的總容量、已使用的容量、剩餘容量等。
/dev/shm為記憶體掛載點,如果你想把文件放到記憶體里,就可以放到/dev/shm/目錄下。
基本語法
1 [root@localhost ~]# df [選項] 目錄或文件
選項說明
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
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的數量來顯示。
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
使用舉例
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
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 /]#
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
du命令
du命令是統計目錄或文件所占磁碟空間大小的命令。
基本語法
1 [root@localhost ~]# du [選項] 目錄或文件
選項說明
1 -a:顯示每個子文件的磁碟占用量。預設只統計子目錄的磁碟占用量。 2 -h:使用習慣單位顯示磁碟占用量,如KB、MB或GB等。 3 -s:統計總磁碟占用量,而不列出子目錄和子文件的磁碟占用量。
使用舉例
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
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 ~]#
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
mount命令
mount掛載命令是用來將硬體設備的文件系統和Linux系統中的文件系統,通過指定目錄(作為掛載點)進行關聯。
基本語法
顯示已掛載設備:
1 [root@localhost ~]# mount [選項]
掛載設備:
1 [root@localhost ~]# mount [選項] 設備文件名 掛載點
選項說明
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
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:重新掛載已掛載的文件系統,一般用於指定修改特殊許可權。
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
umount命令
umount命令用於卸載已經掛載的硬體設備。
基本語法
1 [root@localhost ~]# umount 設備文件名或掛載點
lsblk命令
lsblk命令用來列出所有可用塊設備的信息,但是,它不會列出RAM盤的信息。
基本語法
1 [root@localhost ~]# lsblk [選項] 設備名稱
選項說明
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
1 -d:僅列出磁碟本身,並不會列出該磁碟的分區信息。 2 -f:同時列出該磁碟內的文件系統名稱。 3 -i:使用ASCII的字元輸出,不要使用使用複雜的編碼(在某些環境下有用)。 4 -m:同時輸出該設備在/dev下麵的許可權信息(rwx的數據)。 5 -p:列出該設備的完整文件名(因為不加這個選項,顯示的是最後的名字)。 6 -t:列出該磁碟設備的詳細數據,包括磁碟列陣機制、預讀寫的數據量大小等。
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
使用舉例
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
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 ~]#
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
結果說明
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
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:指出設備掛載的掛載點。
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
blkid命令
blkid命令可以列出文件系統名稱與設備的UUID等數據。
UUID是全局唯一標識符(universally unique identifier)。Linux會將系統內所有的設備給予一個獨一無二的標識符,可以拿來作為掛載或是使用這個設備或文件系統。
基本語法
1 [root@localhost ~]# blkid 設備文件名
使用舉例
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
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 ~]#
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
parted命令
parted命令可用於查看磁碟的分區狀態,還可以用於磁碟的分區/刪除,以及磁碟分區表的類型轉換(可以實現,但是不建議做,十分危險)。
基本語法
1 parted 設備文件名 [選項]
選項說明
1 print:列印磁碟分區信息。 2 mkpart [primary|logical|extended] [ext4|vfat|xfs] 分區開始記憶體處 分區結束記憶體處:新增分區。 3 rm 分區號碼:刪除分區。 4 mklabel 分區表格式:磁碟分區表的類型轉換,常用的有msdos和gpt分區表格式,msdos不支持2TB以上容量的磁碟,所以大於2TB的磁碟選gpt分區表格式。
使用舉例
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
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 ~]#
![複製代碼](https://common.cnblogs.com/images/copycode.gif)
結果說明
1 Model:磁碟的模板名稱(廠商)。 2 Disk:磁碟的總容量。 3 Sector size:磁碟的每個邏輯/物理扇區的大小。 4 Partition Table:分區表的格式(MBR/GPT)。 5 最後一排:分區的數據。
fdisk命令
fdisk命令用於MBR分區表格式磁碟的分區或查詢。
基本語法
1 [root@localhost ~]# fdisk 設備文件名
gdisk命令
gdisk命令用於GPT分區表格式磁碟的分區或查詢。
基本語法
1 [root@localhost ~]# gdisk 設備文件名