~, /

以下讲解的都是针对用户级别的~, 不讲解系统级别的/。一些用户级别的配置,在系统级别也有相同的配置,就类似于全局变量局部变量的关系。

~/.bash_profile

每个用户都可使用该文件配置自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,并且执行用户的~/.bashrc文件

~/.bash_logout

每次退出bash shell时,执行该文件。(测试并未生效,难道是测试姿势不对??)

~/.bashrc

可以在其中配置一些别名等信息,但是配置不会立即生效,必须登录后才会生效。如果要使其立即生效,那么可以执行以下命令:

1
2
3
source ~/.bashrc
或者
. ~/.bashrc

source x.sh, . x.shsh x.sh, ./x.sh的区别

用source执行脚本文件,执行过程不另开进程,脚本文件中设定的变量在当前shell中可以看到;
用sh执行脚本文件,是在当前进程另开子进程来执行脚本命令,脚本文件中设定的变量在当前shell中不能看到。
source也经常用.来代替,所以以上四种执行脚本的关系就是:
前面两种是相同的效果
用脚本文件名本身执行(如果shell脚本具有可执行权限)和用sh命令执行脚本的作用完全相同(后面2种是相同的效果)

/etc/profile

类似于~/.bash_profile, 不过是系统级别的。

/etc/hosts

配置host相关信息