1 环境变量
环境变量有时也被称为系统变量。比如shell的环境变量作用域自身以及它的子进程。在所有的UNIX以及类UNIX系统中,每个进程都有自己的环境变量设置,且默认情况下,当一个进城被创建时,处理过程中明确指定的话,它将继承其父进程的绝大部分环境设置。shell程序作为一个进程运行在操作系统之上,而我们在shell中运行的大部分命令都将以shell的子进程的方式运行。
通常我们会设计的环境变量有三种:
1 当前shell进程私有用户定义变量,如用declare命令在当前shell声明的变量
2 shell本身内置的变量
3 从自定义导出的环境变量
下面分别介绍与上述三种变量相关的命令,set, env, export,它们都可以打印相关环境变量,区别只是在于涉及的是不同范围内的环境变量,详见下表:
命令 | 说明 |
---|---|
set | 显示当前 Shell 所有环境变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量 |
env | 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行 |
export | 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量 |
shell命令,是通过查找$PATH这个变量,寻找命令所在的路径。如果shell中找不到某个命令,比如java,你可以将这个命令加入到PATH中。不过为了在下次进入shell中可以正常使用,可以将PATH的设置重定向到对应shell的配置文件中,如果你使用的是bash(echo $SHELL就可以看到你的shell类型),就重定向到.bashrc,然后source .bashrc使其立即生效。
2 文件查找
与搜索相关的命令有如下几个whereis, which, find, locate
1 whereis 是从数据中查找,只能搜索二进制文件(-b), man帮助文件(-m)和源码文件(-s),如果想使用locate进行查询。
2 locate通过通过"/var/lib/mlocate/mlocate.db"数据库查找,不过每次使用它之前,最好执行updatedb命令一次,防止最新添加的东西找不到(类似apt-get update)。它也可以查找在特定目录下进行查找,具体大家可以自行尝试。
3 which是shell内置的一个命令,主要查找软件的安装路径
4 find命令最为强大,因为它的查找条件也是最多的。文件类型, 文件名称,文件的元数据(文件权限,文件的修改时间等等blabla),下次有机会可以探讨一下这个命令。
linux是一个有趣的世界,让我们一起探索吧,希望大牛多多指点,感谢某在线教育提供的实验环境,share your knowledge with world!!!
感谢实验楼提供的在线实验环境。以后妈妈说,再也不用安装虚拟机了。