History – Why ‘~’ Represents the Home Directory

historyhome

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?

Best Answer

Quoting Wikipedia:

On Unix-like operating systems (including BSD, GNU/Linux and Mac OS X), tilde often indicates the current user's home directory: for example, if the current user's home directory is /home/bloggsj, then cd, cd ~, cd /home/bloggsj or cd $HOME are equivalent. This practice derives from the Lear-Siegler ADM-3A terminal in common use during the 1970s, which happened to have the tilde symbol and the word "Home" (for moving the cursor to the upper left) on the same key.

layout of the ADM-3A keyboard

You can find photos of the Lear-Siegler ADM-3A keyboard on this site.

image of an ADM-3A keyboard

This terminal is also the source of the movement commands used in the vi editor: h, j, k, l for left, down, up, right.