學習目錄
- 基本操作
- 簡單的磁盤管理
基本操作
df -h
:查看主機磁盤的使用情況。
物理主機上的 /dev/sda2 是對應着主機硬盤的分區,後面的數字表示分區號,數字前面的字母 a 表示第幾塊硬盤(也可能是可移動磁盤),如果主機上有多塊硬盤則可能還會出現 /dev/sdb,/dev/sdc 這些磁盤設備都會在 /dev 目錄下以文件的存在形式。
du -h
查看目錄的容量
du -h -d 0 ~
只查看一級目錄信息
du -h -d 1 ~
只查看二級目錄信息
-d
:指定查看目錄的深度
-a
:顯示目錄中所有文件的大小
-s
;僅顯示總計
簡單磁盤操作
dd也可以用在備份硬件的引導扇區、獲取一定數量的隨機數據或者空數據等任務中。dd程序也可以在複製時處理數據,例如轉換字節序、或在 ASCII 與 EBCDIC 編碼間互換。
dd的命令行語句與其他的 Linux 程序不同,因爲它的命令行選項格式爲選項=值,而不是更標準的**–選項 值或-選項=值。dd默認從標準輸入中讀取**,並寫入到標準輸出中,但可以用選項if(input file,輸入文件)和of(output file,輸出文件)改變。
1.從標準輸入讀取用戶輸入,輸入到標準輸出或文件中
dd of=test bs=10 count=1
:從標準輸入中讀取用戶的輸入,然後輸入到標準輸出中或一個文件中。
of=test
:of
定義輸出,test
爲輸出到的文件名。
bs=10
:bs(block size)
指定塊大小(單位默認爲Byte,也可指定K,M,G單位bs=1M
),10
只讀取10字節的數據。
count=1
:指定塊數量,1
只有1塊
注意:
空格回車也算一字節。
2.dd命令在拷貝的同時實現數據轉換(例:大小寫轉換)
dd if=/dev/stdin of=test bs=10 count=1 conv=ucase
:將標準輸入中的小寫字母轉換成大寫字母
/dev/stdin
:dev/stdin fd/0 symbolic stdin(標準輸入)文件描述
參考鏈接:設備文件dev詳解
conv=ucare
:將小寫字母轉換成大寫字母
3.使用dd命令創建虛擬鏡像文件
dd if=/dev/zero of=virtual.img bs=1M count=256
:從/dev/zero設備創建一個容量爲256M的空文件。
sudo mkfs.ext4 virtual.img
:將虛擬磁盤鏡像格式化爲ext4文件系統。
mount -o loop -t ext4 virtual.img /mnt
:將創建額虛擬磁盤鏡像掛在在/mnt目錄
mount -o loop --ro virtual.img /mnt
:以只讀的方式掛載
sudo umount /mnt
:使用umount命令卸載已掛載磁盤
4.磁盤分區
sudo fdisk -l
查看硬盤分區表信息
sudo fdisk virtual.img
;進入磁盤分區模式
sudo losetuo /dev/loopO virtual.img
:使用losetup命令建立鏡像與迴環設備的關聯
sudo losetup -d /dev/loopO
:解除設備關聯
之後是使用mkfs
格式化各分區,不過格式化前,我們還要爲各分區建立虛擬設備的映射,用到kpartx工具,需要先安裝
sudo apt-get install kpartx
sudp kpartx -av /dev/loopO
取消映射:
sudo kpartx -dv /dev/loopO
全部格式化爲ext4:
sudo mkfs.ext4 -q /dev/mapper/loopOp1
sudo mkfs.ext4 -q /dev/mapper/loopOp5
sudo mkfs.ext4 -q /dev/mapper/loopOp6
格式化完成後在/media
目錄下新建四個空目錄用於掛載虛擬磁盤:
mkdir -p /media/virtualdisk_{1..3}
掛載磁盤分區:
sudo mount /dev/mapper/loopOp1 /media/virtualdisk_1
sudo mount /dev/mapper/loopOp5 /media/virtualdisk_2
sudo mount /dev/mapper/loopOp6 /media/virtualdisk_3
卸載磁盤分區:
sudo umount /dev/mapper/loopOp1
sudo umount /dev/mapper/loopOp5
sudo umount /dev/mapper/loopOp6
如何找到當前目錄下佔用最大的前十個文件:
du -hsx * | sort -rh | head -10
du -hsx
:顯示每個文件和目錄的磁盤使用空間
-h
或–human-readable 以K,M,G爲單位,提高信息的可讀性。
-s
或–summarize 僅顯示總計,只列出最後加總的值。
-x
或–one-file-xystem 以一開始處理時的文件系統爲準,若遇上其它不同的文件系統目錄則略過。
sort -rh
:將文件進行排序並輸出
-r
:以相反的順序來排序;
head -10
:顯示文件的開頭部分。
-10
:顯示前十個