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'
提示:這兩個命令一般都是在寫指令碼程式的時候使用,平時我們辨別檔案還是資料夾都很方便的(用眼,哈哈)。