《UNIX 环境高级编程》学习笔记——UNIX 基础知识

本文详细介绍了UNIX操作系统的基础知识,包括体系结构、登录过程、文件和目录管理、输入输出机制、程序与进程、出错处理、用户标识及信号系统。文章深入探讨了文件系统、路径名、工作目录的概念,并解析了标准输入输出和进程控制的原理。此外,还讨论了错误处理机制、用户ID和组ID的重要性,以及信号在进程通信中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言

所有操作系统都为它们所允许的程序提供服务。

典型的服务包括:执行新程序、打开文件、读文件、分配存储区以及获得当前时间等。

UNIX 体系结构

可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境。
通常将这种软件称为内核,因为它相对较小,而且位于环境的核心。
在这里插入图片描述
内核的接口被称为系统调用
公用函数库构建在系统调用接口之上,应用程序既可使用公用函数库,也可使用系统调用。

shell是一个特殊的应用程序,为运行其他应用程序提供了一个接口。

广义上,操作系统包括了内核嗯哼哼一些其他软件,这些软件使得计算机能够发挥作用,并使计算机具有自己的特性。
其他软件包括系统实用程序、应用程序、shell以及公用函数库等。

登录

1. 登录名
用户在登录UNIX系统时,先键入登录名,然后键入口令。

系统在其口令文件(通常是/etc/passwd文件)中查看登录名。

口令文件中的登录项由7个以冒号分隔的字段组成,依次是:登录名、加密口令、数字用户ID(205)、数字组ID(105)、注释字段、起始目录(/home/sar)以及shell程序(/bin/ksh)。

sar:x:205:105:Stephen Rago: /home/sar:/bin/ksh

目前,所有的系统已将加密口令移到另一个文件中。

2. shell

用户登录后,系统通常先显示一些系统信息,然后用户就可以向 shell 程序键入命令。(当用户登录时,某些系统启动一个视窗管理程序,但最终总会有一个shell程序运行在一个视窗中)。

shell是一个命令行解释器,它读取用户输入,然后执行命令。

shell的用户输入通常来自于终端(交互式shell),有时则来自于文件(称为shell脚本)。

在这里插入图片描述
系统从口令文件中相应用户登录项的最后一个字段中了解到应该为该登录用户执行哪一个shell。

文件和目录

1. 文件系统

UNIX 文件系统是目录和文件的一种层次结构,所有东西的起点是称为的目录,这个目录的名称是一个字符“ / ”。

目录是一个包含目录项的文件。
在逻辑上,可以认为每个目录项都包含一个文件名,同时还包含说明该文件属性的信息。

文件属性是指文件类型(是普通文件还是目录等)、文件大小、文件所有者、文件权限(其他用户能否访问该文件)以及文件最后的修改时间等。

stat 和 fstat 函数返回包含所有文件属性的一个信息结构。

2. 文件名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值