Next: 配置文件
Up: Shell的使用
Previous: 环境变量
  目录
  索引
命令存放的位置: PATH 变量
当你从shell上打入一个命令,它必须在运行这个命令之前在您的硬盘上找到这个程序。如果shell不得不搜索整个硬盘,将会非常得慢。
所,它去搜索一下包含在 PATH环境变量中的目录列表。这个目录列表构成了shell的搜索路径
;当您键入一个命令时,它按顺序检查遍每个目录来寻找您要求运行的这个程序。
如果您自己在一个非标准位置安装了某个程序,您也许需要修改 PATH 变量。 PATH 变量的值是用冒号分开的一系列目录的列表。
Debian系统上缺省的值是:
-
- /usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
这个值在 /etc/profile 中定义,并适用于所有的用户。只要您有权力修改环境变量,您可以很方便地改变这个值。
如果你键入ls这个变量,shell首选会在 /usr/local/bin 这个目录中搜索;ls 不在那儿,所以它
将再检查 /usr/bin 目录;当再次没找到时,它将检查 /bin。在那里它将发现 /bin/ls,这时它将停止
搜索,并且运行 /bin/ls 这个程序。如果还有 /usr/bin/X11/ls (实际上现在没有,但假设有),它将被忽略。
您可以用type命令来查看shell将运行哪个 ls 。type ls 返回的答案将是 /bin/ls。
请亲自试一下。
请试着查一下 type 这个命令自己存放在哪里:
-
- $ type type
type is a shell builtin (type是一个shell内部命令)
type 实际上不是一个程序;它是shell提供的一个函数。然而,您可象使用一个外部程序一样使用它。
类似这样的命令有很多;可以通过键入 man builtins 来看一下关于内部命令的帮助页。一般来说,您不需要知道一个命令
是内部命令还是一个真实的程序。然而,内部命令将不会在 ps 或 top 命令的输出中显示出来,
因为它们不是独立的进程。它们只是shell的一部分。
Next: 配置文件
Up: shell的使用
Previous: 环境变量
  目录
  索引
John Goerzen / Ossama Othman