====== du (disk usage) ======
[[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
Quelle((http://www.labtestproject.com/linuxcmd/du_command.html))
===== 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 ====
* ''-a, --all'' write counts for all files, not just directories
* --apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in (`sparse') files, internal fragmentation, indirect blocks, and the like
* -B, --block-size=SIZE use SIZE-byte blocks
* -b, --bytes equivalent to `--apparent-size --block-size=1'
* -c, --total produce a grand total
* -D, --dereference-args dereference FILEs that are symbolic links
* -H like --si, but also evokes a warning; will soon change to be equivalent to --dereference-args (-D)
* -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G)
* --si like -h, but use powers of 1000 not 1024
* -k like --block-size=1K
* -l, --count-links count sizes many times if hard linked
* -L, --dereference dereference all symbolic links
* -P, --no-dereference don't follow any symbolic links (this is the default)
* -0, --null end each output line with 0 byte rather than newline
* -S, --separate-dirs do not include size of subdirectories
* -s, --summarize display only a total for each argument
* -x, --one-file-system skip directories on different filesystems
* -X FILE, --exclude-from=FILE Exclude files that match any pattern in FILE
* --exclude=PATTERN Exclude files that match PATTERN
* --max-depth=N print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize
* --help display this help and exit
{{tag>"disk space used" du "disk used" "calclate disk space" "disk space"}}