34

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.

5
  • 5
    Dont forget fstab
    – casey
    Nov 16, 2015 at 14:14
  • @casey good point - I took a look just now - it also has tabular type organisation of data Nov 16, 2015 at 14:28
  • 2
    And of course, the tab-key on your keyboard is for tabular formatting, i.e. for tables. They all mean the same.
    – phresnel
    Nov 16, 2015 at 16:40
  • 2
    find /etc -type f -name '*tab' Nov 16, 2015 at 22:07
  • I have just expanded the answer, including @casey suggestion about fstab Nov 17, 2015 at 5:45

1 Answer 1

52

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.

16
  • 2
    I 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
  • 14
    More 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
  • 3
    Also 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.
    – bdsl
    Nov 16, 2015 at 11:56
  • 5
    Manpage for Vixie crontab even 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. 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.
    – Random832
    Nov 16, 2015 at 18:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.