linux df du ls 命令詳解

參考

ls的用法

ls -l |grep “^-”|wc -l或find ./company -type f | wc -l 查看某文件夾下文件的個數,包括子文件夾裏的。

ls -lR|grep “^-”|wc -l 查看某文件夾下文件夾的個數,包括子文件夾裏的。

ls -lR|grep “^d”|wc -l

說明:ls -l 長列表輸出該目錄下文件信息(注意這裏的文件,不同於一般的文件,可能是目錄、鏈接、設備文件等)

      grep "^-"  這裏將長列表輸出信息過濾一部分,只保留一般文件,如果只保留目錄就是 ^d

      wc -l 統計輸出信息的行數,因爲已經過濾得只剩一般文件了,所以統計結果就是一般文件信息的行數,又由於一行信息對應一個文件,所以也就是文件的個數。 

du的用法

du命令用來查看目錄或文件所佔用磁盤空間的大小。常用選項組合爲:du -sh

du常用的選項:
  -h:以人類可讀的方式顯示
  -a:顯示目錄佔用的磁盤空間大小,還要顯示其下目錄和文件佔用磁盤空間的大小
  -s:顯示目錄佔用的磁盤空間大小,不要顯示其下子目錄和文件佔用的磁盤空間大小
  -c:顯示幾個目錄或文件佔用的磁盤空間大小,還要統計它們的總和
  --apparent-size:顯示目錄或文件自身的大小
  -l :統計硬鏈接佔用磁盤空間的大小
  -L:統計符號鏈接所指向的文件佔用的磁盤空間大小  
du -sh : 查看當前目錄總共佔的容量。而不單獨列出各子項佔用的容量

du -lh --max-depth=1 : 查看當前目錄下一級子文件和子目錄佔用的磁盤容量。

du -sh * | sort -n 統計當前文件夾(目錄)大小,並按文件大小排序
du -sk filename 查看指定文件大小

df命令概述

df命令作用是列出文件系統的整體磁盤空間使用情況。可以用來查看磁盤已被使用多少空間和還剩餘多少空間。
df命令顯示系統中包含每個文件名參數的磁盤使用情況,如果沒有文件名參數,則顯示所有當前已掛載文件系統的磁盤空間使用情況,參考示例1。
在默認情況下,磁盤空間是以1KB爲單位進行顯示的,但是,如果POSIXLY_CORRECT環境變量被設置爲true,這種情況下默認使用512字節爲單位顯示,參考示例9。

df命令語法
df [選項] [文件名]
參數:
-a:–all,顯示所有的文件系統,包括虛擬文件系統,參考示例2。
-B:–block-size,指定單位大小。比如1k,1m等,參考示例3。
-h:–human-readable,以人們易讀的GB、MB、KB等格式顯示,參考示例4。
-H:–si,和-h參數一樣,但是不是以1024,而是1000,即1k=1000,而不是1k=1024。
-i:–inodes,不用硬盤容量,而是以inode的數量來顯示,參考示例5。
-k:以KB的容量顯示各文件系統,相當於–block-size=1k。
-m:以KB的容量顯示各文件系統,相當於–block-size=1m。
-l:–local,只顯示本地文件系統。
–no-sync:在統計使用信息之前不調用sync命令(默認)。
-sync:在統計使用信息之前調用sync命令。
-P:–portability,使用POSIX格式顯示,參考示例6。
-t:–type=TYPE,只顯示指定類型的文件系統,參考示例7。
-T:–print-type,顯示文件系統類型,參考示例8。
-x:–exclude-type=TYPE,不顯示指定類型的文件系統。
–help:顯示幫助信息。
–version:顯示版本信息。

df命令示例
示例1:查看包含給定文件磁盤空間使用情況
[root@localhost ~]# df /home #指定一個文件夾,查看該文件夾所在磁盤的使用情況
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /

[root@localhost ~]# df /bin/ls #指定一個文件
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /

[root@localhost ~]# df /bin/ls /home #指定多個文件或文件夾
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda2 16036224 2749160 12459316 19% /

[root@localhost ~]# df /bin/ls /home /usr/ #指定多個文件或文件夾
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda2 16036224 2749160 12459316 19% /

[root@localhost ~]# df # 默認情況
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm

輸出結果列說明:

Filesystem:代表該文件系統時哪個分區,所以列出的是設備名稱。
1K-blocks:說明下面的數字單位是1KB,可利用-h或-m來改變單位大小,也可以用-B來設置。
Used:已經使用的空間大小。
Available:剩餘的空間大小。
Use%:磁盤使用率。如果使用率在90%以上時,就需要注意了,避免磁盤容量不足出現系統問題,尤其是對於文件內容增加較快的情況(如/home、/var/spool/mail等)。
Mounted on:磁盤掛載的目錄,即該磁盤掛載到了哪個目錄下面。
示例2:查看所有文件系統
[root@localhost ~]# df -a #包括虛擬文件系統
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
devpts 0 0 0 - /dev/pts
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm
none 0 0 0 - /proc/sys/fs/binfmt_misc
none 0 0 0 - /proc/fs/vmblock/mountPoint
sunrpc 0 0 0 - /var/lib/nfs/rpc_pipefs

[root@localhost ~]# df # 默認
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm

說明:系統裏面存在很多特殊的文件系統,這些比較特殊的文件系統幾乎都是在內存當中,(如/proc掛載點),所以,這些特殊文件系統都不會佔據硬盤空間。

示例3:指定單位大小
[root@localhost ~]# df -B 1k #1k爲單位
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2749160 12459316 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm

[root@localhost ~]# df --block-size 1m #1M爲單位
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/sda2 15661 2685 12168 19% /
/dev/sda1 289 17 258 7% /boot
tmpfs 1005 0 1005 0% /dev/shm

示例4:以人們易讀的方式顯示
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 16G 2.7G 12G 19% /
/dev/sda1 289M 17M 258M 7% /boot
tmpfs 1005M 0 1005M 0% /dev/shm

示例5:以inode的數量顯示
[root@localhost ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda2 4141216 101279 4039937 3% /
/dev/sda1 76304 35 76269 1% /boot
tmpfs 257068 1 257067 1% /dev/shm

示例6:使用POSIX格式顯示
[root@localhost ~]# df -P #使用POSIX格式顯示
Filesystem 1024-blocks Used Available Capacity Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm

[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm

示例7:只顯示類型爲ext3的文件系統
[root@localhost ~]# df -t ext3
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot

示例8:顯示出每個文件系統的類型
[root@localhost ~]# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda2 ext3 16036224 2750464 12458012 19% /
/dev/sda1 ext3 295561 16911 263390 7% /boot
tmpfs tmpfs 1028272 0 1028272 0% /dev/shm

示例9:顯示出每個文件系統的類型
[root@localhost ~]# df #默認情況是1024
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm

[root@localhost ~]# export POSIXLY_CORRECT=true #設置POSIXLY_CORRECT爲true

[root@localhost ~]# df #POSIXLY_CORRECT爲true時默認512
Filesystem 512B-blocks Used Available Use% Mounted on
/dev/sda2 32072448 5500928 24916024 19% /
/dev/sda1 591122 33822 526780 7% /boot
tmpfs 2056544 0 2056544 0% /dev/shm

[root@localhost ~]# unset POSIXLY_CORRECT #取消設置POSIXLY_CORRECT
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 16036224 2750464 12458012 19% /
/dev/sda1 295561 16911 263390 7% /boot
tmpfs 1028272 0 1028272 0% /dev/shm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章