国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > 综合技术 > Shell命令机制

Shell命令机制

来源:程序员人生   发布时间:2014-12-23 08:24:11 阅读次数:2298次

     上篇文章只要是讲了Linux1些基本概述。

        我们这次开始打好命令行操作的基础,以后再靠1些图形化的操作来提升我们的工作效力。

        既然要学习Linux操作系统,我们就要去学习它的命令,总所周知,Linux的图形界面是不稳定的,它的图形界面只不过是1个利用程序,所以很容易奔溃。所以我们应当学习图形下面的1些机制,包括用命令行去实现1些东西,用shell去实现1些东西,包括去理解它的内部机制。

固然这些命令去死记硬背是不行的。

启动虚拟机,启动Ubuntu。

图形界面 切换到 命令行 是按 ctrl+alter+ F2 或 F3 或 F4

命令行 切换回 图形界面 ctrl+alter+ F7

1、第1个命令:ls

列出文件下的所有文件,ls其实就是list的1个缩写

现在我们来分析1下这个命令是怎样实现的,实现机制是甚么样的?

从字面理解,shell是贝壳/外壳的意思。

比方说  A--》这个是操作系统的内核kernel,在kernel之上呢我们就会有用户接口的定义,然后再往上我们有1个外壳把它包裹起来,这个外壳里有很多命令工具,我们通过这些命令工具和编写我们自己的Shell脚本命令,有点类似于Windows下面的批处理,通过这些来实现对下面的访问。

所以ls的实现进程是这样的:

(1)输入了ls

(2)ls->去相应的目录去找shell命令程序,那这个shell去哪里找呢,固然是在path里找,那末这个path在哪里设置呢?环境变量。

(3)找到了以后就要履行,履行是基于Shell的1些基本库,比如说在Ubuntu里面我们的Shell采取的是Bash 

(4)最后就是访问kernel内核

现在我们来看1下这个path是在哪里配置的,这样我们才能知道ls命令在哪里。

我们看path之前呢,先看1个新的命令

whereis  ls

打印出来ls: /bin/ls  /usr/share/man/man1/ls.1.gz

我们来查找1下/bin/ls这个目录

ls /bin/ls

打印出来 /bin/ls  显示是绿色,说明它是个可履行文件


那下面我们看1下环境变量是不是真的指向 /bin/ls ,那末环境变量在哪呢?我们想象1下我们之前说的那个文 件夹是做配置的,好像是etc这个文件夹对不对。

我们进入etc文件夹看1下

cd etc

那末环境变量是在 /etc/environment下,我们ls1下

ls /etc/environment

打印出来 /etc/environment , 我们得知是1个1般文件

我们用vi工具打开该文件

vi /etc/environment

我们可以看到确切有个PATH

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games"

也就是说ls履行的时候就会去这些文件下去找可履行文件

通过bash对ls进行解析

2、Linux是如何实现Shell的

(1)Bash

(2)Coreutils

要了解这两块我们不能不去说1下GNU,去查1下GNU的翻译

Bash和Coreutils是在GNU上开发的

GNU的官网: http://www.gun.org/

里面有对GNU Bash的介绍

下载1下bash

我们可以通过bash -version查看当前bash版本

怎样办bash移植到我们的系统里面,不用命令怎样手动移植,可以查看帮助文档


1定要理解GUN与Linux的关系





生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生