Unix系统编程概述

Posted 2427085z

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unix系统编程概述相关的知识,希望对你有一定的参考价值。

1.系统编程的程序模型

用户输入数据,计算机中的程序(可运行的一段代码)对数据进行相应的处理,再在显示器上输出结果。

许多键盘或显示器受到一种机制的管理连接到不同的程序。

2操作系统的职责

计算机用操作系统管理所有资源,将不同设备和程序连接起来。操作系统其实是一个特殊

的程序。

操作系统又称为内核。

3系统资源

处理器:程序有指令构成,处理器是执行指令的硬件设备。

输入输出(I/O):程序中的、终端的、硬盘输入输出数据,都流经内核。

进程管理:内核中与进程相关的服务有新建一个进程、终止进程、进程调度。

内存:内存空间是用来存放程序和数据。所有程序必须在内存中运行。系统空间是用来容纳操作系统的内存空间,容纳应用程序的内存空间是用户空间。

设备:磁带机,光驱、鼠标、扫描仪和数码摄像机

计时器:程序工作与时间有关。比如定时触发

进程间通信:计算机中不同的进程也要相互通信。

网络:网络使得不同主机上的进程互相通信

4使用Unix

下列均是Ubuntu系统下的操作

(1)运行显示时间和日期的程序如下

技术分享图片

在Ubuntu系统中,运行如下图,Ubuntu中没有自带fortune这个程序,我们按enter键后会提示我们如何输入指令进行安装,然后只要输入密码即可进行安装。

技术分享图片

技术分享图片

5目录操作

技术分享图片

 

(1)查看目录结构

 技术分享图片

因为我们用户的主目录一般在/home目录中,所以输入tree只能显示/home下的目录树

输入tree -L 1 /     是查看/下的第一层目录

技术分享图片

输入tree -Ld 1 /       只显示目录

技术分享图片

(2)ls  列出目录内容

如:输入ls /etc    会列出/etc目录里面所包含的文件和子目录

技术分享图片

输入ls /会列出根目录的内容

技术分享图片

(3)cd  改变当前目录

当前目录为自己的主目录,可以通过cd命令转到其他目录

 技术分享图片

如 cd /bin我们可以看到$ 前面已经有变化了

输入 cd .. 我们可以将目录转为上一层目录,即为根目录,可见$前面有变化

无论当前目录是什么,我们都可以通过cd 这一命令回到用户的主目录,见上图

 技术分享图片

(4)mkdir和rmdir

技术分享图片

先用cd 回到主目录

输入mkdir jokes 这里mkdir是新建目录,jokes 是目录名

输入rmdir jokes 这里rmdir 是删除目录的命令,但是删除目录时,目录中的文件和子目录要先被删除或移走

6文件操作

 技术分享图片

(2)cat,more,less,pg---查看文件的内容

技术分享图片

区别:

cat可以一下子列出文件的所有内容

当文件的内容比较多,在一屏内显示不完时,more会更加合适:

显示一屏后会暂停输出,这时用户按空格键,more会继续输出下一屏。

按enter键会显示下一行,输入“q”则退出

(3)cp    文件复制

如$ cp language hello world

将文件language复制一份,新的文件名为hello world

        rm     文件删除

如$ rm language hello world

一次删掉两个文件language和hello world

技术分享图片

(4)通过ls -l 命令可以看到文件的所有者和许可权限

技术分享图片

技术分享图片

三个权限r:read  w:write  x:execute

7 Unix的计算器

输入bc 启动计算器

 技术分享图片

可以进行上述运算,该计算器可以处理很大的整数

技术分享图片

技术分享图片

技术分享图片

 

 8动手实践

more的三种用法

$ more filename 

$ command | more  

$ more < filename

第一种情况,more显示文件filename的内容;第二种情况,more将command命令的输出分页显示;第三种情况,more从标准输入获取要分页显示的内容,这时more的标准输入被重定向到文件filename。

技术分享图片

技术分享图片

技术分享图片

可见这个程序中在显示24行后会出现白底的more?

后面仍然显示代码

 技术分享图片

在列出/bin目录下的文件时,仍是这种情况

改进more02

 技术分享图片

技术分享图片

技术分享图片

按enter键后

技术分享图片

Unix系统的主要结构:内存被分为系统空间和用户空间,内核和它的数据结构位于系统空间,用户程序位于用户空间,用户通过终端连接到系统,文件存放在磁盘上各种各样的设备都会被内核直接管理,用户程序可以通过内核来访问设备,最后还有网络连接,用户可以通过网络接入系统。

技术分享图片

 

以上是关于Unix系统编程概述的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统编程进程间通信之无名管道

Linux_Unix系统编程Chapter4 文件IO

UNIX网络编程笔记—UDP网络编程

深度Go并发编程之Go语言概述

嵌入式Linux从入门到精通之第九节:系统编程

嵌入式Linux从入门到精通之第九节:系统编程