The history of Unix systems and their main components. Please DO NOT USE this tag for shell-related questions; use "command-history" instead.

learn more… | top users | synonyms

652
votes
2answers
135k views

Why was '~' chosen to represent the home directory?

I have often wondered why the ~ (tilde) represents the home directory of a user. Is there a reason behind this, or is it just some infrequently used character?
180
votes
5answers
28k views

What's the story behind Super Cow Powers?

As we know, apt-get has Super Cow Powers and aptitude does not: $ apt-get --help | grep -i cow This APT has Super Cow Powers. $ aptitude --help | grep -i cow ...
150
votes
3answers
10k views

Why not use “which”? What to use then?

When looking for the path to an executable or checking what would happen would you enter a command name in a Unix shell, there's a plethora of different utilities (which, type, command, whence, where, ...
150
votes
3answers
28k views

What does “rc” in .bashrc stand for?

Is it "resource configuration", by any chance?
133
votes
6answers
45k views

Is Linux a Unix?

So, there are lots of different versions of Unix out there: HP-UX, AIX, BSD, etc. Linux is considered a Unix clone rather than an implementation of Unix. Are all the "real" Unices actual descendants ...
122
votes
4answers
27k views

Why are tar archive formats switching to xz compression to replace bzip2 and what about gzip?

More and more tar archives use the xz format based on LZMA2 for compression instead of the traditional bzip2(bz2) compression. In fact kernel.org made a late "Good-bye bzip2" announcement, 27th Dec. ...
110
votes
6answers
39k views

Where did the “wheel” group get its name?

The wheel group on *nix computers typically refers to the group with some sort of root-like access. I've heard that on some *nixes it's the group of users with the right to run su, but on Linux that ...
83
votes
3answers
14k views

Why is the root directory denoted by a / sign?

I have done some research about this on Google, but the results were cloudy. Why is the / sign used to denote the root directory. Are there any solid reasons behind it?
74
votes
9answers
5k views

On what systems is //foo/bar different from /foo/bar?

Throughout the POSIX specification, there's provision (1, 2, 3...) to allow implementations to treat a path starting with two / specially. A POSIX application (an application written to the POSIX ...
50
votes
5answers
5k views

Why does no one use the true Bourne shell as /bin/sh?

I've noticed that basically no system I've ever worked with has /bin/sh as a real executable. It's always a symlink to dash, bash in POSIX mode, or something similar. Why? What are the disadvantages ...
50
votes
5answers
22k views

What is the purpose of the hash command?

If you run hash it shows the path of all commands run since the hash was last reset (hash -r) [root@c04c ~]# hash hash: hash table empty [root@c04c ~]# whoami root [root@c04c ~]# hash hits ...
48
votes
6answers
3k views

Is there any reason to have a shebang pointing at /bin/sh rather than /bin/bash?

In most shell scripts I've seen (besides ones I haven't written myself), I noticed that the shebang is set to #!/bin/sh. This doesn't really surprise me on older scripts, but it's there on fairly new ...
48
votes
2answers
9k views

Why is 'umount' not spelled 'unmount'?

I am wondering if there is any historical or practical reason why the umount command is not unmount.
45
votes
2answers
4k views

Why is rm allowed to delete a file under ownership of a different user?

From the post Why can rm remove read-only files? I understand that rm just needs write permission on directory to remove the file. But I find it hard to digest the behaviour where we can easily delete ...
45
votes
5answers
5k views

Why is there a * When There is Mention of Unix Throughout the Internet?

I've noticed that throughout the Internet, within forums and blog posts, Unix always has a * in the word, whether it is *nix or Un*x, as I noticed at the welcoming banner at the Unix StackExchange ...
39
votes
4answers
9k views

What did Ken Thompson mean when he said, “I'd spell creat with an 'e'.”

Ken Thompson, the creator of Unix, was once asked what he'd do if he had it to do over again. He said, "I'd spell creat with an 'e'." What is Ken referring to? Is there a "creat" command?
38
votes
1answer
2k views

