OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

3.2. 文件系统中的方向‌‌


3.2.1. 路径


当您希望系统执行命令时,您几乎不需要提供该命令的完整路径。 例如,我们知道 ls 命令在 /箱 目录(检查 -a ls),但我们不必输入命令 / bin / ls 让计算机列出当前目录的内容。


- PATH 环境变量负责解决这个问题。 该变量列出了系统中可以找到可执行文件的目录,从而为用户节省了大量键入和记忆命令位置的工作。 所以路径自然包含了很多包含 箱子 在他们名字的某个地方,如下面的用户所示。 这 回音 命令用于显示变量的内容(“$”) PATH:


罗杰:> 回声 $ 路径

/opt/local/bin:/usr/X11R6/bin:/usr/bin:/usr/sbin/:/bin

罗杰:> 回声 $ 路径

/opt/local/bin:/usr/X11R6/bin:/usr/bin:/usr/sbin/:/bin

在这个例子中,目录 /选择/本地/斌, /usr/X11R6/bin, / usr / bin, / usr / sbin

/箱 随后搜索所需的程序。 一旦找到匹配项,搜索就会停止,即使路径中的每个目录都没有被搜索过。 这可能会导致奇怪的情况。 在下面的第一个例子中,用户知道有一个程序叫做 发简讯 发送 SMS 消息,同一系统上的另一个用户可以使用它,但她不能。 区别在于配置 PATH 变量:


[珍妮@blob珍妮]$ 发简讯 bash: sendms: 命令未找到 [jenny@blob jenny]$ echo $PATH

/bin:/usr/bin:/usr/bin/X11:/usr/X11R6/bin:/home/jenny/bin [jenny@blob jenny]$ su - 托尼

密码:tony:~>which sendms

sendms 是 /usr/local/bin/sendsms


托尼:~>echo $PATH

/home/tony/bin.Linux:/home/tony/bin:/usr/local/bin:/usr/local/sbin:\

/usr/X11R6/bin:/usr/bin:/usr/sbin:/bin:/sbin

[珍妮@blob珍妮]$ 发简讯 bash: sendms: 命令未找到 [jenny@blob jenny]$ echo $PATH

/bin:/usr/bin:/usr/bin/X11:/usr/X11R6/bin:/home/jenny/bin [jenny@blob jenny]$ su - 托尼

密码:tony:~>which sendms

sendms 是 /usr/local/bin/sendsms


托尼:~>echo $PATH

/home/tony/bin.Linux:/home/tony/bin:/usr/local/bin:/usr/local/sbin:\

/usr/X11R6/bin:/usr/bin:/usr/sbin:/bin:/sbin

注意使用 su (切换用户)工具,它允许您在另一个用户的环境中运行 shell,前提是您知道该用户的密码。


反斜杠表示下一行的延续,不带反斜杠 输入 将一条线与另一条线分开。


在下一个示例中,用户想要调用 wc (word count) 命令来检查文件中的行数,但没有任何反应,他必须使用 按Ctrl+C 组合:


跳线:~> wc -l 测试


(Ctrl-C)

跳线:~> 哪个厕所

wc 被散列 (/home/jumper/bin/wc)


跳线:~> 回声 $ 路径

/home/jumper/bin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:\

/usr/bin:/usr/sbin:/bin:/sbin

跳线:~> wc -l 测试


(Ctrl-C)

跳线:~> 哪个厕所

wc 被散列 (/home/jumper/bin/wc)


跳线:~> 回声 $ 路径

/home/jumper/bin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:\

/usr/bin:/usr/sbin:/bin:/sbin

使用的 命令向我们显示该用户具有 箱子-directory 在他的主目录中,包含一个程序,该程序也被称为 wc. 由于搜索时首先找到他家目录中的程序


应召的路径 wc,这个“自制”程序被执行,输入它可能不理解,所以我们不得不停止它。 要解决这个问题,有几种方法(在 UNIX/Linux 中总是有几种方法可以解决问题):一个答案可能是重命名用户的 wc 程序,或者用户可以给出他想要的确切命令的完整路径,可以使用 -a 选项 命令。


如果用户更频繁地使用其他目录中的程序,他可以更改路径以最后查看自己的目录:


跳线:~> 导出路径=/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:\

/usr/bin:/usr/sbin:/bin:/sbin:/home/jumper/bin

跳线:~> 导出路径=/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:\

/usr/bin:/usr/sbin:/bin:/sbin:/home/jumper/bin


图片变化不是永久性的!

OnWorks 的顶级操作系统云计算: