一、df命令
df命令是Linux操作系統中常用的命令之一,它用於顯示文件系統的磁碟使用情況。使用df命令可以查看磁碟的總容量、已使用容量、可用容量以及使用率等信息。
df -h
上面的命令可以以易讀的方式顯示磁碟使用情況信息。
df命令的選項:
- -h:以易讀的方式顯示磁碟使用信息。
- -a:顯示所有文件系統,包括系統默認隱藏的文件系統。
- -i:顯示inode的使用情況。
- -T:顯示磁碟類型。
例如,我們可以使用下面的命令查看所有文件系統的使用情況信息:
df -h -a
二、du命令
du命令用於顯示指定目錄或文件的磁碟使用情況。使用du命令可以查看指定目錄或文件的總容量、已使用容量、可用容量以及使用率等信息。
du -h /var/log/
上面的命令可以以易讀的方式顯示/var/log/目錄的磁碟使用情況信息。
du命令的選項:
- -h:以易讀的方式顯示磁碟使用信息。
- -s:只顯示目錄或文件的總容量。
- -c:同時顯示所有目錄或文件的總容量。
- –max-depth:設置顯示目錄層級。
例如,我們可以使用下面的命令查看當前目錄下佔用磁碟空間最大的10個文件:
du -h --max-depth=1 | sort -hr | head -n 10
其中,sort命令用於按照文件大小排序,head命令用於顯示文件大小前10個文件。
三、ncdu命令
ncdu命令是一款互動式的磁碟使用情況監控工具,它能夠以直觀的方式顯示文件和目錄的磁碟使用情況,讓用戶更方便地管理磁碟空間。
ncdu
上面的命令可以啟動ncdu。
ncdu命令的使用方法:
- 在ncdu的界面中,按下「?」鍵可以查看ncdu命令的幫助信息。
- 使用方向鍵可以選擇目錄或文件。
- 按下「d」鍵可以刪除選定的目錄或文件。
- 按下「q」鍵可以退出ncdu。
四、Cron定時任務
我們可以使用Cron定時任務來自動化監控磁碟使用情況。例如,我們可以編寫一個Shell腳本,定期調用df命令並將磁碟使用情況信息發送給管理員。
以下是一個發送郵件的Shell腳本:
#!/bin/bash #獲取磁碟使用情況信息 diskInfo=$(df -h) #獲取當前日期和時間 dateTime=$(date +"%Y-%m-%d %H:%M:%S") #生成郵件主題和內容 mailSubject="磁碟使用情況報告($dateTime)" mailBody="磁碟使用情況信息如下:\n\n$diskInfo" #發送郵件 echo -e "$mailBody" | mail -s "$mailSubject" admin@example.com
我們可以將上面的Shell腳本保存為check_disk.sh,並使用Cron定時任務來調用它:
#每天凌晨1點執行一次check_disk.sh 0 1 * * * /bin/bash /path/to/check_disk.sh
五、文件系統擴容
如果發現磁碟空間不足,我們可以考慮對文件系統進行擴容。
以下是擴容ext4文件系統的步驟:
- 在磁碟上創建一個新分區。
- 使用mkfs命令對新分區進行格式化,以便可以掛載到文件系統中。
- 使用mkdir命令創建一個新目錄,以便可以將新分區掛載到該目錄下。
- 使用mount命令將新分區掛載到新目錄下。
- 使用cp命令將原文件系統中的數據複製到新分區中。
- 使用fstab文件配置系統啟動時自動掛載新分區。
例如,我們可以使用以下命令對/dev/sdc1分區進行格式化:
mkfs -t ext4 /dev/sdc1
然後,我們可以使用以下命令將/dev/sdc1分區掛載到/newdir目錄下:
mkdir /newdir mount /dev/sdc1 /newdir
最後,我們可以使用rsync命令將原文件系統中的數據複製到新分區中:
rsync -avz /oldpath /newdir
其中,-avz參數表示以遞歸、歸檔和壓縮的方式複製文件。
擴容文件系統的過程比較複雜,需要謹慎操作,以免誤操作導致文件數據丟失。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/242725.html