linux 的 磁盤管理


 

1. 查看信息

1.1 查看磁盤信息

在linux中如果需要查看磁盤信息,需要使用df和du命令。

df: 列出文件系統中整個磁盤的使用量

du:評估文件系統中磁盤的使用量,經常用來推算目錄所占的容量

 

df –hl
 
        

 

df( abbreviation for disk free)中常見的命令:

     -l, --local 限制列出的文件結構;

     -h, --human-readable 使用人類可讀的格式(預設值是不加這個選項的...);

     -a, --all 包含所有的具有 0 Blocks 的文件系統;

     -k, --kilobytes 就像是 --block-size=1024;

     -P, --portability 使用 POSIX 輸出格式;

--- 詳情參見:  https://en.wikipedia.org/wiki/Df_(Unix)

 

du (abbreviated from disk usage) 在此不再贅述,網上的資料已經很多了

--- 詳情參見:https://en.wikipedia.org/wiki/Du_(Unix)

 

1.2 查看磁盤大小

這里介紹一個du的命令

sudo du –h –max-depth=1 <direction>
# 或者是
du -ah --max-depth=1 <目錄路徑> # a/ all 為每個指定文件顯示磁盤使用情況,或者為目錄中每個文件顯示各自磁盤使用情況
# 假如要查看每個用戶所占用的磁盤空間 sudo du –h -d=1 /home

 

 

1.3 查看內存信息

linux中所有的資源以文件的形式展現,比如內存的信息便是在/proc/meminfo存儲,通過

cat /proc/meminfo

可以查看詳細的內存信息;

free命令是一個快速查看內存使用情況的方法,它是對 /proc/meminfo 收集到的信息的一個概述;

free -h

 

1.4 查看版本信息

 

lsb_release -a
cat /etc/issue

 

1.5 查看內核版本

 

uname –a

 

2. linux磁盤的管理

 

2.0 查找磁盤

bh@bh:~$ ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sdb  /dev/sdc  /dev/sdd

解釋: linux中所有的設備的都是以文件的形式展現的,磁盤也是如此;linux系統中凡是可以檢測到的設備都會在/dev下出現。

dev是device的縮寫,sd是mass-storage driver 的縮寫,由此可見,如果要查看可用的磁盤,可以通過 ls /dev/sd* 查看;

 

 

查看磁盤信息:

bh@bh:~$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

 

2.1 分區操作

# 假定要分區的設備是 sdb
fdisk -l /dev/sdb
# 分區過后,記得根據提示按w進行保存,否則無效
# 分區操作
sudo fdisk /dev/sdb
# 根據提示信息划分磁盤區域
# 在划分完畢以后,記得輸入w進行保存

再次查看,驗證分區結果

bh@bh:~$ ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdd



2.2 磁盤的格式化

磁盤分區完畢以后,就是要對分區格式化。格式化的命令很簡單 mkfs(make file systerm), centOS7可能會用xfs作為預設格式,ubuntu使用的是ext4;

mkfs.ext4 只有兩個參數:
-b : 設置block的大小,可以設置1k,2k,4k,等等;

-L:

bh@bh:~$ sudo mkfs.ext4 /dev/sdb1
mke2fs 1.44.1 (24-Mar-2018)
Found a dos partition table in /dev/sdb1
Proceed anyway? (y,N) y
mkfs.ext4: inode_size (128) * inodes_count (0) too big for a
        filesystem with 0 blocks, specify higher inode_ratio (-i)
        or lower inode count (-N).

格式化以后,可以通過 dumpe2fs 命令查看:

bh@bh:~$ sudo dumpe2fs -h /dev/sdb1

dumpe2fs 1.44.1 (24-Mar-2018)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          9f15b1a8-b750-4f45-9231-f7911ebda515

.....
Inode count:              122101760
Block count:              488378390
Reserved block count:     24418919
Free blocks:              480431167
Free inodes:              122101749
First block:              0
Block size:               4096
Fragment size:            4096
....

Journal checksum:         0xcb55b6e4

 

2.3 磁盤的掛載

# 對sdb1進行格式化,格式的文件系統格式是ext4
sudo mkfs.ext4 /dev/sdb1

 

# 創建掛載目錄
sudo mkdir /home1
#掛載分區sdb1, 同時給定分區格式
bh@bh:/$ sudo mount -t ext4 /dev/sdb1 /home1
#查看掛載目錄的信息
bh@bh:/$ df /home1 # 通過df 命令可以看到掛載成功
Filesystem      1K-blocks  Used  Available Use% Mounted on
/dev/sdb1      1921802520 77852 1824032608   1% /home1

 

 

 

 

3. 磁盤操作的總結:

# 查看設備
bh@bh:/$ ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdc1  /dev/sdd
#對設備sdd進行操作
bh@bh:/$ sudo fdisk /dev/sdd

Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

The old ext4 signature will be removed by a write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x334596a8.

Command (m for help): n # 輸入m會提示相關磁盤的操作,n代表new一個新分區
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p):# 設置磁盤的主分區還是擴展分區

Using default response p.
Partition number (1-4, default 1): 
First sector (2048-3907029167, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-3907029167, default 3907029167):

Created a new partition 1 of type 'Linux' and of size 1.8 TiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
# 格式化sdd1, 並輸出相關信息
bh@bh:/$ sudo mkfs.ext4 /dev/sdd1 
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 488378390 4k blocks and 122101760 inodes
Filesystem UUID: d0e572d2-6970-44d7-8f3f-91905c095f8c
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848

Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done

bh@bh:/$ sudo mkdir /home3 # 創建目錄,視為掛載點
bh@bh:/$ sudo mount -t ext4 /dev/sdd1 /home3 # 將sdd1掛載到home3上
bh@bh:/$ df -h /home3 # 查看最終home3的信息
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdd1       1.8T   77M  1.7T   1% /home3


免責聲明!

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



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