Softpanorama

May the source be with you, but remember the KISS principle ;-)
Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and  bastardization of classic Unix

df Command

News Classic Unix Utilities Recommended books Recommended Links Filesystem free space monitoring

Reference

du df equivalents in Perl Admin Horror Stories Unix History Humor

Etc

The df command show the amount of disk space that is free on mounted file systems.  This default action is to display used and free file space in blocks for all mounted filesystems.  If you supply a single partition you will get information on this partition only. Perl has Filesys::Df   module which is an outdated junk -- don't use it.  See df equivalents in Perl

df -P | column -t # Annoyed by wrapped lines in df output. Try -P to unwrap the lines and piping to column will align the columns.

Notes:

The first column content is different for local and non-local filesystems

Subsequent columns show total space, blocks allocated and blocks available. The capacity column indicates the amount used as a percentage of total file system capacity.

The final column show the mount point of the file system. This is the directory where the file system is mounted within the file system tree.  Other file systems can be mounted in any directory of a previously mounted file system. 

When used in scripts it is typically invoked with option -P.  Unfortunately not all Unix flavors support this option so you need to jump through the hoops if you want you script to be portable:

The most important options

-P, --portability Use a standard, portable, output format (not supported by HP-UX 11 (all versions) and Solaris 9)
The output with -P shall consist of one line of information for each specified file system. These lines shall be formatted as follows:
<fs name>, <total space>, <space used>, <space free>, <percentage used>, <fs root>

The fields are:

<fs name>

The name of the file system, in an implementation-defined format.

<total space>

The total size of the file system in 512-byte units. The exact meaning of this figure is implementation-defined, but should include <space used>, <space free>, plus any space reserved by the system not normally available to a user.

<space used>

The total amount of space allocated to existing files in the file system, in 512-byte units.

<space free>

The total amount of space available within the file system for the creation of new files by unprivileged users, in 512-byte units. When this figure is less than or equal to zero, it shall not be possible to create any new files on the file system without first deleting others, unless the process has appropriate privileges. The figure written may be less than zero.

<percentage used>

The percentage of the normally available space that is currently allocated to all files on the file system. This shall be calculated using the fraction:

<space used> / (<space used>+ <space free>)

expressed as a percentage. This percentage may be greater than 100 if <space free> is less than zero. The percentage value shall be expressed as a positive integer, with any fractional result causing it to be rounded to the next highest integer.

<fs root>

The directory below which the file system hierarchy appear

Option -k. Provide output in kilobytes (not supported by UP-UX). In example below the block size is 1024 bytes ( -k option used) as is indicated in the output.:

# df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/cciss/c0d0p3     11904620   3803304   7486832  34% /
/dev/mapper/vg00-home
                      15331248   9379732   5160172  65% /home
/dev/mapper/vg00-var  15870920    399220  14652500   3% /var
/dev/mapper/vg00-tmp  31741856  25787520   4315936  86% /tmp
/dev/cciss/c0d0p1       497829     29383    442744   7% /boot
tmpfs                 66042700     40496  66002204   1% /dev/shm

Option -i.If df is invoked with the -i option it displays information about inodes rather that file blocks. An inode is a special disk block (hidden file) that contain file attributes. When a file system is created (using the mkfs command), the file system is created with a fixed number of inodes. If all these inodes become used, a file system cannot store any more files even though there may be free disk space. The df -i command can be used to check for such a problem.

$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
... ... ... 
Option -l (gnu df only). Option -l or --local limits the listing to local file systems. By default, remote file systems are also listed.

Option -m (gnu df only). Display disk space usage only in MB

To view file system disk space usage only in Megabytes, use -m flag.

$ df -m
Filesystem 1M-blocks Used Available Use% Mounted on
... ... ... 

Option -T (gnu df only).  Display the file system type

To display the file system type, use -T flag.

$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
... ... ... 

As you see, there is an extra column (second from left) that shows the file system type.

Option -t (gnu df only). Display only the specific file system type

We can limit the listing to a certain file systems. for example ext4. To do so, we use -t flag.

$ df -t ext4
Filesystem 1K-blocks Used Available Use% Mounted on
... ... .. 

See? This command shows only the ext4 file system disk space usage.

Option -x (gnu df only). Exclude specific file system type

Some times, you may want to exclude a specific file system from the result. This can be achieved by using -x flag.

$ df -x ext3
Filesystem 1K-blocks Used Available Use% Mounted on
... ... ... 

