记一次我是用root用户su - hdfs时出现-bash-4.2$
[root@hadoop101 ~]# su - hdfs
su: warning: cannot change directory to /var/lib/hadoop-hdfs: Permission denied
-bash: /var/lib/hadoop-hdfs/.bash_profile: Permission denied
-bash-4.2$ exit
logout
-bash: /var/lib/hadoop-hdfs/.bash_logout: Permission denied
经过网上查阅资料得知:因为家目录没有创建完全
解决方法:
将模板文件/etc/skel目录下的隐藏文件,拷贝到当前用户的家目录下就可以了
[root@hadoop101 lib]# cd /etc/skel
[root@hadoop101 skel]# ll
total 0
[root@hadoop101 skel]# ll -a
total 28
drwxr-xr-x. 3 root root 78 Feb 4 20:27 .
drwxr-xr-x. 164 root root 12288 Mar 9 21:23 ..
-rw-r--r--. 1 root root 18 Aug 3 2016 .bash_logout
-rw-r--r--. 1 root root 193 Aug 3 2016 .bash_profile
-rw-r--r--. 1 root root 231 Aug 3 2016 .bashrc
drwxr-xr-x. 4 root root 39 Feb 4 20:26 .mozilla
[root@hadoop101 skel]# cp .bash* /var/lib/hadoop-hdfs
[root@hadoop101 skel]# cd /var/lib/hadoop-hdfs
[root@hadoop101 hadoop-hdfs]# ll -a
total 16
drwxr-xr-x. 3 root root 78 Mar 11 10:59 .
drwxr-xr-x. 84 root root 4096 Mar 9 21:11 ..
-rw-r--r--. 1 root root 18 Mar 11 10:59 .bash_logout
-rw-r--r--. 1 root root 193 Mar 11 10:59 .bash_profile
-rw-r--r--. 1 root root 231 Mar 11 10:59 .bashrc
drwxr-xr-x. 2 root root 6 Feb 8 14:04 .mozilla
[root@hadoop101 hadoop-hdfs]# su - hdfs
Last login: Thu Mar 11 10:58:04 CST 2021 on pts/0
[hdfs@hadoop101 ~]$
.bashrc
定义了路径,语言,命令别名(使用rm删除命令时总是加上-i参数需要用户确认,使用ls命令列出文件列表时加上颜色显示)。 每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的设置,使之生效。
一般会在.bash_profile文件中显式调用.bashrc。登陆linux启动bash时首先会去读取~/.bash_profile文件,这样~/.bashrc也就得到执行了,你的个性化设置也就生效了。
关于环境变量的读取顺序:
用户登录 ->> 加载~/.bash_profile --> bash_profile中配置了首先是使~/.bashrc生效
.bash_profile
为用户添加了2个环境变量(JAVA_HOME和CLASSPATH),并修改了已有环境变量PATH的值.(PATH的查找是从前开始查找,找到就返回)
CLASSPATH环境变量的值是在JAVA运行时查找加载类的默认classpath.
.bash_history
用途: 保存了当前用户使用过的历史命令,方便查找 测试之后发现退出之后会保存