No matter how much disk space you have,
you will eventually run out. One way the system administrator can force users to
clean up after themselves is to impose quotas on disk usage. Many Unixes have
quota systems available: check your manual pages with a command like apropos quota
.
If you're a user, how do quotas affect you? Sooner or later, you may find that
you're over your quota. Quotas are maintained on a per-filesystem basis. They
may be placed on disk storage (the number of blocks) and on inodes (the number
of files).
The quota system maintains the concept of
hard and soft limits. When you
exceed a soft limit, you'll get a warning (WARNING:
disk quota
exceeded
), but you can continue to accumulate
more storage. The warning will be repeated whenever you log in. At some point
(i.e., after some number of sessions in which the storage stays above the soft
limit), the system loses patience and refuses to allocate any more storage.
You'll get a message like OVER DISK
QUOTA: NO MORE DISK SPACE
. At this point, you
must delete files until you're again within the soft limit. Users are never
allowed to exceed their hard limit. This design allows you to have large
temporary files without penalty, provided that they do not occupy too much disk
space long-term.
There may also be a quota on the number of files (i.e., inodes) that you can own per filesystem. It works exactly the same way; you'll get a warning when you exceed the soft limit; if you don't delete some files, the system will eventually refuse to create new files.
The quota command shows a user's quota on each filesystem where
quotas have been set. With no option, it displays a line for each system where
you're over quota. The -v
option shows a line for each system
where you have a quota. The output can be a bit confusing on systems with the
automounter running, since it mounts things dynamically and uses symlinks to
make things appear where you expect them, so the filesystem names may not match
the directory names you're accustomed to:
$quota
Over disk quota on /home/jpeek, remove 228K within 4.0 days Over file quota on /home/jpeek, remove 13 files within 4.5 days $quota -v
Filesystem usage quota limit timeleft files quota limit timeleft /export/users 0 8000 9000 0 600 750 /export/home9 8228 8000 9000 4.0 days 613 600 750 4.5 days
In this case, the automounter has clearly mounted my home directory on /export/home9, since that shows the same information that quota showed me in the first command.
— ML and JP