Option -h (gnu df only).  Display filesystem for a given folder

To display partition on which a partcilar folder exist and staticitcs for this partition , use option -h. Often it make sense to combine it with -T.

$ df -hT /home/sk/
Filesystem Type Size Used Avail Use% Mounted on
... ... .. 

 

Grepping the interesting filesystems from the output.

Often you need a subset of all filesystems, for example just Oracle file systems.  Common convention is that Oracle filesystems begin with /u0. In this case you need to take into consideration that filesystem is the last field and anchor your regular expression to the end of the line. Otherwise you might get false positives.

For example:  

# df -kP | egrep "/u0$"
/dev/vx/dsk/oradg/u02vol 12582912 8717924 3744252    70%    /u02
/dev/vx/dsk/oradg/u01vol  8796160 5563610 3131556    64%    /u01
/dev/vx/dsk/oradg/u04vol 10035200 1247888 8519534    13%   /u04
/dev/vx/dsk/oradg/u03vol 12582912 2524060 
9744542    21%    /u03

We can use cut, Perl of awk to extract the fourth column, which is the available space in the filesystem.

$ df -kP | egrep "/u0$" | awk '{ print $4 }'
3744252
3132546
8519534
9744542

Writing scripts top monitor free space on filesystems

It is actually pretty difficult to create a good script for monitoring free space of filesystems. For some considerations see Filesystem free space monitoring

Here is a simple way too primitive example:

check_filesystem_size.ksh
#!/bin/ksh

for i in `df -k | grep /u0 `
do
 
 # If any filesystem has less than 100k, issue an alert

   freespace=echo $i | awk '{ print $4 }'
   if [ $freespace -lt 100 ]
   then
      mail -s "On server $HOSTNAME filesystem $i has less then 100K of free space ($freespace)" [email protected] < df -k | grep "/u0"
   fi
done

We can execute this script each 10 minutes from crontab (Linux cron capability to specify increment is used):

#****************************************************************
# Filesystem free space below 100K alert
#****************************************************************
1/10 * * * * /home/oracle/check_filesystem_size.ksh > dev/null >&1


Top Visited
Switchboard
Latest
Past week
Past month

NEWS CONTENTS

Old News

[Apr 06, 2019] How To Count Inode Usage In Linux

Apr 06, 2019 | www.2daygeek.com

Each file has an inode containing metadata about the file. Each file in a filesystem has a unique inode number. Inode numbers are guaranteed to be unique only within a filesystem.

You may get the following error when inode is full on the file system. No space left on device or running out of Inodes.

Inode stores the following information about a file.

  • Size of the file.
  • Device ID
  • User ID (UID)
  • Group ID (GID)
  • Information about permissions (read, write, execute, etc)
  • File access privileges (owner, group and others)
  • Time stamps information such as file access, file modification, file deletion and inode number change.
  • Information about soft links and hard links
  • Location of the file on the file system
How To Check Inode Number Of The File In Linux?

Use the ls command with -i option to view the file inode number. The inode number of the file will be shown in the first field of the output.

# ls -li 2daygeek.txt

1740436 -rw-r--r-- 1 daygeek daygeek 211 Feb 10 08:03 2daygeek.txt
How To Search A File Using Inode Number In Linux?

You can able to find the files using inode number in Linux. To do so, use the following format.

# find /home/daygeek/ -inum 1740436

/home/daygeek/2daygeek.txt
How To Check Inode Utilization On The File System In Linux?

If you would like to check inode utilization on the file system then run the following command.

# df -i
Filesystem       Inodes   IUsed    IFree IUse% Mounted on
/dev/vda1      13640832 1487624 12153208   11% /
devtmpfs         232604     326   232278    1% /dev
tmpfs            235277       1   235276    1% /dev/shm
tmpfs            235277     555   234722    1% /run
tmpfs            235277      16   235261    1% /sys/fs/cgroup
/dev/loop0       146592     139   146453    1% /tmp
tmpfs            235277       1   235276    1% /run/user/0
How To Count Inode Usage In Linux?

If you would like to count inode utilization in the current directory, use the following command. This will print the output without grand total.

# pwd
/home/daygeek

# find . -printf "%h\n" | cut -d/ -f-2 | sort | uniq -c | sort -rn
  43113 ./.cache
  16491 ./.rustup
   4057 ./.mozilla
   3257 ./Documents
   3054 ./.local
   1869 ./.config
   1567 ./.npm
   1551 ./Videos
    964 ./.cargo
    249 ./Pictures
    185 ./Downloads
    177 ./.bundle
    158 ./yay
    155 ./Desktop
    145 ./snap
    139 ./batstat
