Inhaltsverzeichnis

du (disk usage)

Disk Usage of Directories

Größe von Verzeichnissen und Inhalten zusammenzählen: du (disk usage)

z.B.

du -a -m

zählt alle Verzeichnisse und Dateien (-a) zusammen uns zeigt Ergebnis in MB (-m)

-h : human readable (or „–human-readable“)

-x : berücksichtigt keine gemounteten Unterverzeichnisse

z.B. nummerisch sortiert

du -shx | sort -n

eMail for tracking disc space

A partition filled >=90% for cronscript:

#!/usr/bin/env bash

# loop over each device name culled from df with grep, excluding tmpfs entries
# the device name is stored in $dev
for dev in `df | grep -v tmpfs | egrep -o ^/dev/[[:alnum:]]\{3,4\}`; do
used=`df | grep ^$dev | egrep -o [0-9]\{1,2\}% | egrep -o [0-9]\{1,2\}` # the percent of space used is stored in $used
fs=`df | grep ^$dev | egrep -o /[[:alpha:]/]*$` # the mount point is stored in fs
if [ $used -ge 90 ]; then # if more than 90% of space is used
echo "$dev ($fs) is $used% full." | mail -s "$dev is low on free space." root # send a warning email to root
fi
done 

or

#!/bin/bash
system=`hostname --fqdn`
for line in `df -aPh | grep "^/" | sort | awk '{print$6"-"$5"-"$4}'`; do
percent=`echo "$line" | awk -F - '{print$2}' | cut -d % -f 1`
partition=`echo "$line" | awk -F - '{print$1}' | cut -d % -f 1`

limit=90

if [ $partition == '/cdrom' ]; then
limit=101
fi

if [ $percent -ge $limit ]; then
echo "Free Space warning!" | mail -a "From: spacecsekker" -s "[$system] $line" xxx@xxx.bme.hu
fi
done 

Quelle1)

Get and display the file size and the directory size using du command

The du command ( disk usage ) gather and summarize about how much your disk space being used by your file and the disk space being use by directory in the Linux system The du command can be use to find the size of file and the size of directory in Linux system. The example below show the step to use the du command to get the size of file and the size of directory in Linux Fedora Core system.

Using du command to get file size.

The du command below show the files size in the current directory in MB or K.

 
[root@fedora ~]#  du -h 
4.0K ./.rhopenoffice1.1/program/addin 
108K ./.gnome2 
28K ./.nautilus/metafiles 
32K ./.nautilus 
6.0M ./.mozilla/firefox/1wvl2gwo.default/Cache 
12K ./.mozilla/firefox/1wvl2gwo.default/chrome 
12M . 
 

The output from above command show the size of each file, directory and with the total size used in your system in human readable size ( -h ).

Get the total size of current directory.

The du command can be use to determine the total size of file in current directory. The example below show the du command use with -s (summarize) and -h (human readable format) option to summaries the size of disk space taken by current directory.

   
[root@fedora ~]#  du -s 
768096 . 
[root@fedora ~]#  du -sh 
751M . 
[root@fedora ~]# 

To get the size of file and directory in current directory.

   
[root@fedora ~]#  du -sh * 
14M 20060524-033-x86.exe 
85M labu-punyer 
8.0K libjmti.odt 
4.0K linux-feeds.txt 
4.0K mambo_conf.txt 
8.0K yumex-0-1.0.1-1.0.fc5.html 
408K yumex-1.0.1-1.0.fc5.noarch.rpm 
8.0K yum install 
11M zope-2.8.5-1.fc5.i386.rpm 
[root@fedora ~]# 
  

Display the size of specific file extension.

The example below show du command execute with -c option to get the size of each file that have filename ending with .txt and then display grand total of all files in human readable format.

   
[root@fedora ~]#  du -ch *.txt 
4.0K create.drupal-2.txt 
4.0K create.drupal.db.txt 
4.0K drupal-pass.txt 
4.0K joomla-bazz.txt 
4.0K linux-feeds.txt 
4.0K mambo_conf.txt 
8.0K msql-bazz.txt 
4.0K setup_mysql_mambo.txt 
4.0K simple.txt 
40K total 
[root@fedora ~]# 
  

Check the size of home directory.

The example below show the use of du command to get the disk usage of each user home directory on the system.

  
[root@fedora home]#  pwd 
/home 
[root@fedora home]#  du -sh * 
492K bazz 
48K botol 
44K hamirul 
22M kambing 
48K kayu 
56K labu 
80K sysuser 
40K william 
40K ycluckers 
[root@fedora home]# 
  

To produce grand total of the /home directory size.

[root@fedora home]#  pwd 
/home 
[root@fedora home]#  du -csh * 
492K bazz 
48K botol 
44K hamirul 
22M kambing 
48K kayu 
56K labu 
80K sysuser 
40K william 
40K ycluckers 
23M total 
[root@fedora home]# 
  

The following are some of the flags and arguments that can be used