Linux $HOME和波浪号~

在Linux中当前用户的主目录可以有三种表示方法,都是等效的[正常不改配置情况下]

例如用户名为lutigers,进入当前用户的主目录/home/lutigers

输入cd ~

或输入cd $HOME

或输入cd /home/lutigers

这是因为源于1970年代流行的Lear-Siegler ADM-3A终端机

其键盘的“Home”键波浪号“~”键在同一个键上

 

Linux下~、/home与/root的区别:

1、在root用户下,~等同于/root

2、在普通用户下,~等同于/home/当前的普通用户名

 

坑人的情况下:

~指向的目录已经不是当前用户的主目录了

 

案例:问题是在安装完rabbitmq之后出现的,原来,是我在启动rabbitmq是,出现了一个错误,然后改变了HOME环境变量导致的,

 

  随便,这里提一下,在启动rabbitmq是,报了个异常:erlexec: HOME must be set

 

  这个是说HOME环境变量没有设置,然后我就在/etc/profile里面添加了HOME变量:export HOME=/opt/rabbitmq

 

  之后source /etc/profile之后,问题还存在,找了半天,发现在rabbitmq的sbin目录下有一个rabbitmq-env文件,一看就是环境变量的配置文件,然后我就在加上HOME变量,然后rabbitmq启动成功

 

  然而,/etc/profile里面的HOME忘了取消掉,导致~指向问题

 

  经验:1、登录后,默认进入用户主目录,用户主目录配置在/etc/passwd中,如果要修改用户主目录,只需要修改对应用户的主目录即可

 

        2、我们一般使用~用作用户主目录,而~其实是指向环境变量中的HOME目录,登录之后,HOME变量默认指向用户主目录,查看环境变量,可使用env命令

 

posted @ 2020-12-15 17:17  tomato_4  阅读(2589)  评论(0编辑  收藏  举报