原文:https://www.cnblogs.com/yuemw/p/8081219.html

--------------------------------------------------------------

Linux的环境配置文件----.bashrc文件

https://www.cnblogs.com/yuemw/p/8081219.html

 

.bashrc文件主要保存个人的一些个性化设置,如命令别名、路径等。也即在同一个服务器上,只对某个用户的个性化设置相关。它是一个隐藏文件,需要使用ls -a来查看。

.bash_history   记录之前输入的命令

.bash_logout    当你退出时执行的命令

.bash_profile    当你登入shell时执行

.bashrc             当你登入shell时执行

  后两个的区别:'.bash_profile'只在会话开始时被读取一次,而'.bashrc'则每次打开新的终端时,都要被读取。

这些文件是每一位用户对终端功能和属性设置,修改.bashrc可以改变环境变量PATH、别名alias和提示符。具体如何修改会在下面做介绍。

除了可以修改用户目录下的.bashrc文件外,还可以修改如“/etc/profile”文件、“/etc/bashrc”文件及目录“/etc /profile.d”下的文件。但是修改/etc路径下的配置文件将会应用到整个系统,属于系统级的配置,而修改用户目录下的.bashrc则只是限制在用户应用上,属于用户级设置。两者在应用范围上有所区别,建议如需修改的话,修改用户目录下的.bashrc,即无需root权限,也不会影响其他用户。

PATH环境变量修改

PATH变量决定了shell 将到哪些目录中寻找命令或程序。如果要执行的命令的目录在 $PATH 中,您就不必输入这个命令的完整路径,直接输入命令就可以了。一些第三方软件没有将可执行文件放到 Linux 的标准目录中。因此,将这些非标准的安装目录添加到 $PATH 是一种解决的办法。此外,您也将看到如何处理一般的环境变量。

首先,作为惯例,所有环境变量名都是大写。由于 Linux 区分大小写,这点您要留意。当然,您可以自己定义一些变量,如'$path'、'$pAtH',但 shell 不会理睬这些变量。

第二点是变量名有时候以'$'开头,但有时又不是。当设置一个变量时,直接用名称,而不需要加“$”,如

“PATH=/usr/bin:/usr/local/bin:/bin”

假如要获取变量值的话,就要在变量名前加'$':
       “echo $PATH”
       则会显示当前设置的PATH变量“/usr/bin:/usr/local/bin:/bin”

否则的话,变量名就会被当作普通文本了:
       “echo PATH”
       显示“PATH”
       处理 $PATH 变量要注意的第三点是:您不能只替换变量,而是要将新的字符串添加到原来的值中。在大多数情况下,您不能用“PATH=/some /directory”,因为这将删除 $PATH 中其他的所有目录,这样您在该终端运行程序时,就不得不给出完整路径。所以,只能作添加:“PATH=$PATH:/some/directory”,假如你要添加/usr/local/arm/3.4.1/bin交叉编译命令,则操作为“PATH=$PATH:/usr/local/arm/3.4.1/bin”
这样,PATH 被设成当前的值(以 $PATH 来表示)+新添的目录。

到目前为止,你只为当前终端设置了新的 $PATH 变量。如果您打开一个新的终端,运行 echo $PATH ,将显示旧的 $PATH 值,而看不到你刚才添加的新目录。因为你先前定义的是一个局部环境变量(仅限于当前的终端)。

要定义一个全局变量,使在以后打开的终端中生效,您需要将局部变量输出(export),可以用"export"命令:

export PATH=$PATH:/some/directory

现在如果打开一个新的终端,输入 echo $PATH ,也能看到新设置的$PATH 了。请注意,命令'export'只能改变当前终端及以后运行的终端里的变量。对于已经运行的终端没有作用。

为了将目录永久添加到 $PATH ,只要将"export"的那行添加到.bashrc或/etc/bashrc文件中。

  使用命令:

  sudo gedit ~/.bashrc

别名

一般在.bashrc或/etc/bashrc文件里有几句话

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