What happened to bzip1?

bzip2 had been a de facto standard for quite strong compression throughout many years already. I myself had typed the bzip2 command thousands of times already, which makes me wonder - what happened to ...
37
votes
4answers
5k views

Is the shell ksh93 dead?

On 10/1/2013 Glenn Fowler posted this to the ast-users mailing list: As has been pointed out several times on the AST and UWIN lists, AT&T gives very little support to OpenSouce software, ...
36
votes
5answers
2k views

How to save a command you entered without executing it? [duplicate]

Every Linux user has experienced this annoying thing: you begin typing a long and boring command, then realise you should have executed another one before. How to save the first one to execute it ...
36
votes
4answers
4k views

What is GNU Info for?

I understand what GNU Info is and how to use it, but what is it for? Why does it exist in parallel to the man pages? Why not write detailed man pages rather than provide a separate utility?
36
votes
1answer
4k views

Why is the UNIX system call kill named 'kill'?

I'm curious about the history of the name, it seems to me that the 'kill' system call could have been named 'signal', and the 'signal' system call could have been named 'handle'. I was wondering ...
34
votes
4answers
4k views

Why are UNIX/POSIX system call namings so illegible?

What is the reason to use such untelling system call names like time and creat instead of getCurrentTimeSecs and createFile or, maybe more suitable on Unix get_current_time_secs and create_file. Which ...
33
votes
2answers
2k views

Oldest binary working on Linux?

In a discussion on backwards-compatibility in Linux kernel and GUI ABIs, Alan Cox notes that "my 3.6rc kernel will still run a Rogue binary built in 1992. X is back compatible to apps far older than ...
31
votes
3answers
4k views

Why is dmesg called dmesg?

Is there any explanation/history behind the name of the command dmesg (which prints out some kernel messages)?
30
votes
5answers
5k views

Why do /usr and /tmp directories for Linux miss vowels in their spellings?

I have often started to think about this but never found a good answer. Why are these two Unix directories not /user and /temp instead? All the other directories under root seem to be exactly what ...
30
votes
1answer
2k views

Were all Unix commands re-written in Linux?

I would like to know which commands were re-written for Linux and which were retained from Unix? I'm new to Linux.
30
votes
3answers
20k views

Why does Unix time start at 1970-01-01?

Why does Unix time start at 1970-01-01? Why not 1971-01-01 or any other date?
29
votes
5answers
2k views

What is the point of mv -f?

The GNU Coreutils manual for mv says: -f --force Do not prompt the user before removing a destination file. However, this already seems to be the default behaviour for mv, so the -f option appears ...
29
votes
6answers
9k views

Single dashes `-` for single-character options, but double dashes `--` for words?

Where did the convention of using single dashes for letters and doubles dashes for words come from and why is continued to be used? For example if I type in ls --help, you see: -a, --all ...
27
votes
1answer
3k views

When and how was the double-dash (--) introduced as an end of options delimiter in Unix/Linux?

I don't think the shell/utilities in historical Unix nor in something as "recent" as 4.4BSD supported using a double-dash(or two consecutive hyphens) as an end of options delimiter. With FreeBSD, you ...
27
votes
1answer
5k views

Why was '.' chosen to represent the current directory and '..' for parent directory?

After reading this question Design question: Why was '~' chosen to represent the home directory?, next obvious question on my mind was why '.' and '..' was used to represent current directory ...
26
votes
4answers
2k views

Does vi silently add a newline (LF) at the end of file?

I have trouble understanding a weird behavior: vi seems to add a newline (ASCII: LF, as it is a Unix (AIX) system) at the end of the file, when I did NOT specifically type it. I edit the file as such ...
25
votes
2answers
848 views

Where is “export var=value” not available?

I have picked up -- probably on Usenet in the mid-1990s (!) -- that the construct export var=value is a Bashism, and that the portable expression is var=value export var I have been advocating ...
24
votes
2answers
2k views

