在应用程序当中,有时往往需要去获取到一些系统相关的信息,譬如时间、日期、以及其它一些系统相关信息,本章将介绍如何通过 Linux 系统调用或 C 库函数获取系统信息,譬如获取系统时间、日期以及设置系统时间、日期等;除此之外,还会介绍 Linux 系统下的/proc 虚拟文件系统,包括/proc 文件系统是什么以及如何从/proc 文件系统中读取系统、进程有关信...
本章将讨论 Linux 文件系统的其它特性以及文件相关属性;将从系统调用 stat 开始,可利用其返回一个包含多种文件属性(包括文件时间戳、文件所有权以及文件权限等)的结构体,逐个说明 stat 结构中的每一个成员以了解文件的所有属性,然后介绍用以改变文件属性的各种系统调用;除此之外,还会介绍 Linux 系统中的符号链接以及目录相关的操作。
1 Linux系统中文件类型
Linux...
本章将深入探究文件 I/O 中涉及到的一些问题、原理以及所对应的解决方法,譬如 Linux 系统下文件是如何进行管理的、调用函数返回错误该如何处理、 open 函数的 O_APPEND、 O_TRUNC 标志以及等相关问题。
1 Linux 系统如何管理文件1.1静态文件与indoe
文件在没有被打开的情况下一般都是存放在磁盘中的,譬如电脑硬盘、移动硬盘、 U 盘等...
1 系统调用
系统调用(system call)其实是 Linux 内核提供给应用层的应用编程接口(API),是 Linux 应用层进入内核的入口。
通过系统调用, Linux 应用程序可以请求内核以自己的名义执行某些事情,譬如打开磁盘中的文件、读写文件、关闭文件以及控制其它硬件外设。
通过系统调用 API,应用层可以实现与内核的交互,其关系可通过下图简单描述:
内核提供了一系列...