unix/linux笔记(二)

以系统的架构来看Unix

笔记一中从用户的角度来看Unix的话,基本操作就是用户登录,运行程序,用户推出,这样一套流程,但是,与此同时可能还有其他的用户也在登录、运行程序、退出,他们好像都工作在各自独立的空间中,但他们也可以发送即时信息来沟通。这就涉及到Unix系统的3个重要的属性:通信、协作、网络访问。

我们以Unix的计算器为例子。

Unix的计算器:bc

 启动计算器,输入bc即可,接着就可以输入计算表达式了,再回车就会返回结果,想退出按ctrl+D键。

unix/linux笔记(二)_第1张图片

 但是,严格意义上来讲,bc是不会做计算的。当我们得到结果后输入ctrl+Z,暂停进程,然后输入ps显示进程理论上就会发现,不只有多一个bc的进程,还会多出一个dc的进程。

显示进程:ps 

unix/linux笔记(二)_第2张图片

(但是由于我的ubuntu版本比较新了,所以bc的实现方法已经变了,不再用dc了。)

 上面这段解释文档是怎么来的喃?man bc命令

联机帮助:man

回到正题,dc是用来干什么的喃?dc是一个计算器,能够接收逆波兰表达式,算出表达式的值。(逆波兰表达式就是操作数在前,操作符在后的后缀表达式,如2+3的逆波兰表达式就是2 3 +)

dc算出值后,再把值传回bc输出,那bc有什么用喃?bc的作用其实是把你输入的表达式转化成逆波兰表达式,利用称为(pipe)管道的通信程序传给dc计算。这就很像Web了,输入输出以及操作都在浏览器上,但后台运算都在web服务器上。 

命令也是程序

        在Unix系统中,几乎所有的命令包括ls、cp等等都是人为编写的程序,它们大多数都是用c语言编写的,当你输入ls时,程序知道你是要运行名字叫ls的程序。当然,你也可以编写自己的ls命令或者对它进行扩展。

        由于命令其实就是程序,我们想增加一个新的命令也是一件比较容易的事,把程序的可执行文件放在/bin、/usr/bin、或者/usr/local/bin下面,这些目录下的系统目录都是其他人写出来的,而大多数人都觉得这个命令很有用,于是就成为了Unix的标准命令。

你可能感兴趣的:(linux,unix,linux)