zoukankan      html  css  js  c++  java
  • The linux command之环境


    一、环境

    shell在环境中存储了两种数据类型:环境变量(environment variables )shell变量(shell variables).在shell中这两种变量基本没有什么不同。

    此外shell还存放一些变成数据(programmatic data),分别是aliase和shell functions.

    为了看环境中存储的东西:我们使用set和printenv程序来观察。set会显示shell和environment中的变量。printenv只会显示环境中的变量。

    1 [me@linuxbox ~]$ printenv | less

    显示了一系列环境变量及其对应值,我们也可以使用pritenv观察某个特定变量的值。

    1 [me@linuxbox ~]$ printenv USER
    2 me
    1 [me@linuxbox ~]$ set | less
    1 [me@linuxbox ~]$ echo $HOME
    2 /home/me

    alias需要使用alias显示

    1 [me@linuxbox ~]$ alias
    2 alias l.='ls -d .* --color=tty'
    3 alias ll='ls -l --color=tty'
    4 alias ls='ls --color=tty'
    5 alias vi='vim'
    6 alias which='alias | /usr/bin/which --tty-only --read-alias --showdot
    7 --show-tilde'

     部分环境变量如下图所示:


    二、环境建立过程

    当我们登录系统时,bash程序启动,从启动文件里读取一系列配置脚本。配置脚本里有所有用户的默认环境配置。

     shell会话类型有两种,它决定了启动文件的执行顺序。

    login shell:提示我们输入用户名和密码,例如虚拟控制台会话。

    non-login shell:大多发生在我们使用GUI启动终端。

    在读取以上启动文件之后,non-login shell还会继承父类进程的环境,通常是一个login shell。

    由于大部分启动文件以“.”开头,意味着他们是隐藏的,所以在使用ls查看时要加上-a。

    ~./bashrc是一个最重要的启动文件。

    我们来看下启动文件中有什么?

    1 # .bash_profile
    2 # Get the aliases and functions
    3 if [ -f ~/.bashrc ]; then
    4 . ~/.bashrc
    5 fi
    6 # User specific environment and startup programs
    7 PATH=$PATH:$HOME/bin
    8 export PATH

    其中三、四行翻译如下:

    1 If the file "~/.bashrc" exists, then
    2 read the "~/.bashrc" file.

    以上启动文件中的另一个重要因素是PATH变量。当用户输入ls,shell不会搜索整个系统来寻找/bin/ls(ls命令的完整路径名)而是会搜索

    PATH变量中存储的目录列表。PATH变量通常是由启动文件/etc/profile中的一段代码设定。

    1 PATH=$PATH:$HOME/bin

    以上代码是利用参数扩展将$HOME/bin添加到PATH值的尾部。当系统需要检索用户输入的命令时,$HOME/bin这个路径会处于被搜索的路径列表之中。

    1 export PATH

    以上命令告诉shell子进程也可以使用PATH变量的内容。


    三、修改环境

    在PATH中添加变量或者定义另外的环境变量,是在.bash_profile(ubuntu是在.profile)中修改。其他的修改是在.bashrc中。


    1 [me@linuxbox ~]$ printenv | less
    陈小洁的三只猫
  • 相关阅读:
    查询BLOB字段的长度
    java中使用公钥加密私钥解密原理实现license控制
    Eclipse调试Bug的七种常用技巧
    mysql视图
    动态缓存技术之CSI,SSI,ESI
    取得图片原来的大小
    fieldset也是表单元素
    isInt
    取得浏览器的文档类型
    option的value、text与label
  • 原文地址:https://www.cnblogs.com/ccpang/p/11340547.html
Copyright © 2011-2022 走看看