Unix/Linux系统编程:从编写who命令开始
需积分: 3 156 浏览量
更新于2024-08-02
收藏 833KB PDF 举报
"关于系统编程的教程"
这篇教程聚焦于系统编程,主要以C语言为基础,旨在教授如何进行系统级别的编程工作。教程包含了多个章节,如用户管理、文件操作和联机帮助,通过实际编写像`who`和`cp`这样的命令来实践学习。
在第二章“用户、文件操作与联机帮助”中,教程首先介绍了编写`who`命令。通过这个过程,学习者将了解有关文件、用户、时间戳以及Unix系统的自我文档化特性。编写`who`命令是为了列出当前登录到系统的用户信息,包括登录名、终端、登录时间和登录地址。这一部分会引导学习者通过运行命令、查看手册(man page)以及分析现有实现来理解命令的工作原理。
在讨论基本系统数据类型时,教程强调了在Unix/Linux系统中,为了可移植性和开发效率,通常会在`sys/types.h`这样的头文件中定义一些基本数据类型,如`_t`结尾的typedef。这些数据类型使得程序员无需关心底层系统的具体实现细节,提高了代码的跨平台性。教程还列举了一些常见基本系统数据类型的示例,进一步加深对这些类型的理解。
编写`who`命令的步骤包括:首先了解命令的功能(man 1 who),分析现有的实现(man -k key),然后设计程序,确定所需的系统调用(man 2/3)。这涉及到了对`utmp`文件格式的理解,因为`who`命令的信息来源于`utmp`文件,学习者需要查阅`man 5 utmp`手册页,并可能需要阅读如`utmp.h`这样的头文件来理解数据结构和接口。
通过这个教程,学习者不仅能够掌握编写系统工具的基本技巧,还能深入理解Unix/Linux系统的内部工作原理,包括文件系统、进程管理、错误处理等核心概念。此外,通过实践编程,学习者还能提升调试和测试能力,最终完成程序的发布(releasing)。
这是一个全面且实践性强的系统编程教程,适合那些希望深入理解操作系统并能编写系统级工具的C语言开发者。通过学习,开发者将具备创建和维护系统工具的能力,同时增强对Unix/Linux内核机制的认识。
2017-12-22 上传
2011-02-21 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
yu_hs
- 粉丝: 1
- 资源: 1
最新资源
- OnlineBookstore:这是一个简单的在线书店项目
- 记录自己的Python ML and DPL学习经历.zip
- react_base:Projeto基本em react
- resume:我的履历库
- ACP:我在萨尔大学的一个名为“高级Coq编程”课程的项目。 我的工作仅限于Reflection.v和GeneralReflection.v文件,对PA.v和ZF.v进行了一些细微修改
- laravel-mbt_transfer
- publicfile:容器 >
- kazoo-braintree:Braintree簿记员
- 记录python学习用.zip
- plc与气压控制讲了气阀,气路原理以及用PLC的控制(基础,WORD文档).zip三菱PLC编程案例源码资料编程控制器应用通讯通
- 外部窗口菜单内码转换-易语言
- flexbox-course
- CAD Scripts-开源
- JSP 学生排课选课系统-毕业设计(源码+论文).rar
- SistAlCec-Eof
- idcard-iranian:诊断您的身份证是真还是假(对于伊朗人)===诊断身份证号码的正确性