How To Count Inode Usage In Linux With Grand Total?

If you would like to count inode utilization in the current directory, use the following command. This will print the output with grand total.

# echo "Detailed Inode usage for: $(pwd)" ; for d in `find -maxdepth 1 -type d |cut -d\/ -f2 |grep -xv . |sort`; do c=$(find $d |wc -l) ; printf "$c\t\t- $d\n" ; done ; printf "Total: \t\t$(find $(pwd) | wc -l)\n"

Detailed Inode usage for: /home/daygeek
11              - 2g
46              - bash-insulter
140             - batstat
96              - betty
178             - .bundle
43114           - .cache
965             - .cargo
1870            - .config
156             - Desktop
3258            - Documents
186             - Downloads
60              - drivesync
3055            - .local
4058            - .mozilla
1568            - .npm
250             - Pictures
16492           - .rustup
146             - snap
64              - ssh-audit
1552            - Videos
159             - yay

Total:          77682
How To Check Inode Changes With Copy And Move?

Inode values doesn't get change/modify when you perform the file move with in the file system. See the results below.

# ls -li /home/daygeek/2daygeek.txt 
1740436 -rw-r--r-- 1 daygeek daygeek 211 Feb 10 08:03 /home/daygeek/2daygeek.txt

# mv /home/daygeek/2daygeek.txt /home/daygeek/Downloads/

# ls -li /home/daygeek/Downloads/2daygeek.txt
1740436 -rw-r--r-- 1 daygeek daygeek 211 Feb 10 08:03 /home/daygeek/Downloads/2daygeek.txt

Inode values get changed/modified when you perform the file copy in Linux. See the results below.

# ls -li /home/daygeek/Downloads/2daygeek.txt
1740436 -rw-r--r-- 1 daygeek daygeek 211 Feb 10 08:03 /home/daygeek/Downloads/2daygeek.txt

# cp /home/daygeek/Downloads/2daygeek.txt /home/daygeek/Downloads/2daygeek-new.txt

# ls -li /home/daygeek/Downloads/2daygeek-new.txt
1743316 -rw-r--r-- 1 daygeek daygeek 211 Apr  5 09:51 /home/daygeek/Downloads/2daygeek-new.txt
How To Reduce The Inode Usage In Linux?

The only option is to delete the unused files to reduce the inode usage in Linux.

[Feb 12, 2019] How to Check Disk Space in Linux Using the df Command -

Highly recommended!
Feb 09, 2019 | linuxize.com

... ... ...

File System Types

To display file system types, use the df command followed the -T option:

https://tpc.googlesyndication.com/safeframe/1-0-32/html/container.html

df -t
Copy
Filesystem     Type     1K-blocks      Used Available Use% Mounted on
dev            devtmpfs   8172848         0   8172848   0% /dev
run            tmpfs      8218640      1744   8216896   1% /run
/dev/nvme0n1p3 ext4     222284728 183666100  27257444  88% /
tmpfs          tmpfs      8218640    383076   7835564   5% /dev/shm
tmpfs          tmpfs      8218640         0   8218640   0% /sys/fs/cgroup
tmpfs          tmpfs      8218640        24   8218616   1% /tmp
/dev/nvme0n1p1 vfat        523248    107912    415336  21% /boot
/dev/sda1      ext4     480588496 172832632 283320260  38% /data
tmpfs          tmpfs      1643728        40   1643688   1% /run/user/1000
Copy

If you want to limit listing to file systems of a specific type use the -t option followed by the type. For example to list all ext4 partitions you would run:

df -t ext4
Copy
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/nvme0n1p3 222284728 183666112  27257432  88% /
/dev/sda1      480588496 172832632 283320260  38% /data
Copy

Similar to above, the -x option allows you to limit the output to file systems that are not of a specific type,

Display Inode Usage

When used with the -i option the df command will display information about the filesystem inodes usage. For example to show information about the inodes on the file system mounted to system root directory / in human-readable format you would use:

df -ih /
Copy
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/nvme0n1p3    14M  1.9M   12M   14% /
Copy

An inode is a data structure in a Unix and Linux file systems, which contains information about a file or directory such as its size, owner, device node, socket, pipe, etc., except da. Output format

The df command also allows you to specify the output format.

