跳到主要内容

linux 系统为啥喜欢用~代表Home目录

· 阅读需 2 分钟
一介布衣
全栈开发者

Linux知识:为什么要用字符~来表示home目录

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

下面是Lear-Siegler ADM-3A终端机的一些照片:

Lear Siegler - ADM3A Terminal (ca. 1976)

这个历史来源其实挺有意思,因为很多命令行习惯看起来像是“系统天生规定”,但回头追溯,往往都和早期终端设备、输入习惯甚至键盘布局有关。也正因为这些约定延续得足够久,后来才慢慢变成了 Unix 世界里几乎人人默认理解的符号。

对初学者来说,知道 ~ 为什么存在,不只是涨一个冷知识,而是会更容易接受命令行世界里那套看似奇怪、其实非常讲究效率的表达方式。很多人第一次看不懂路径,其实不是命令难,而是没有把这些基础符号先吃透。