Linux功能-环境变量
linux系统中有很多重要的环境变量,我们可以用env命令查看它们。
变量是由固定的“变量名”与用户或系统设置的“变量值”两部分组成,也可以自行修改。
[root@localhost ~]# env
XDG_SESSION_ID=
HOSTNAME=localhost.localdomain
SELINUX_ROLE_REQUESTED=
TERM=xterm
SHELL=/bin/bash
HISTSIZE=
SSH_CLIENT=192.168.157.1
SELINUX_USE_CURRENT_RANGE=
QTDIR=/usr/lib64/qt-3.3
QTINC=/usr/lib64/qt-3.3/include
SSH_TTY=/dev/pts/
QT_GRAPHICSSYSTEM_CHECKED=
USER=root
LS_COLORS=rs=:di=;:ln=;:mh=:pi=;:so=;:do=;:bd=;;:cd=;;:or=;;:mi=;;;:su=;:sg=;:ca=;:tw=;:ow=;:st=;:ex=;:*.tar=;:*.tgz=;:*.arc=;:*.arj=;:*.taz=;:*.lha=;:*.lz4=;:*.lzh=;:*.lzma=;:*.tlz=;:*.txz=;:*.tzo=;:*.t7z=;:*.zip=;:*.z=;:*.Z=;:*.dz=;:*.gz=;:*.lrz=;:*.lz=;:*.lzo=;:*.xz=;:*.bz2=;:*.bz=;:*.tbz=;:*.tbz2=;:*.tz=;:*.deb=;:*.rpm=;:*.jar=;:*.war=;:*.ear=;:*.sar=;:*.rar=;:*.alz=;:*.ace=;:*.zoo=;:*.cpio=;:*.7z=;:*.rz=;:*.cab=;:*.jpg=;:*.jpeg=;:*.gif=;:*.bmp=;:*.pbm=;:*.pgm=;:*.ppm=;:*.tga=;:*.xbm=;:*.xpm=;:*.tif=;:*.tiff=;:*.png=;:*.svg=;:*.svgz=;:*.mng=;:*.pcx=;:*.mov=;:*.mpg=;:*.mpeg=;:*.m2v=;:*.mkv=;:*.webm=;:*.ogm=;:*.mp4=;:*.m4v=;:*.mp4v=;:*.vob=;:*.qt=;:*.nuv=;:*.wmv=;:*.asf=;:*.rm=;:*.rmvb=;:*.flc=;:*.avi=;:*.fli=;:*.flv=;:*.gl=;:*.dl=;:*.xcf=;:*.xwd=;:*.yuv=;:*.cgm=;:*.emf=;:*.axv=;:*.anx=;:*.ogv=;:*.ogx=;:*.aac=;:*.au=;:*.flac=;:*.mid=;:*.midi=;:*.mka=;:*.mp3=;:*.mpc=;:*.ogg=;:*.ra=;:*.wav=;:*.axa=;:*.oga=;:*.spx=;:*.xspf=;:
NETCAT_HOME=/opt/netcat
MAIL=/var/spool/mail/root
PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/netcat/bin:/root/bin
PWD=/root
LANG=zh_CN.UTF-
KDEDIRS=/usr
SELINUX_LEVEL_REQUESTED=
HISTCONTROL=ignoredups
SHLVL=
HOME=/root
LOGNAME=root
QTLIB=/usr/lib64/qt-3.3/lib
SSH_CONNECTION=192.168.157.1 192.168.157.128
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR=/run/user/
QT_PLUGIN_PATH=/usr/lib64/kde4/plugins:/usr/lib/kde4/plugins
_=/usr/bin/env
OLDPWD=/root/testA
[root@localhost ~]#
-----以下部分可能有误,待修改-----
实例1:将局部变量提升为全局变量
假设需要设置一个变量“WORKDIR”,让每个用户执行"cd $WORKDIR"后都登录到/home/workdir目录中。
定义方法:变量名称=新的值
查看方法:echo $变量名称
创建该目录:
[root@localhost ~]# mkdir /home/workdir
设置变量:
[root@localhost ~]# WORKDIR=/home/workdir
root用户进入该目录
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd $WORKDIR
[root@localhost workdir]# pwd
/home/workdir
[root@localhost workdir]#
切换到普通用户pentest,发现cd $WORKDIR后并没有进入到/home/workdir目录
[root@localhost workdir]# su - pentest
上一次登录:三 9月 :: CST 2016pts/ 上
[pentest@localhost ~]$ cd $WORKDIR
[pentest@localhost ~]$ pwd
/home/pentest
[pentest@localhost ~]$
使用pentest用户查看该变量,发现内容为空值
[pentest@localhost ~]$ echo $WORKDIR [pentest@localhost ~]$
为什么呢?为什么某个用户设置的环境变量不能被其他用户所使用?
原因就在于变量的作用范围。
export命令就是用于将局部变量提升为全局变量的,格式为:export 变量名[=变量值]
接下来将WORKDIR变量设置为全局变量:
用户要从pentest切回到创建该变量的root用户,然后执行export命令
[pentest@localhost ~]$ su - root
密码:
上一次登录:四 9月 :: CST 2016从 192.168..1pts/ 上
[root@localhost ~]# export WORKDIR
再次切换到pentest用户尝试是否可以访问该变量
[root@localhost ~]# su pentest
[pentest@localhost root]$ id
uid=(pentest) gid=(pentest) 组=(pentest) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[pentest@localhost root]$ cd $WORKDIR
[pentest@localhost workdir]$ pwd
/home/workdir
[pentest@localhost workdir]$
Linux功能-环境变量的更多相关文章
- Linux下环境变量设置 (转)
Linux下环境变量设置 1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错 ...
- [转帖]linux bash环境变量简单总结
linux bash环境变量简单总结 来源链接:http://www.178linux.com/8005 原创文章,如有转载,请注明原文地址 需要简单学习一下. 其实 我都是直接放一个 .sh文件到 ...
- linux bash环境变量简单总结
来源链接:http://www.178linux.com/8005 原创文章,如有转载,请注明原文地址 一.环境变量简介 Linux是一个多用户的操作系统.每个用户登录系统后,都会有一个专用的运行环境 ...
- Linux中环境变量的设置
目录 环境变量 Shell定义的环境变量 查看环境变量 Linux下环境变量的设置 环境变量 在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软 ...
- Linux中环境变量文件及配置
Linux中环境变量文件及配置 一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统 ...
- Linux SHELL,环境变量
SHELL: 在计算机科学中,Shell俗称壳(用来区别于核),是指"提供使用者使用界面"的软件(命令解析器).它类似于DOS下的command和后来的cmd.exe.它接收用户命 ...
- Linux设置环境变量小结:设置永久变量&临时变量 全局变量&局部变量
1.总结背景 在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“command not found”的提示内容.如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁 ...
- Linux中环境变量文件及配置(转载)
一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...
- Linux用户环境变量
Linux用户环境变量 环境变量就是系统或软件设置的一些参数,用户环境变量就是用户登录系统后,都有自已专用的运行环境.在Windows系统中用户环境变量保存在用户家目录,Linux也是同样的.本文主要 ...
随机推荐
- .net sql 防注入 httpmodule
1 新建一个类,实现IHttpModule接口 using System; using System.Collections.Generic; using System.Linq; using Sys ...
- Jquery.ajax(……)
ajax 详细解释:http://www.cnblogs.com/mybest/archive/2011/12/13/2285730.html: 问题描述:页面发送ajax请求,服务器端返回代码总是进 ...
- MySQL 字符串截取相关函数
MySQL 字符串截取相关函数 在工作中,可能需要将某些字段按某个分割符组成一个字符串作为字段值存取到数据库表中,比如某个任务对应三个结果,分别存储在不同的数据表中,这时可以将这三个不同表的主键按照约 ...
- 【Django】Django命令(Manager.py)
django-admin.py startproject mysite 该命令在当前目录创建一个 mysite 目录. django-admin.py这个文件在C:\Python27\Lib\site ...
- POJ2676-Sudoku(数独)
想了好久没想到好的解决办法,参考了 http://user.qzone.qq.com/289065406/blog/1303713313 大致题意: 九宫格问题,也有人叫数独问题 把一个9行9列的网格 ...
- bzoj 3232 01分数规划+最大权封闭子图判定
我们的目标是使v/c最小化,所以构造函数g(x)=v-x*c,那么 二分一个X,判断当时的v-x*c的值是多少,然后根据g(x)函数的 单调递减性来二分,判断,直到g(x)=0的时候当前的X就是答案. ...
- Codeforces Round #277.5 (Div. 2)
题目链接:http://codeforces.com/contest/489 A:SwapSort In this problem your goal is to sort an array cons ...
- 【CodeForces】【#285】Div.2
生平第一场Codeforce……纪念一下,虽然跪的跟渣渣似的……啊不就是跪成渣渣了…… A.B暴力过去的……不知道会不会超时……C我犯了个2B错误,让输出总共多少条边,我都求出来边集E了……直接输出E ...
- IIS8托管WCF服务
WCF服务程序本身不能运行,需要通过其他的宿主程序进行托管才能调用WCF服务功能,常见的宿主程序有IIS,WAS,Windows服务,当然在学习WCF技术的时候一般使用控制台应用程序或WinForm程 ...
- frequentism-and-bayesianism-chs
frequentism-and-bayesianism-chs 频率主义和贝叶斯主义——一个实用的介绍 此notebook最初出现在博客Pythonic Perambulations的文章.BSD l ...