背景
Linux世界中,常常看到波浪号,去表示用户根目录。
但是背后的深意和原因,一直不知道。
所以需要去总结搞清楚。
Linux中用波浪号~表示$HOME即用户根目录
Linux中,在命令行操作时,常常可以看到类似于:
cd ~
之类的操作。
以及,命令行显示中,有波浪号:
CLi@PC-CLI-1 ~/develop/docbook
其中,此处的波浪号~,含义是:
表示用户根目录,等价于$HOME
举例:
CLi@PC-CLI-1 ~/develop/docbook $ pwd /home/CLi/develop/docbook CLi@PC-CLI-1 ~/develop/docbook $ echo $HOME /home/CLi CLi@PC-CLI-1 ~/develop/docbook $ cd ~ CLi@PC-CLI-1 ~ $ pwd /home/CLi
如图:
其中就是:
从当前路径:
/home/CLi/develop/docbook
切换到,用户的根目录,即:
/home/CLi
提示:
所以,当使用cd命令切换目录时,有:
假设当前用户是:CLi cd == cd ~ == cd /home/CLi |
详见:
为何用波浪号~表示HOME,即用户根目录
键盘上的,(之前的,和现在的,都是用)HOME键,表示移动到左上角(页面等的最开始位置)
计算机早期,有个叫:
Lear-Siegler ADM-3A
的键盘,其相对特殊:
HOME键,和波浪号’~’,两者是在一起的,公用一个物理按键:
对应的实物键盘截图为:
提示:
可以看到,对应的HJKL分别是左下右上,这种用键盘上字母替代方向键的做法,对应着就是vi中的用法;
另外,关于Lear-Siegler ADM-3A这种古董计算机,长啥样,此处找到几个截图,供欣赏:
对应的,很多人(尤其是学校师生)的个人主页的地址都是类似于:http://xxx.xxx.xxx.xxx/~username的形式的
由于用~表示用户根目录
同时,波浪号加上用户名,对应着,也代表着用户的主目录
对应着,此种用法用在网络领域,URL方面,就是:
很多时候,就去用
~username
表示该用户的主目录
对应着,很多人,尤其是在校的老师,学生,的(学校所提供的在线空间)的个人主页的地址就是:
http://www.example.com/~username/
之类的地址了。
另:
如果是(不方便输入波浪号,为了地址更安全,则需要)编码后的地址,对应着是:
http://www.example.com/%7Fusername/
总结
还是那句话:
只有知道了事情的根源,才能更好的理解事情的本质。
否则,只能只知道表面而不是根本原因。理解事物也就难理解的透彻。
参考资料
Design question: Why was ‘~’ chosen to represent the home directory?