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!

推薦閱讀: