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

引言

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

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

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. 文件名

目录中的各个名字称为

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UNIX环境高级编程笔记是关于在UNIX系统中进行高级编程的一些笔记和技巧的记录。这些笔记主要涉及文件I/O和进程管理等方面的内容。在UNIX系统中,文件I/O是通过文件描述符来进行操作的。文件描述符是一个整数,用来标识打开的文件。为了实现跨平台的兼容性,可以使用POSIX标准来进行文件操作。POSIX是一个操作系统接口的标准,它以UNIX基础,但并不限于UNIX类系统。此外,Single UNIX Specification简称SUS,它是POSIX.1标准的一个超集,定义了UNIX系统的实现标准。在UNIX系统中,进程的初始化是由init进程来完成的。init进程会读取文件/etc/ttys,并根据其中定义的终端设备进行处理。对于每个允许登录的终端设备,init进程会调用fork函数生成一个子进程,并通过exec函数执行getty程序来处理该终端设备。通过这些技巧和方法,可以实现在UNIX环境下进行高级编程的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [UNIX环境高级编程笔记](https://blog.csdn.net/qq_55537010/article/details/127837953)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [《UNIX环境高级编程学习笔记](https://blog.csdn.net/qq_42526420/article/details/123143423)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值