知识点:Linux为什么用~表示$HOME

知识点:Linux为什么用~表示$HOME,第1张

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

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

可用命令

echo $HOME

查看

home是用户地主目录,登录后缺省进入的目录,比方说有个用户叫wang,那他的地主目录就是/home/wang,也能够用~wang表示。

其实如果在安装Linux时选择中文版,桌面的目录就在$home目录下的“桌面目录”。

/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc很容易混淆,他们之间有什么区别?它们的作用到底是什么?

/etc/profile: 用来设置系统环境参数,比如$PATH. 这里面的环境变量是对系统内所有用户生效的。

/etc/bashrc: 这个文件设置系统bash shell相关的东西,对系统内所有用户生效。只要用户运行bash命令,那么这里面的东西就在起作用。

~/.bash_profile: 用来设置一些环境变量,功能和/etc/profile 类似,但是这个是针对用户来设定的,也就是说,你在/home/user1/.bash_profile 中设定了环境变量,那么这个环境变量只针对 user1 这个用户生效.

~/.bashrc: 作用类似于/etc/bashrc, 只是针对用户自己而言,不对其他用户生效。

另外/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.

~/.bash_profile 是交互式、login 方式进入 bash 运行的,意思是只有用户登录时才会生效。

~/.bashrc 是交互式 non-login 方式进入 bash 运行的,用户不一定登录,只要以该用户身份运行命令行就会读取该文件。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7113193.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-01
下一篇2023-04-01

发表评论

登录后才能评论

评论列表(0条)

    保存