`
thank55789
  • 浏览: 28942 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Linux系统中的环境变量知识详解

阅读更多
对于没有使用过linux系统的用户来说,有很多术语和功能都很陌生。本文就介绍了linux系统中的环境变量的相关知识,其中包括什么是环境变量并罗列了一些Linux系统使用的变量并说明了它们的用处。

AD:


对于没有使用过linux系统的用户来说,有很多术语和功能都很陌生。本文就介绍了linux系统中的环境变量的相关知识,具体内容如下所述。

linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。

什么是环境变量

环境变量是一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。许多用户(特别是那些刚接触Linux的新手)发现这些变量有些怪异或者难以控制。其实,这是个误会:通过使用环境变量,你可以很容易的修改一个牵涉到一个或多个应用程序的配置信息。

重要的例子

下表罗列了一些Linux系统使用的变量并说明了它们的用处。在表格后面将列举一些变量例值。

变量说明

PATH这个变量包含了一系列由冒号分隔开的目录,系统就从这些目录里寻找可执行文件。如果你输入的可执行文件(例如ls、rc-update或者emerge)不在这些目录中,系统就无法执行它(除非你输入这个命令的完整路径,如/bin/ls)。

ROOTPATH这个变量的功能和PATH相同,但它只罗列出超级用户(root)键入命令时所需检查的目录。

LDPATH这个变量包含了一系列用冒号隔开的目录,动态链接器将在这些目录里查找库文件。

MANPATH这个变量包含了一系列用冒号隔开的目录,命令man会在这些目录里搜索man页面。

INFODIR这个变量包含了一系列用冒号隔开的目录,命令info将在这些目录里搜索info页面。

PAGER这个变量包含了浏览文件内容的程序的路径(例如less或者more)。

EDITOR这个变量包含了修改文件内容的程序(文件编辑器)的路径(比如nano或者vi)。

KDEDIRS这个变量包含了一系列用冒号隔开的目录,里面放的是KDE相关的资料。

CONFIG_PROTECT这个变量包含了一系列用空格隔开的目录,它们在更新的时候会被Portage保护起来。

CONFIG_PROTECT_MASK这个变量包含了一系列用空格隔开的目录,它们在更新的时候不会被Portage保护起来。

下面你可以找到所有这些变量定义的范例:

代码1:定义范例

PATH="/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/games/bin"  ROOTPATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"  LDPATH="/lib:/usr/lib:/usr/local/lib:/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3"  MANPATH="/usr/share/man:/usr/local/share/man"  INFODIR="/usr/share/info:/usr/local/share/info"  PAGER="/usr/bin/less"  EDITOR="/usr/bin/vim"  KDEDIRS="/usr"  CONFIG_PROTECT="/usr/X11R6/lib/X11/xkb/opt/tomcat/conf"  /usr/kde/3.1/share/config/usr/share/texmf/tex/generic/config/"   /usr/share/texmf/tex/platex/config//usr/share/config"   CONFIG_PROTECT_MASK="/etc/gconf"  对于bashshell

关于环境变量命令介绍:

1.echo显示某个环境变量值echo$PATH

2.export设置一个新的环境变量exportHELLO="hello"(可以无引号)

3.env显示所有环境变量

4.set显示本地定义的shell变量

5.unset清除环境变量unsetHELLO

6.readonly设置只读环境变量readonlyHELLO

常见的环境变量

PATH:决定了shell将到哪些目录中寻找命令或程序

HOME:当前用户主目录

MAIL:是指当前用户的邮件存放目录。

SHELL:是指当前用户用的是哪种Shell。

HISTSIZE:是指保存历史命令记录的条数

LOGNAME:是指当前用户的登录名。

HOSTNAME:是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。

LANG/LANGUGE:是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。

PS1:是基本提示符,对于root用户是#,对于普通用户是$。

PS2:是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,MyNewPrompt:)”。

#PS1="Hello,MyNewPrompt:)"

使用修改.bashrc文件进行环境变量的编辑,只对当前用户有用。

使用修改/etc/profile文件进行环境变量的编辑,是对所有用户有用。大家一定要注意区别。

如何设置Shell环境变量?

Shell 设置 添加 去除 显示当前值 注解 
sh NAME=value1
export NAME NAME=value2:$NAME unset NAME set(internal)或者env(exported) 如果需要子进程也看到该环境变量,需要使用export 
ksh NAME=value1
export NAME NAME=value2:$NAME unset NAME set(internal)或者env(exported) 如果需要子进程也看到该环境变量,需要使用export 
csh setenv NAME value1 setenv NAME value2:$NAME unsetenv NAME set 不需要使用export 
bash NAME=value1 NAME=value2:$NAME unset NAME set或者env 如果需要子进程也看到该环境变量,需要使用export


总结:

希望本文 介绍的Linux系统中的环境变量的知识能够对读者有所帮助,更多有关linux系统的知识还有待于读者去探索和学习。

分享到:
评论

相关推荐

    LINUX系统管理白皮书

    5.13.2 解析器环境变量 51 5.13.3 域名服务器查找 ——resolv.conf的配置 52 5.13.4 解析器的健壮性 53 5.14 named的运行 53 5.14.1 named.boot文件 53 5.14.2 DNS数据库文件 55 5.14.3 编写Master文件 57 ...

    Linux知识点思维导图(持续更新)

    Linux——文件权限属性和权限管理 Linux——vim简介、配置方案(附带超美观的配置方案)、...Linux——环境变量与本地变量 Linux——进程程序替换 Linux——shell程序简单实现 Linux——系统文件IO Linux——磁盘文件

    嵌入式Linux应用程序开发标准教程(第2版全)

    《嵌入式Linux应用程序开发标准教程(第2版)》主要分为3个部分,包括Linux基础、搭建嵌入式Linux环境和嵌入式Linux的应用开发。Linux基础部分从Linux基础、基本操作命令讲起,为Linux初学者能快速入门提供了保证。...

    嵌入式Linux C编程入门(第2版) PPT

    第1章 嵌入式系统基础知识 .1 1.1 嵌入式系统概述 1 1.1.1 嵌入式系统的发展史 2 1.1.2 嵌入式系统的定义与特点 3 1.1.3 嵌入式系统的特点 4 1.2 嵌入式系统的组成 5 1.2.1 嵌入式系统的硬件架构...

    入门学习Linux常用必会60个命令实例详解doc/txt

    因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有...

    嵌入式系统/ARM技术中的如何学习嵌入式系统之基础知识

    设置Linux环境变量,定制Linux的服务,Shell 编程基础使用vi编辑文件,使用Emacs编辑文件,使用其他编辑器。  2、Shell 编程基础  Shell简介:认识后台程序Bash编程熟悉Linux系统下的编辑环境,熟悉Linux下的...

    如何学习嵌入式系统之基础知识

    设置Linux环境变量,定制Linux的服务,Shell 编程基础使用vi编辑文件,使用Emacs编辑文件,使用其他编辑器。  2、Shell 编程基础  Shell简介:认识后台程序Bash编程熟悉Linux系统下的编辑环境,熟悉Linux下的...

    Android底层开发技术实战详解--内核、移植和驱动.(电子工业.王振丽).part3

    2.5.1 Linux环境下运行模拟器的方法 53 2.5.2 模拟器辅助工具——adb 54 第3章 驱动需要移植 57 3.1 驱动开发需要做的工作 57 3.2 Android移植 59 3.2.1 移植的任务 60 3.2.2 移植...

    Android底层开发技术实战详解--内核、移植和驱动.(电子工业.王振丽).part1

    2.5.1 Linux环境下运行模拟器的方法 53 2.5.2 模拟器辅助工具——adb 54 第3章 驱动需要移植 57 3.1 驱动开发需要做的工作 57 3.2 Android移植 59 3.2.1 移植的任务 60 3.2.2 移植...

    Android底层开发技术实战详解--内核、移植和驱动.(电子工业.王振丽).part2

    2.5.1 Linux环境下运行模拟器的方法 53 2.5.2 模拟器辅助工具——adb 54 第3章 驱动需要移植 57 3.1 驱动开发需要做的工作 57 3.2 Android移植 59 3.2.1 移植的任务 60 3.2.2 移植...

    使用Android 系统测量软件开发技术 [武安状 主编] 2014年版

    系统地介绍了Android基础知识、测绘基础知识、JAVA语言基础、Android环境搭建、Android开发基础、Android高级软件开发技术、Sqlife嵌入式数据库操作技术、安卓水准记录操作指南、安卓水顺记录源码详解、Android开发...

    宋劲彬的嵌入式C语言一站式编程

    2. 环境变量 3. 进程控制 3.1. fork函数 3.2. exec函数 3.3. wait和waitpid函数 4. 进程间通信 4.1. 管道 4.2. 其它IPC机制 5. 练习:实现简单的Shell 31. Shell脚本 1. Shell的历史 2. Shell如何执行命令 2.1. 执行...

    python入门到高级全栈工程师培训 第3期 附课件代码

    05 Python安装以及环境变量的操作 06 Python初识以及变量 07 Python条件语句和基本数据类型 08 Python while循环语句以及练习题 09 练习题讲解 第10章 01 上节内容回顾以及补充 02 上周作业实现 03 Pycharm的安装...

    Tcl_TK编程权威指南pdf

    环境变量 registry命令 第2部分tcl高级特性 第10章 引用问题与eval 使用list命令来构建代码 在eval内部利用concat uplevel命令 subst命令 第11章 正则表达式 何时使用正则表达式 正则表达式的语法 高级...

Global site tag (gtag.js) - Google Analytics