• Linux下配置文件修改PATH环境变量、alias别名、个性化提示符,env


    配置文件

    linux系统普通用户目录(cd ~)或root用户目录(cd /root)下,用指令ls -al可以看到4个隐藏文件,

    ~/.bash_history 记录之前输入的命令

    ~/.bash_logout 当你退出bash shell时执行的命令

    ~/.bash_profile 当你登入shell时执行(用户登录时,该文件仅仅执行一次。默认情况下执行用户的~/.bashrc文件)

    ~/.bashrc 当你登入shell时执行(登录时以及每次打开新的shell时,该文件被读取)包含专用于用户的bash shell的bash信息

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

    ~/.bash_profile 是交互式、login 方式进入 bash 运行的;~/.bashrc 是交互式 non-login 方式进入 bash 运行的。通常二者设置大致相同,所以通常前者会调用后者。

    这些文件是每一位用户对终端功能和属性设置,修改~/.bashrc可以改变环境变量PATH、别名alias和提示符。

    除了修改~/.bashrc文件外,还可以修改如“/etc/profile”文件【/etc/profile文件为系统的每个用户设置环境信息】、“/etc/bashrc”文件【为每一个运行bash shell的用户执行此文件】及目录“/etc /profile.d”下的文件。

    但是修改/etc路径下的配置文件将会应用到整个系统,属于系统级的配置;而修改~/.bashrc则只是限制在用户应用上,属于用户级设置。

    修改~/.bashrc,无需root权限,不会影响其他用户。

    /etc/profile中设定的变量(全局)可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。

    执行顺序为:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout

    首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个。

    如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。因为在 ~/.bash_profile文件中一般会有下面的代码:

    1
    2
    3
    if [ -f ~/.bashrc ] ; then
    . ./bashrc
    fi

    ~/.bashrc中,一般还会有以下代码:

    1
    2
    3
    if [ -f /etc/bashrc ] ; then
    /etc/bashrc
    fi

    所以,~/.bashrc会调用 /etc/bashrc文件。最后,在退出shell时,还会执行 ~/.bash_logout文件。

    PATH环境变量修改

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

    作为惯例,所有环境变量名都是大写。(Linux 区分大小写)

    如:在文件/etc/profile中新增:

    1
    2
    export JAVA_HOME=/opt/java/jdk
    export JRE_HOME=${JAVA_HOME}/jre

    alias别名 

    一般在.bashrc或/etc/bashrc文件里有定义alias的几行

    1
    2
    3
    alias rm=’rm -i’
    alias cp=’cp -i’
    alias mv=’mv -i’

    可以在该配置文件中添加自己风格的别名,如

    1
    2
    alias cls=clear
    alias ls='/bin/ls -F --color=tty --show-control-chars'

    也许你用惯了top,我们也可以用top来打开htop。

    编辑/root/.bashrc文件,添加如下代码

    1
    2
    3
    if [ -f /usr/local/bin/htop ]; then
        alias top=’/usr/local/bin/htop
    fi

    提示符

    1
    echo $PS1 #显示当前的提示符设定

    可以通过编辑各自home目录下的.bash_profile和.bashrc来设置个性化提示符。(设置格式可查man bash手册中的PROMPTING部分)

    例如PS1=”[u: w]$ ” ,提示符就变成:[root:/usr/bin]$ 

    1
    PS1='${debian_chroot:+($debian_chroot)}[33[01;32m][u[33[01;34m][33[00m]:[33[01;35m]w[33[01;32m] $] '

    每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)、source /etc/profile,就可以立刻加载修改后的设置,使之生效。(也可以重启生效)

    定制环境变量修改/etc/profile文件,所有用户的shell都有权使用这些环境变量,缺点是可能会给系统带来安全性问题。(修改针对所有的用户的,所有的shell)

    修改~/.bashrc文件更为安全,它可以把使用这些环境变量的权限控制到用户级别

    在/etc/profile里设置系统环境变量时,路径末尾不能以"/"结尾,否则将导致整个PATH变量出错。

    参考来源

  • 相关阅读:
    Ajax学习笔记2客户端访问WebService(上)
    在 .NET Framework 2.0 中未处理的异常导致基于 ASP.NET 的应用程序意外退出(我加了点注释)
    想用JS写一段鼠标拖拽调整图片大小的代码(未完)
    key/value/index 类型定义for .net
    ReadOnly属性对TEXTBOX的状态保存有影响?
    软件开发工具名称集锦(无下载地址,收集中...)
    AjaxPro让.NET的AjaxPro变得简单
    Ajax学习笔记(15):使用ASP.NET AJAX提供的Authentication Service
    在.NET中使用Newtonsoft.Json转换,读取,写入
    Orcale的 rownum
  • 原文地址:https://www.cnblogs.com/andydao/p/15475438.html
Copyright © 2020-2023  润新知