JavaScript is required to for searching.
跳过导航链接
退出打印视图
系统管理指南:高级管理     Oracle Solaris 10 8/11 Information Library (简体中文)
search filter icon
search icon

文档信息

关于本书

1.  管理终端和调制解调器(概述)

2.  设置终端和调制解调器(任务)

3.  使用服务访问工具管理串行端口(任务)

4.  管理系统资源(概述)

5.  显示和更改系统信息(任务)

6.  管理磁盘使用(任务)

7.  管理 UFS 配额(任务)

8.  调度系统任务(任务)

9.  管理系统记帐(任务)

10.  系统记帐(参考)

11.  管理系统性能(概述)

12.  管理系统进程(任务)

13.  监视系统性能(任务)

14.  软件问题故障排除(概述)

15.  管理系统消息

16.  管理核心转储文件(任务)

17.  管理系统故障转储信息(任务)

18.  各种软件问题的故障排除(任务)

19.  文件访问问题故障排除(任务)

解决搜索路径的问题 (Command not found)

如何诊断和更正搜索路径问题

解决文件访问问题

更改文件和组的所有权

识别网络访问问题

20.  解决 UFS 文件系统不一致问题(任务)

21.  软件包问题故障排除(任务)

索引

解决搜索路径的问题 (Command not found)

Command not found 消息表示存在以下情况之一:

要解决搜索路径问题,您需要知道存储命令的目录的路径名。

如果找到了该命令的错误版本,则一个包含同名命令的目录会出现在搜索路径中。在这种情况下,正确的目录可能稍后会出现在搜索路径中,或者根本不会出现。

使用 echo $PATH 命令可以显示当前的搜索路径。例如:

$ echo $PATH 
/home/kryten/bin:/sbin:/usr/sbin:/usr/bin:/usr/dt:/usr/dist/exe

使用 which 命令可以确定您所运行的命令是否是一个错误版本。例如:

$ which acroread 
/usr/doctools/bin/acroread

注 - which 命令在 .cshrc 文件中查找路径信息。如果从 Bourne 或 Korn shell 中执行 which 命令,并且有一个 .cshrc 文件中包含 which 命令的别名,则该命令可能会提供误导性的结果。为确保结果的准确性,请在 C shell 中使用 which 命令,或在 Korn shell 中使用 whence 命令。


如何诊断和更正搜索路径问题

  1. 显示当前搜索路径,以验证命令的目录是否不在路径中,或验证该路径是否有拼写错误。
    $ echo $PATH 
  2. 检查以下各项:
    • 搜索路径是否正确?

    • 该搜索路径是否在找到了该命令另一个版本的其他搜索路径之前列出?

    • 命令是否位于其中一个搜索路径中?

    如果需要更正路径,请转到步骤 3。否则,请转到步骤 4。

  3. 将路径添加到相应文件,如下表所示。
    Shell
    文件
    语法
    说明
    Bourne 和 Korn
    $HOME/.profile
    $ PATH=$HOME/bin:/sbin:/usr/local /bin ...

    $ export PATH

    用冒号分隔路径名。
    C
    $HOME/.cshrc

    $HOME/.login

    hostname% set path=( ~bin /sbin /usr/local/bin ...)
    用空格分隔路径名。
  4. 按以下方式激活新路径:
    Shell
    路径所在的文件
    激活路径的命令
    Bourne 和 Korn
    .profile
    $ . ./.profile
    C
    .cshrc
    hostname% source .cshrc
    .login
    hostname% source .login
  5. 验证新路径。
    $ which command

示例 19-1 诊断和更正搜索路径问题

此示例显示执行 which 命令后发现,mytool 可执行文件并不存在于搜索路径中的任何目录内。

venus% mytool
mytool: Command not found
venus% which mytool
no mytool in /sbin /usr/sbin /usr/bin /etc /home/ignatz/bin  .
venus% echo $PATH
/sbin /usr/sbin /usr/bin /etc /home/ignatz/bin
venus% vi ~/.cshrc
(Add appropriate command directory to the search path)
venus% source .cshrc
venus% mytool

如果找不到某一命令,请在手册页中查看其目录路径。例如,如果找不到 lpsched 命令(lp 打印机守护进程),lpsched(1M) 手册页会告知您路径是 /usr/lib/lp/lpsched