Linux常用硬盤管理相關命令介紹
1、df命令
df
命令用於統計分區的占用狀況。
[root@localhost ~]# df -ahT
選項:
-a
:顯示特殊文件系統,這些文件系統幾乎都是保存在內存中的。如proc
,因為是掛載在內存中,所以占用量都是0。
-h
:換算成人類習慣看的單位(人性化顯示)。
-T
:多出瞭一列文件系統類型。
示例如下:
[root@localhost ~]# df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/sda3 ext4 19G 2.2G 16G 13% / tmpfs tmpfs 495M 0 495M 0% /dev/shm /dev/sdal ext4 190M 33M 147M 19% /boot
結果說明:
Filesystem
:設備文件名。
Type
:文件系統類型。
Size
:分區總大小。
Used
:占用大小。
Avail
:空閑多少。
Use%
:利用率。
Mounted on
:掛載點。
2、du命令
du
命令用於統計目錄或文件大小的命令。
[root@localhost ~]# du [選項] [目錄或文件名]
選項:
-a
:顯示每個子文件的磁盤占用量。默認隻統計子目錄的磁盤占用量。
-h
:使用習慣單位顯示磁盤占用量,如KB,MB或GB等(人性化顯示)。
-s
:統計總占用量,而不列出子目錄和子文件的占用量。
(1)ls
或者ll
命令統計目錄的大小是不準確的,為什麼?
我們通過ls
或者ll
命令查看文件大小,目錄一般是0K
或者4k
或者是4K
的倍數。
如下圖:boot
目錄和dev
目錄除外。
我把一個6.2M
大小的壓縮包解壓後,所的到的文件夾,顯示也是4K
。
如下圖所示:
解壓後得到的文件,反而比壓縮文件小很多,這明顯就是不正確的數據。
這明顯就是不合理的情況。
說明ls
或者ll
命令統計文件大小有問題,統計目錄大小的數據是不準確的。
出現這種問題的原因,還要從分區說起。
目錄有自己的block
塊,該block
塊中存放著文件名和對應的i
節點號,和目錄中文件的文件名和i
節點號的數據,目錄的block
塊中是不會統計目錄中的文件大小是多少。
記錄目錄的文件名和對應的i
節點號,和目錄中文件的文件名和i
節點號的這些數據,如果一個block
塊能裝下,就是4K
,如果裝不下,就分多個block
塊來存儲,這樣就是4K
的倍數。
所以執行[root@localhost ~]# du -h httpd-2.2.9
命令,就可以看到httpd-2.2.9
目錄中每個文件的大小,最後會顯示httpd-2.2.9
目錄的大小。
如果隻需要看文件的總大小,添加選項s
即可。
[root@localhost ~]# du -hs httpd-2.2.9
解釋:
為什麼boot
目錄是1K大小,因為之前說過block
塊的大小為1K、2K、4K(默認),但是boot
是一個單獨的分區,默認就是1KB。
dev
目錄是特殊硬件目錄,裡邊保存的都是硬盤等設備信息,比較特殊,所以除外。
(2)du
命令與df
命令的區別
du
命令是用於統計文件大小的,統計的文件大小是準確的。
df
命令是用於統計空間大小的(文件和臨時文件都會算,重啟會釋放),統計分區的使用率是準確的(更明確的說法是分區剩餘空間是準確的)。
再有如果你在工作中不能重啟服務器,想釋放臨時文件占用的空間,也是可以手動釋放的。
sof I grep deleted
:是查詢文件隱藏狀態的命令,找出要刪除的文件,然後一個進程一個進程的手工kill
也是可以的。
這樣做法極其難操作,出現錯誤的幾率很高,不推薦手動釋放。
Linux服務器在計劃之內的重啟所造成的損失,遠比服務器意外宕機或重啟所造成的損失要小的多。
3、fsck文件系統修復命令
這個命令是Linux系統中自帶的一個文件系統修復的命令。
這個命令有點類似於Windows系統沒有正常關機(突然斷電瞭),下次開機的時候會提示是否掃描修復文件。
自動修復命令:
[root@localhost ~]# fsck -y /dev/sdb1
這條命令在Linux系統開機的時候,會自動執行。如果文件能通過fsck
命令進行修復,開機自動執行也就修復瞭,如果Linux系統啟動之後文件還報錯,手工在執行一邊fsck
命令,也是沒有用的,修復不好。
4、顯示磁盤狀態dumpe2fs
顯示磁盤狀態使用dumpe2fs
命令,執行dumpe2fs + 分區號
進行查看。
如何查詢分區號,通過df -h
命令進行查詢,很方便。
下面是執行命令的結果:
上面的信息很多,如果你隻想看超級塊的信息(也就是最上面的一部分信息),隻需要加上-h
選項即可。
如下:
[root@localhost ~]# dumpe2fs -h /dev/sda3
5、查看文件的詳細時間
stat 文件名
:查看文件的詳細時間。
執行命令結果如下:
這些信息能看懂就行。瞭解即可。
6、判斷文件類型
file 文件名
:判斷文件類型
type 命令名
:判斷命令類型
判斷文件類型
如果我們判斷一個文件,會顯示該文件是一個ASCII碼的英文文檔。
[root@localhost ~]# file anaconda-ks. cfg anaconda-ks. cfg: ASCII English text
如果我們判斷一個目錄,會顯示該文件是一個目錄。
[root@localhost ~]# file 123/ 123/: directory
判斷命令類型
Linux系統中的命令分為內部命令和外部命令
如果用type
命令判斷命令類型,有命令的位置,說明是外部命令。
如下:
[root@localhost ~]# type mkdir mkdir is /bin/mkdir
如果用type
命令判斷命令類型,顯示shell builtin
(shell內置命令),說明是內部命令。
如下:
[root@localhost ~]# type cd cd is a shell builtin
如果命令有別名,用type
命令判斷命令類型,顯示的是命令的別名信息。
[root@localhost ~]# type ls ls is aliased to 'ls --color=auto'
提示:這兩個命令一般都是在寫腳本程序的時候使用,平時我們辨別文件還是文件夾都很方便的(用眼,哈哈)。
到此這篇關於Linux常用硬盤管理相關命令介紹的文章就介紹到這瞭,更多相關Linux硬盤管理命令內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Linux磁盤管理方法介紹
- Shell AWK編程的基本介紹和使用詳解
- linux 查看文件系統類型實例方法
- Linux之CRLF/CR/LF等回車換行符的問題
- docker容器源碼部署httpd用存儲卷部署網站(推薦)