To limit the reported fields shown in the df output use the --output[=FIELD_LIST] option. FIELD_LIST is a comma-separated list of columns to be included in the output. Each field can be used only once. Valid field names are:

https://tpc.googlesyndication.com/safeframe/1-0-32/html/container.html

  • source - The File system source.
  • fstype - The File system type.
  • itotal - Total number of inodes.
  • iused - Number of the used inodes.
  • iavail - Number of the available inodes.
  • ipcent - Percentage of used inodes.
  • size - Total disk space.
  • used - Used disk space.
  • avail - Available disk space.
  • pcent - Percentage of used space.
  • file - The file name if specified on the command line.
  • target - The mount point.

For example to display the output of all ext4 partition in human-readable format, showing only the filesystem name and size and the percentage of the used space you would use:

df -h -t ext4 --output=source,size,pcent
Copy
Filesystem      Size Use%
/dev/nvme0n1p3  212G  88%
/dev/sda1       459G  38%
Copy Conclusion

By now you should have a good understanding of how to use the df command. You can always view all available df command options by typing man df in your terminal.

disk

[Dec 05, 2013] Disk usage analysis and cleanup tools By Mayank Sharma

01 February 2006 | linux.com

The df utility displays the disk space usage on all mounted filesystems. The -T option prints the filesystem type as well. By default, df measures the size in 1K blocks, which could be a little difficult for a desktop user to decipher. Use the -h option to get more understandable output:

$ df -h -T
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/hda6     ext3     20G  9.3G  9.1G  51% /
/dev/hda7 reiserfs     13G  2.1G   11G  17% /mnt/suse
/dev/sda1     vfat    241M  152M   90M  63% /media/usbdisk

[Mar 14, 2010] A System Monitoring Tool Primer

CertCities.com

Checking Disk Performance and Disk Usage

Linux comes with the /sbin/hdparm program that can be used to control IDE or ATAPI hard drives that are common on most PCs. One feature of the hdparm program is to use the -t option to determine the rate at which data is read from the disk into a buffer in memory. For example, here's the result of typing /sbin/hdparm -t /dev/hda on one system:
/dev/hda:

/dev/hda:
 Timing buffered disk reads: 178 MB in  3.03 seconds = 58.81 MB/sec
The command requires the IDE drive's device name (/dev/hda for the first hard drive and /dev/hdb for the second hard drive) as an argument. If you have an IDE hard drive, you can try this command to see how fast data is read from your system's disk drive.
To display the space available in the currently mounted file systems, use the df command. If you want a more readable output from df, type the following command:
df -h
Here's a typical output from this command:
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda5             7.1G  3.9G  2.9G  59% /
/dev/hda3              99M   18M   77M  19% /boot
none                  125M     0  125M   0% /dev/shm
/dev/scd0             2.6G  2.6G     0 100% /media/cdrecorder
As As this example shows, the -h option causes the df command to show the sizes in gigabytes (G) and megabytes (M).

To check the disk space being used by a specific directory, use the du command and specify the -h option to view the output in kilobytes (K) and megabytes (M), as shown in the following example:

du -h /var/log

Here's a typical output of that command:

152K    /var/log/cups
4.0K    /var/log/vbox
4.0K    /var/log/httpd
508K    /var/log/gdm
4.0K    /var/log/samba
8.0K    /var/log/mail
4.0K    /var/log/news/OLD
8.0K    /var/log/news
4.0K    /var/log/squid
2.2M    /var/log
The du command displays the disk space used by each directory, and the last line shows the total disk space used by that directory. If you want to see only the total space used by a directory, use the -s option. For example, type du -sh /home to see the space used by the /home directory. The command produces an output that looks like this:
89M     

Recommended Links

Perl

GNU df reference

df displays the amount of disk space available on the file system containing each file name argument. If no file name is given, the space available on all currently mounted file systems is shown. Disk space is shown in 1K blocks by default, unless the environment variable POSIXLY_CORRECT is set, in which case 512-byte blocks are used.

If an argument is the absolute file name of a disk device node containing a mounted file system, df shows the space available on that file system rather than on the file system containing the device node (which is always the root file system). This version of df cannot show the space available on unmounted file systems, because on most kinds of systems doing so requires very nonportable intimate knowledge of file system structures.

GNU df options

Show information about the file system on which each FILE resides, or all file systems by default.

Mandatory arguments to long options are mandatory for short options too.

df reports the amount of disk space used and available on file systems. Synopsis:

     df [option]... [file]...