有了这几句话,当在终端中输入“mv test.c led.c”实际上输入的是“mv -i test.c led.c”,所以说alias是一个别名。你可以在该配置文件中添加自己风格的别名,如“alias ll='ls -l'”,只需要在终端中输入“ll”就实现了“ls -l”的功能。还可以添加其他语句,随自己喜好。

 提示符

  当打开一个控制台(console) 时,最先看到的就是提示符(prompt),如:[root@localhost ~]#

  在默认设置下,提示符将显示用户名、主机名(默认是'localhost')、当前所在目录(在 Unix 中,'~'表示您的 home 目录)。按照传统,最后一个字符可以标识普通用户($),还是'root'(#)。可以通过 $PS1 变量来设置提示符。

  命令“echo $PS1”,将显示当前的设定。其中可用字符的含义在 man bash 的'PROMPTING'部分有说明。

如何才能完成理想的设置呢?对于健忘的初学者来讲,默认设定有些不友好,因为提示符只显示当前目录的最后一部分。如果你看到象这样的提示符

[wsf@localhost bin]$
      则当前目录可能是'/bin'、'/usr/bin'、'/usr/local/bin'及'/usr/X11R6/bin'。当然,你可以用

pwd (输出当前目录,print working directory)

能不能叫 shell 自动告诉你当前目录呢?

当然可以。这里我将提到的设定,包括提示符,大都包含在文件'/etc/bashrc'中。您可以通过编辑各自 home 目录下的'.bash_profile'和'.bashrc'来改变设置。

在 man bash 中的'PROMPTING'部分,对这些参数(parameter)有详细说明。您可以加入一些小玩意,如不同格式的当前时间,命令的历史记录号,甚至不同的颜色。

一种更适当的设定:
       PS1="[\u: \w]\\$ "
      这样,提示符就变成:
      [wsf: /usr/bin]$
      你可以通过命令 export 来测试不同的设置(比如,export PS1="\u: \w\\$ ")。如果找到了适合的提示符,就将设置放到您的'.bashrc''中。这样,每次打开控制台或终端窗口时,都会生效。

引用https://www.cnblogs.com/testlife007/p/6548698.html

linux 的环境变量的配置文件的更多相关文章

  1. Linux中环境变量文件及配置

    Linux中环境变量文件及配置   一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统 ...

  2. Linux设置环境变量小结:设置永久变量&临时变量 全局变量&局部变量

    1.总结背景 在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容.如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁 ...

  3. Linux中环境变量文件及配置(转载)

    一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...

  4. Spring使用环境变量控制配置文件加载

    项目中需要用到很多配置文件,不同环境的配置文件是不一样的,因此如果只用一个配置文件,势必会造成配置文件混乱,这里提供一种利用环境变量控制配置文件加载的方法,如下: 一.配置环境变量 如果是window ...

  5. Windows、Linux的环境变量

    Windows操作系统 什么是环境变量?环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等. 这点有点类似于DOS时期的默认路径,当你运行某些程序时除 ...

  6. Linux中环境变量中文件执行顺序

        Linux 的变量可分为两类:环境变量和本地变量   环境变量:或者称为全局变量,存在于所有的shell 中,在你登陆系统的时候就已经有了相应的系统定义的环境变量了.Linux 的环境变量具有 ...

  7. 【linux】环境变量

    参考链接: http://www.cnblogs.com/growup/archive/2011/07/02/2096142.html https://zhidao.baidu.com/questio ...

  8. Spring使用环境变量控制配置文件加载(转)

    项目中需要用到很多配置文件,不同环境的配置文件是不一样的,因此如果只用一个配置文件,势必会造成配置文件混乱,这里提供一种利用环境变量控制配置文件加载的方法,如下: 一.配置环境变量 如果是window ...

  9. Linux下环境变量设置 (转)

    Linux下环境变量设置 1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错 ...

随机推荐

  1. kubernetes版本apiversion简单说明

    在使用yaml文件部署Deployment项目时,出现过 error: error validating "xx-Deployment.yaml": error validatin ...

  2. ETH&EOS开发资源及工具集合(完整汇总版)

    ETH&EOS开发资源及工具集合(完整汇总版) 3113 ETH开发资源篇 一.开发语言 ·         Solidity - 官方推荐以太坊智能合约开发语言,也是目前最为主流的智能合约语 ...

  3. 【并行计算-CUDA开发】 NVIDIA Jetson TX1

    概述 NVIDIA Jetson TX1是计算机视觉系统的SoM(system-on-module)解决方案.它组合了最新的NVIDIAMaxwell GPU架构,其具有ARM Cortex-A57 ...

  4. CVPapers - Computer Vision Resource

    To add links (PDF, project,...) you can use the online tool. Computer Vision Paper Indexes ICCV:  20 ...

  5. 【VS开发】MP4与H.264

    一.MP4格式基本概念 MP4格式对应标准MPEG-4标准(ISO/IEC14496) 二.MP4封装格式核心概念 1  MP4封装格式对应标准为 ISO/IEC 14496-12(信息技术 视听对象 ...

  6. vue-cli3创建vue项目之vue.config.js配置

    module.exports = { // 基本路径 publicPath: '/', // 输出文件目录 outputDir: 'dist', // eslint-loader 是否在保存的时候检查 ...

  7. 【1.0】shell常用信息

    [1]获取IP地址 /sbin/ifconfig|grep -A1 -E "^eth0|em2"|grep "inet addr"|awk -F':' '{pr ...

  8. Redis 学习笔记(篇十):Sentinel

    Sentinel(哨兵)是 Redis 的高可用解决方案:由一个或多个 Sentinel 实例组成的 Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主 ...

  9. python之并发编程(概念篇)

    一.进程 1.什么是进程 进程是正在进行的一个过程或者一个任务.而负责执行任务的则是cpu. 2.进程与程序的区别 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程 ...

  10. 【Python基础】09_Python中的元组

    1.元组的定义 Tuple (元组)与列表类似,元组的元素 不能修改 元组通常保存 不同类型 的数据 元组用()定义 info_tuple = ("张三", 18, 1.75) 定 ...