How do I find out disk usage under UNIX operating systems using GUI, CLI and Perl / shell programs?
You need use the command line utility called "du"to displays the file system block usage. In this example find out /tmp dir disk usage statistics (open the terminal and type the following command):
You need use the command line utility called "du"to displays the file system block usage. In this example find out /tmp dir disk usage statistics (open the terminal and type the following command):
$ du /tmp Sample outputs: 4 /tmp/vmware-root 8 /tmp/pulse-xc7xdoM9vB2K 4 /tmp/.X11-unix 4 /tmp/keyring-7qXGnQ 4 /tmp/.exchange-vivek 4 /tmp/.winbindd 8 /tmp/plugtmp 4 /tmp/virtual-vivek.C81Sd0 4 /tmp/VMwareDnD 4 /tmp/ssh-mhNeIv1961 4 /tmp/.ICE-unix 8 /tmp/orbit-vivek 4 /tmp/.esd-1000 31644 /tmp
The -h option provides "Human-readable" outpu i.e. you will see it in Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte:
$ du -h /tmp Sample outputs: 4.0K /tmp/vmware-root 8.0K /tmp/pulse-xc7xdoM9vB2K 4.0K /tmp/.X11-unix 4.0K /tmp/keyring-7qXGnQ 4.0K /tmp/.exchange-vivek 4.0K /tmp/.winbindd 8.0K /tmp/plugtmp 4.0K /tmp/virtual-vivek.C81Sd0 4.0K /tmp/VMwareDnD 4.0K /tmp/ssh-mhNeIv1961 4.0K /tmp/.ICE-unix 8.0K /tmp/orbit-vivek 4.0K /tmp/.esd-1000 33M /tmp
df: Display Free Disk Space
To show statistics about the amount of free disk space on the specified file system or on the file system of which file is a part use the df command as follows:
Now, you can:
$ df $ df -h Sample outputs: Filesystem Size Used Avail Capacity Mounted on /dev/wd0a 938M 43.0M 848M 5% / /dev/wd0e 817M 2.0K 776M 0% /home /dev/wd0d 2.9G 573M 2.2G 20% /usr
GUI Tools: Disk Usage Analyzer (Gnome Version)
Disk Usage Analyzer is a graphical, menu-driven application to analyze disk usage in any UNIX / Linux / BSD Gnome desktop environment. Disk Usage Analyzer can easily scan either the whole filesystem tree, or a specific user-requested directory branch (local or remote). To start this tool visit Gnome menu click on
Sample outputs:
> Applications > Accessories > Select the Disk Usage Analyzer
Alternatively, you can start Disk Usage Analyzer from a terminal window, just type:
baobab
baobab /path/to/dir
baobab /home/vivek/mp3/
baobab /path/to/dir
baobab /home/vivek/mp3/
Sample outputs:
Fig.01: GUI command to check UNIX / Linux / BSD disk space
Now, you can:
- Start a full filesystem scan
- Select a specific local directory branch to scan
- Select a remote server and folder to scan etc
To start a full filesystem scan select Analyzer > Scan Filesystem from the menu, or press on the Scan Filesystem toolbar button. Disk Usage Analyzer will display sizes in the directory tree as allocated space. This means that the displayed sizes refer to the actual disk usage and not to the apparent directory size. If you want to view the apparent file size, uncheck View > Allocated Space .
Fig.02: Directory size
NCurses Disk Usage
ncdu (NCurses Disk Usage) is a curses-based version of the well-know du, and provides a fast way to see what directories are using your disk space. You can install it as follows under Debian / Ubuntu Linux:
Sample outputs:
$ sudo apt-get install ncdu
To install the port under FreeBSD, enter::
# cd /usr/ports/sysutils/ncdu/ && make install clean
OR
# pkg_add -r ncdu
Simply type ncdu at shell prompt:
$ ncdu
To install the port under FreeBSD, enter::
# cd /usr/ports/sysutils/ncdu/ && make install clean
OR
# pkg_add -r ncdu
Simply type ncdu at shell prompt:
$ ncdu
Sample outputs:
Python Sample Code
You can also use python as follows:
#!/usr/bin/python
import os
size = os.statvfs('/')
output=(size.f_bavail * size.f_frsize) / 1024
print "Available disp space" ,output, "k"
Perl Sample Code
Perl can be also used to find the disk space:
#!/usr/bin/perl use strict; use warnings; use Filesys::DiskSpace; my $dir = "/home"; my ($fs_type, $fs_desc, $used, $avail, $fused, $favail) = df $dir; my $df_free = (($avail) / ($avail+$used)) * 100.0; my $out = sprintf("Disk space on $dir: %0.2f\n",$df_free); print $out;
Shell Scripts
You can monitor UNIX / Linux disk space usage with shell script and send an email alert if the percentage of space is <= 95%.
0 blogger-disqus:
Post a Comment