Linux 中为何用字符 ~ 表示 Home 目录

我们知道,在类 Unix 风格的操作系统中(包括 BSD,GNU/Linux 和 Mac OS X 等),通常用波浪号 “~” 来表示当前用户的主目录(Home 目录),例如,如果当前用户的 Home 目录为 /home/username,则在命令行中输入:cd 或者 cd ~ 或者 cd /home/username 或者 cd $HOME 都是等效的。这种习惯源自于 1970 年代流行的 Lear-Siegler ADM-3A 终端机,这种机器上波浪号 “~” 和 Home 键(Home 键用于把光标移到到最左端)正好在同一个键上,如下图所示:

下面是 Lear-Siegler ADM-3A 终端机的键盘和一些老照片,可以在这里了解更多,这张键盘图片也解释为什么在 Vim 中,h,j,k,l 分别代表左移,下移,上移,右移,同样也是从这个终端机使用习惯保存下来的,StackOverflow 中也有一个帖子专门在讨论这个问题:In vim, why is ‘j’ used for down and ‘k’ for up?