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系统编程概述的主要内容,如果未能解决你的问题,请参考以下文章