Linux 中的环境变量可以定义为一组变量,用于描述应用程序或程序运行的环境。 这些变量不是在文件中明确定义或存储的,而是在执行程序时定义的。
Linux 中的环境变量列表
在本单元中,我们将介绍 Linux 用户可能感兴趣的一些环境,并了解它们各自的含义。
1. 用户
此变量指定您登录的用户。 您可以使用以下命令查看此内容:
$ echo $USER brucewayne
请注意,即使在运行时,此命令仍会为您提供原始用户名 sudo 特权,因为即使使用提升的特权来唤起它 sudo,用户保持不变。
$ sudo echo $USER brucewayne
当您想知道您登录的用户时,这可能是实用的,这是 CTF 的常见场景。
2. 家
这个环境变量定义了我们用户的主目录。 众所周知,当我们使用以下命令时,它们会将我们带到用户的主目录:
$ cd
或者,
$ cd ~
但是,如果我们想将主目录更改为其他目录,我们可以简单地更改我们的值 家 环境变量:
$ HOME=/path/to/directory
了解有关设置环境变量的更多信息 这里.
3. 期限
学期 是Linux中连接用户登录的程序设置的环境变量之一。 它定义了登录终端类型。 您可以获取可能的值列表 学期 变量:
$ ls /lib/terminfo/x/ x10term xnuppc+80x30 xnuppc-80x30-m xnuppc-256x96 xterm+edit xterm+sm+1002 xterm-basic xterm-vt220 x68k xnuppc+90x30 xnuppc-90x30 xnuppc-256x96-m xterm+indirect xterm+sm+1003 xterm-bold xterm-x10mouse x68k-ite xnuppc+100x37 xnuppc-90x30-m xnuppc-b xterm+kbs xterm+sm+1005 xterm-color xterm-x11hilite x820 xnuppc+112x37 xnuppc-100x37 xnuppc-f xterm+keypad xterm+sm+1006 xterm-direct xterm-x11mouse x1700 xnuppc+128x40 xnuppc-100x37-m xnuppc-f2 xterm+noalt xterm+titlestack xterm-direct2 xterm-xf86-v32 x1700-lm xnuppc+128x48 xnuppc-112x37 xnuppc-m xterm+noapp xterm+tmux xterm-hp xterm-xf86-v33 x1720 xnuppc+144x48 xnuppc-112x37-m xnuppc-m-b xterm+osc104 xterm+vt+edit xterm-kitty xterm-xf86-v40 x1750 xnuppc+160x64 xnuppc-128x40 xnuppc-m-f xterm+pc+edit xterm+x10mouse xterm-mono xterm-xf86-v43 xdku xnuppc+200x64 xnuppc-128x40-m xnuppc-m-f2 xterm+pcc0 xterm+x11hilite xterm-new xterm-xf86-v44 xenix xnuppc+200x75 xnuppc-128x48 xtalk xterm+pcc1 xterm+x11mouse xterm-nic xterm-xf86-v333 xerox xnuppc+256x96 xnuppc-128x48-m xterm xterm+pcc2 xterm-8bit xterm-noapp xterm-xfree86 xerox-lm xnuppc+b xnuppc-144x48 xterm+88color xterm+pcc3 xterm-16color xterm-old xterm-xi xerox820 xnuppc+basic xnuppc-144x48-m xterm+256color xterm+pce2 xterm-24 xterm-pcolor xterm.js xerox1720 xnuppc+c xnuppc-160x64 xterm+256setaf xterm+pcf0 xterm-88color xterm-r5 xterm1 xfce xnuppc+f xnuppc-160x64-m xterm+alt+title xterm+pcf2 xterm-256color xterm-r6 xtermc xiterm xnuppc+f2 xnuppc-200x64 xterm+alt1049 xterm+pcfkeys xterm-1002 xterm-sco xtermm xl83 xnuppc-80x25 xnuppc-200x64-m xterm+app xterm+r6f2 xterm-1003 xterm-sun xterms xnuppc xnuppc-80x25-m xnuppc-200x75 xterm+direct xterm+sl xterm-1005 xterm-utf8 xterms-sun xnuppc+80x25 xnuppc-80x30 xnuppc-200x75-m xterm+direct2 xterm+sl-twm xterm-1006 xterm-vt52 xwsh
4. 编辑
这定义了用于编辑系统上的文本文件的默认编辑器。 当您使用 编辑 命令或使用快捷方式,如 Ctrl+X+E
调用命令时使用相同的编辑器 须藤编辑. 通常最好将此变量设置为指向 vim 代替 纳米 [Read the difference between vim and nano]
5. 路径
小路 在我看来,这可能是 Linux 中最有趣的环境变量。 它基本上由系统查找命令的可执行文件/脚本的目录列表组成。 例如,当我们输入如下命令时 ls,系统会在列出的目录中搜索具有相同名称的可执行文件或脚本 小路 从头开始执行第一个实例 ls 它发现。
有时,您可能希望拥有自己的一组特殊二进制文件,您可能希望将其作为命令运行。 您可以通过将包含它们的目录添加到 小路.
$ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games $ PATH=$PATH:/path/to/directory $ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/path/to/directory
但是,您必须小心,因为任何二进制文件与任何其他系统二进制文件/脚本的名称都不相同,因为系统会执行它找到的二进制文件/脚本的第一个实例。
结论
除了此处列出的 Linux 中的环境变量之外,还有其他几个可能是用户感兴趣的,具体取决于上下文。 你也可以在 Linux 中修改这些环境变量来改变程序的环境。 要了解我们如何更改环境变量,请查看 这个帖子.