The linux command之环境
一、环境
shell在环境中存储了两种数据类型:环境变量(environment variables )shell变量(shell variables).在shell中这两种变量基本没有什么不同。
此外shell还存放一些变成数据(programmatic data),分别是aliase和shell functions.
为了看环境中存储的东西:我们使用set和printenv程序来观察。set会显示shell和environment中的变量。printenv只会显示环境中的变量。
[me@linuxbox ~]$ printenv | less
显示了一系列环境变量及其对应值,我们也可以使用pritenv观察某个特定变量的值。
[me@linuxbox ~]$ printenv USER
me
[me@linuxbox ~]$ set | less
[me@linuxbox ~]$ echo $HOME
/home/me
alias需要使用alias显示
[me@linuxbox ~]$ alias
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --showdot
--show-tilde'
部分环境变量如下图所示:
二、环境建立过程
当我们登录系统时,bash程序启动,从启动文件里读取一系列配置脚本。配置脚本里有所有用户的默认环境配置。
shell会话类型有两种,它决定了启动文件的执行顺序。
login shell:提示我们输入用户名和密码,例如虚拟控制台会话。
non-login shell:大多发生在我们使用GUI启动终端。
在读取以上启动文件之后,non-login shell还会继承父类进程的环境,通常是一个login shell。
由于大部分启动文件以“.”开头,意味着他们是隐藏的,所以在使用ls查看时要加上-a。
~./bashrc是一个最重要的启动文件。
我们来看下启动文件中有什么?
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
其中三、四行翻译如下:
If the file "~/.bashrc" exists, then
read the "~/.bashrc" file.
以上启动文件中的另一个重要因素是PATH变量。当用户输入ls,shell不会搜索整个系统来寻找/bin/ls(ls命令的完整路径名)而是会搜索
PATH变量中存储的目录列表。PATH变量通常是由启动文件/etc/profile中的一段代码设定。
PATH=$PATH:$HOME/bin
以上代码是利用参数扩展将$HOME/bin添加到PATH值的尾部。当系统需要检索用户输入的命令时,$HOME/bin这个路径会处于被搜索的路径列表之中。
export PATH
以上命令告诉shell子进程也可以使用PATH变量的内容。
三、修改环境
在PATH中添加变量或者定义另外的环境变量,是在.bash_profile(ubuntu是在.profile)中修改。其他的修改是在.bashrc中。
[me@linuxbox ~]$ printenv | less
The linux command之环境的更多相关文章
- 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令
Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...
- Linux里设置环境变量的方法(export PATH)
1.动态库路径的设置 Linux下调用动态库和windows不一样.linux 可执行程序是靠配置文件去读取路径的,因此有些时候需要设置路径 具体操作如下 export LD_LIBRARY_PATH ...
- linux 下PATH环境变量
环境变量简介 什么是环境变量呢?简要的说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件. 在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现&quo ...
- 环境变量解释以及在Linux下的环境变量设置
一.环境变量解释 环境变量是什么? 引用百度百科里面的解释:环境变量是操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息.例如Windows系统中的path环境变量,当要求 ...
- linux 、 CentOs ---> 环境变量设置
Linux下环境变量设置 1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错 ...
- Linux Command Backup
User Structure linux command review 列出所有信号 找到名字后,kill 或者用ps找到 kill同名进程 每隔一秒高亮显示网络链接数的变化情况 启动关闭制定网卡 关 ...
- Ubuntu,CenOS等Linux系统更改环境变量方法,以安装anaconda为例
[环境配置的原因] 在windows系统下,很多软件的安装都需要设置环境变量,比如安装JAVA JDK.如果不安装环境变量,在非软件安装的目录下运行javac命令,将会报告"找不到文件&qu ...
- Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1
交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码,在该环境下编译出嵌入式Linux系统所需要的操作系统.应用程序等,然后再上传到目标板上. 首 先要明确gcc 和arm-linux- ...
- linux配置java环境变量(详细)
linux配置java环境变量(详细) 本文完全引用自: http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html 一. 解压安装jdk ...
随机推荐
- 常用内置模块(三)——shelve、xml、hashlib、configparser
常用模块(三) 一.shelve模块 1.shelve模块也是一种序列化模块,内部使用的是pickle模块,所以也存在跨平台性差的问题 2.特点: 只要提供一个文件名即可 读写的方式和字典一样 将数据 ...
- Feign 系列(01)最简使用姿态
目录 Feign 系列(01)最简使用姿态 1. 引入 maven 依赖 2. 基本用法 3. Feign 声明式注解 Feign 系列(01)最简使用姿态 Spring Cloud 系列目录(htt ...
- Python 变量作用域 LEGB (下)—— Enclosing function locals
上篇:Python 变量作用域 LEGB (上)—— Local,Global,Builtin https://www.cnblogs.com/yvivid/p/python_LEGB_1.html ...
- Summary 报告
1.需要在添加一个名为summary report的监听器,跑完之后查看 Label:取样器/监听器名称 Samples :事务数量 Average:平均一个完成一个事务消耗的时间(平均响应时间) M ...
- 笔记32 SpringMVC中使用静态资源、处理中文乱码
一.静态资源的使用 在WebConfig.java中有如下代码段 @Override // 配置静态资源处理 public void configureDefaultServletHandling(D ...
- Java 的信号灯
Semaphore可以维护当前访问自身的线程个数,并提供了同步机制.使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个文件允许的并发访问数. Semaphore实现的功能就类似厕所有 ...
- Shell while循环详解
while 循环是 Shell 脚本中最简单的一种循环,当条件满足时,while 重复地执行一组语句,当条件不满足时,就退出 while 循环. Shell while 循环的用法如下: while ...
- windows 计算器
calc sin 弧度与角度
- No parser no filepath given问题解决
关于 vue 项目 run dev 的时候,控制台警告: No parser and no filepath given, using 'babylon' the parser now but thi ...
- js的三种消息框alert,confirm,prompt
原文:http://blog.csdn.net/lixiang0522/article/details/7764730 <html> <head> <script typ ...