Patching a binary with dd

I have read this quote (below) several times, most recently here, and am continually puzzled at how dd can be used to patch anything let alone a compiler: The Unix system I used at school, 30 ...
24
votes
5answers
2k views

What aspects of Plan 9 have made their way into Unix?

Plan 9 was developed by Bell Labs as a successor to Unix. Although for various reasons it never quite materialized as such, a fair amount of development still went into Plan 9. My question is, what ...
24
votes
3answers
798 views

How did the Linux Kernel project track bugs in the Early Days?

We all know that Linus Torvalds created Git because of issues with Bitkeeper. What is not known (at least to me) is, how were issues/tickets/bugs tracked up until then? I tried but didn't get anything ...
23
votes
2answers
2k views

Why do Unix man pages use double backticks in place of double quotes?

I've noticed that man pages and other documents formatted by Unix utilities often use double backticks `` followed by double single quotes '' to wrap quoted phrases instead of the double quote ...
23
votes
1answer
1k views

What does Ritchie's 1979 PDP-11 `/usr/games/bcd` do?

I recently tried the simh emulator pdp11. The disk image I used can be found on the internet, and instructions for booting it are here. Presumably it belonged to Dennis Ritchie, as the username is ...
22
votes
2answers
2k views

Origin of 'root' account

What's the origin of root account? Where did it come from and why is it called root anyway? (Originally asked by @lizztheblizz on Twitter.)
21
votes
1answer
854 views

At what point did the /home directory appear?

Originally in Unix, /usr was used for user (home) directories. So if I had a user named alex, my home directory would be /usr/alex. (Interestingly, Plan 9, the successor to Unix, still has user ...
20
votes
4answers
6k views

Evolution of Operating systems from Unix

Can you explain the evolution hierarchy of operating systems (Linux and Windows) from Unix?
20
votes
6answers
8k views

What is a socket?

Could someone explain to me what a socket is? I see it in many acronyms in context of SSL, etc. Also, why is it called a socket? Is it purely because it was what a name they invented? Or was it the ...
20
votes
3answers
918 views

The Linux kernel: breaking user space

I started thinking about this issue in the context of etiquette on the Linux Kernel Mailing list. As the world's best known and arguably most successful and important free software project, the Linux ...
19
votes
1answer
1k views

If chown can change groups, why was chgrp created?

So there's chown which lets you change the owner and group of files and/or directories. But there's also chgrp which only changes the group. Why was chgrp created? Isn't it redundant?
19
votes
3answers
798 views

Use of ^ as a shell metacharacter

I wrote a small script today which contained grep -q ^local0 /etc/syslog.conf During review, a coworker suggested that ^local0 be quoted because ^ means "pipe" in the Bourne shell. Surprised by ...
19
votes
1answer
734 views

What shells were used on early unix systems?

According to wikipedia, the Bourne shell was introduced in 1977 and C shell in 1978, but unix itself dates back to 1969. If you were using a unix system before 1977, what shell would you have been ...
18
votes
2answers
3k views

Why is JFS so obscure?

When I first got into using Slackware years ago I quickly learned to love JFS over ext3 or reiserfs given that it was reliable and if there was an unclean shutdown, its disk checking was very very ...
18
votes
2answers
2k views

What is Unix now?

As I read in Wikipedia, Unix started as a revolutionary operating system written mostly in C allowing it to be ported and used on different hardware. Descendants of Unix is mentioned next, mostly BSD. ...
18
votes
2answers
400 views

Why does niceness range from -20 to 19?

The nice command allows you to adjust the scheduling priority ("niceness") of a program. On all Unix-like systems I've used, niceness is specified by a range of integers, where -20 is the most ...
16
votes
2answers
11k views

Is `cal` broken? What happened in September 1752?

If you look at the output of cal 9 1752 you will see this strange output: September 1752 S M Tu W Th F S 1 2 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 The following story ...