LPI Linux认证指南读书笔记
发布时间:2007-05-22 16:29:30来源:红联作者:Skill
所有的计算机系统都需要一个人机界面。对于Linux系统管理员来说,最常用的莫过于字符界面了。系统提供一个字符例如'$'或者是'#'作为提示符,等待操作人员键入命令。这种界面通常也被称为‘命令行’界面。
通常是由一个被称为shell的程序来提供命令提示符并完成与操作人员的交互。shell在linux内核与用户之间提供了一个交互层,这也是Shell这个名称的由来。最初的shell运行于Unix系统,是由Steve Bourne开发的,当时被叫做sh。Linux系统中默认的shell是Bash,即Bourne-Again Shell,它是sh的Gun版本。另外比较常用的还有tcsh,是csh(C shell)的一种。
The Interactive Shell
shell是一个强大的编程环境,几乎能够完成你在Linux系统下所能想到的任何事;同时它也是与你的计算机系统交互的界面。Shell可以单独运行在一些物理终端上,也可以嵌入到一些GUI环境中,不管怎样,他们的是用是完全相同的。
Shell variable basics
在运行的过程中,bash会保存一些重要的参数。这些参数一般在bash启动时就已经设置好了,不过你也可以随时手动改变他们。
我们要提到的第一个参数是 PS1 (Prompt String 1 的缩写),它决定了命令行提示符的内容(另外还有一个PS2,在bash需要多行输入的时候才会用到)。我们可以用 echo 命令来查看当前shell所使用的PS1(当然也可以查看其他参数,命令的格式是一样的)。
$echo $PS1
\$
输出“\$”表示PS1包含两个字符\和$,其中\是转意符,$就是sh系统使用的命令行提示符。现在的bash中的PS1一般要复杂一些,以便提供更多的信息。在你的系统中,默认的PS1可能是下面这个样子:
[\u@\h \W]\$
这里的每一个\后面的字符在运行中都会被一些特定的信息所取代:
\u:用户名
\h:系统的主机名
\W:当前工作目录的名称(不是全路径)
这时的命令行提示符大概就是这个样子:
[jdean@linuxpc jdean]$
shell的另外一个非常重要的参数是PATH,它保存了所有包含你常用的命令的可执行文件的路径名称。Linux文件系统中的所有文件都可以用它的路径找到,例如less程序位于/usr/bin 目录中,那么把/usr/bin放在PATH中,你就可以简单的用less命令来运行它,而不用敲进去它的全路径:/usr/bin/less。
为了让shell找到并运行你敲入的命令,该命令必须是:
bash的内建命令,也就是bash自身的一部分
可执行程序,它所在目录已经存放在PATH变量
有明确定义的
shell使用PATH等参数,同时这些参数也会影响一些由shell运行的程序。为了使这些参数可用,它们必须被“导出”(exported)成为环境变量。环境变量可以被传递给程序和其他的shell,它们构成了程序的运行时环境。可以使用export命令把一个参数变成环境变量:
export MYVAR
参数被导出以后,就可以被shell的所有子进程使用,也就是说它对所有由shell启动的程序都是可见的。