With no arguments, df reports the space used and available on all currently mounted file systems (of all types). Otherwise, df reports on the file system containing each argument file.

Normally the disk space is printed in units of 1024 bytes, but this can be overridden (see Block size). Non-integer quantities are rounded up to the next higher unit.

If an argument file is a disk device file containing a mounted file system, df shows the space available on that file system rather than on the file system containing the device node (i.e., the root file system). gnu df does not attempt to determine the disk usage on unmounted file systems, because on most kinds of systems doing so requires extremely nonportable intimate knowledge of file system structures.

The program accepts the following options. Also see Common options.

'-a'
'--all'
Include in the listing dummy file systems, which are omitted by default. Such file systems are typically special-purpose pseudo-file-systems, such as automounter entries.
'-B size'
'--block-size=size'
Scale sizes by size before printing them (see Block size). For example, -BG prints sizes in units of 1,073,741,824 bytes.
'--total'
Print a grand total of all arguments after all arguments have been processed. This can be used to find out the total disk size, usage and available space of all listed devices.
'-h'
'--human-readable'
Append a size letter to each size, such as 'M' for mebibytes. Powers of 1024 are used, not 1000; 'M' stands for 1,048,576 bytes. This option is equivalent to --block-size=human-readable. Use the --si option if you prefer powers of 1000.
'-H'
Equivalent to --si.
'-i'
'--inodes'
List inode usage information instead of block usage. An inode (short for index node) contains information about a file such as its owner, permissions, timestamps, and location on the disk.
'-k'
Print sizes in 1024-byte blocks, overriding the default block size (see Block size). This option is equivalent to --block-size=1K.
'-l'
'--local'
Limit the listing to local file systems. By default, remote file systems are also listed.
'--no-sync'
Do not invoke the sync system call before getting any usage data. This may make df run significantly faster on systems with many disks, but on some systems (notably SunOS) the results may be slightly out of date. This is the default.
'-P'
'--portability'
Use the POSIX output format. This is like the default format except for the following:
  1. The information about each file system is always printed on exactly one line; a mount device is never put on a line by itself. This means that if the mount device name is more than 20 characters long (e.g., for some network mounts), the columns are misaligned.
  2. The labels in the header output line are changed to conform to POSIX.
  3. The default block size and output format are unaffected by the DF_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. However, the default block size is still affected by POSIXLY_CORRECT: it is 512 if POSIXLY_CORRECT is set, 1024 otherwise. See Block size.
'--si'
Append an SI-style abbreviation to each size, such as 'M' for megabytes. Powers of 1000 are used, not 1024; 'M' stands for 1,000,000 bytes. This option is equivalent to --block-size=si. Use the -h or --human-readable option if you prefer powers of 1024.
'--sync'
Invoke the sync system call before getting any usage data. On some systems (notably SunOS), doing this yields more up to date results, but in general this option makes df much slower, especially when there are many or very busy file systems.
'-t fstype'
'--type=fstype'
Limit the listing to file systems of type fstype. Multiple file system types can be specified by giving multiple -t options. By default, nothing is omitted.
'-T'
'--print-type'
Print each file system's type. The types printed here are the same ones you can include or exclude with -t and -x. The particular types printed are whatever is supported by the system. Here are some of the common names (this list is certainly not exhaustive):
'nfs'
An NFS file system, i.e., one mounted over a network from another machine. This is the one type name which seems to be used uniformly by all systems.
'4.2, ufs, efs...'
A file system on a locally-mounted hard disk. (The system might even support more than one type here; Linux does.)
'hsfs, cdfs'
A file system on a CD-ROM drive. HP-UX uses 'cdfs', most other systems use 'hsfs' ('hs' for "High Sierra").
'pcfs'
An MS-DOS file system, usually on a diskette.

'-x fstype'
'--exclude-type=fstype'
Limit the listing to file systems not of type fstype. Multiple file system types can be eliminated by giving multiple -x options. By default, no file system types are omitted.
'-v'
Ignored; for compatibility with System V versions of df.

An exit status of zero indicates success, and a nonzero value indicates failure. Failure includes the case where no output is generated, so you can inspect the exit status of a command like 'df -t ext3 -t reiserfs dir' to test whether dir is on a file system of type 'ext3' or 'reiserfs'.



Etc

Society

Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy

Quotes

War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes

Bulletin:

Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law

History:

Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D


Copyright © 1996-2021 by Softpanorama Society. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to to buy a cup of coffee for authors of this site

Disclaimer:

The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Last modified: March 29, 2020