What does the "tab" mean in "crontab" or "inittab"?
Having some idea of its meaning might help to mentally categorise files which contain the "tab" suffix and understand their relationship with the other parts of an OS.
1 Answer
As for as the names of (crontab) cron table, (inittab) init table and (fstab) filesystem tables: as far as I know, besides the obvious association of tab
with "table", it means they are the main files for configuring those actions.
The short names are probably also due to the nature of Unix of being practical and using terse commands.
Furthermore in old days teletype terminals were slow.
It must be noted the concepts of crontab
, initab
and fstab
are fairly old in the Unix lore.
We could also make speculations as most of the contemporary filesystems had severe limitations on the length of filenames, that they were kept intentionally short for compatibility reasons or for facilitating browsing backups on foreign (file)systems. [ or bootstraping toolchains ]
The manpage for Vixie crontab
specifically mentions the tables: crontab
is the program used to install, deinstall or list the tables used to drive the cron(8) daemon in Vixie Cron.
The crontab(5) page for ISC (old Vixie) cron has as name "crontab - tables for driving cron".
In the AT&T user manuals:
inittab
is described as "script for the init process" in the System V manual;mnttab
is described as "mounted file system tab" both in the System III and the System V manuals;
Interestingly, both initab
and mnttab
seem to be the oldest references found of *tab files.
-
2I could also swear they are very ancient in what touchs Unix history. Maybe their name also is historically like that due to limitations on the number of characters allowed for the name of files on the first Unix filesystems. Cannot swear on this though. Nov 16, 2015 at 8:25
-
14More likely the "tab" versus "table" was due to a preference by Unix developers for abbreviating everything to reduce typing. Recall that command-history was not one of the first-implemented features... Nov 16, 2015 at 9:27
-
3Also to reduce printing. I believe many early unix machines didn't have screens and instead printed everything entered and output to the command line interface.– bdslNov 16, 2015 at 11:56
-
5Manpage for
Vixie crontab
even specifically mentionsthe tables
:crontab is the program used to install, deinstall or list the tables used to drive the cron(8) daemon in Vixie Cron.
Nov 16, 2015 at 12:28 -
3@MSalters Unix filenames were limited to 14 characters. It would have severely complicated the design of the filesystem to allow arbitrary-length strings. Nov 16, 2015 at 18:29
fstab
find /etc -type f -name '*tab'