Linux下profile和bashrc四种的区别

Linux下profile和bashrc四种的区别,第1张

/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

运行的,用户不一定登录,只要以该用户身份运行命令行就会读取该文件。

使用man bash命令查看到的联机帮助文件中的相关解释如下:

.bashrc - The individual per-interactive-shell startup file.

这个文件主要保存个人的一些个性化设置,如命令别名、路径等。下面是个例子:

# User specific aliases and functions

PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"

.GBK

export PATH LANG

alias rm='rm -i'

alias ls='/bin/ls -F --color=tty --show-control-chars'

在.bashrc文件内:

alias nstart="sudo /opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf"

alias nstop="sudo /opt/nginx/sbin/nginx -s stop"

alias nreload="sudo /opt/nginx/sbin/nginx -s reload"

如果你运行一个基于 Unix 或者类 Unix 的 *** 作系统,bash 很有可能是作为默认终端被安装的。虽然存在很多不同的 shell,bash

却是最常见或许也是最主流的。如果你不明白那意味着什么,bash

是一个能解释你输入进终端程序的东西,并且基于你的输入来运行命令。它在一定程度上支持使用脚本来定制功能,这时候就要用到 .bashrc 了。

为了加载你的配置,bash 在每次启动时都会加载 .bashrc 文件的内容。每个用户的 home 目录都有这个 shell

脚本。它用来存储并加载你的终端配置和环境变量。

终端配置可以包含很多不同的东西。最常见的,.bashrc

文件包含用户想要用的别名。别名允许用户通过更短的名字或替代的名字来指向命令,对于经常在终端下工作的人来说这可是一个省时利器。

你可以在任何终端文本编辑器上编辑 .bashrc。在接下来的例子中我们将使用 nano。

要使用 nano 来编辑 .bashrc,在终端中调用以下命令:

nano ~/.bashrc

如果你之前从没有编辑过 .bashrc 的话,你也许会发现它是空的。这没关系!如果不是的话,你可以随意在任一行添加你的配置。

你对 bashrc 所做的任何修改将在下一次启动终端时生效。如果你想立刻生效的话,运行下面的命令:

source ~/.bashrc

你可以添加到任何 .bashrc 的位置,随意使用命令(通过 #)来组织你的代码。

编辑 .bashrc 需要遵循 bash 脚本格式。如果你不知道如何用 bash

编写脚本的话,有很多在线资料可供查阅。这是一本相当全面的介绍指南,包含一些我们没能在这里提及的 bashrc 的方面。

相关: 如何在 Linux 启动时以 root 权限运行 bash 脚本

有一些有用的小技巧能使你的终端体验将更高效,也更用户友好。

例子中定义了路径,语言,命令别名(使用rm删除命令时总是加上-i参数需要用户确认,使用ls命

令列出文件列表时加上颜色显示)。

每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的设置,

使之生效。

拓展资料:

linux系统中.bashrc的妙用

一.有何作用

.bashrc - The individual per-interactive-shell startup file.

.bashrc - 主要保存个人的个性化设置,如命令别名、路径等:使得使用方便,效率提升。

二.如何使用:

1. 可以定义路径

2. 可以定义语言

3. 可以定义命令别名

4. 等等

三.简单实例:

# User specific aliases and functions

PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin"

.GBK

export PATH LANG

alias mkcfg='make menuconfig'

alias mkcln ='make clean'

四.如何生效

有两种方法使得.bashrc文件生效。

1. 每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc),则可以立刻加载修改后的设置,使之生效。

2.  也可以在.bash_profile文件中显式调用.bashrc。登陆linux系统启动bash时首先会去读取~/.bash_profile文件,就会使得~/.bashrc马上生效。

五.参考资料

linux help


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

原文地址: http://outofmemory.cn/yw/6246780.html

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

发表评论

登录后才能评论

评论列表(0条)

保存