摘要:本文深入解析 C 语言标准库unistd.h
,系统阐述 Unix/Linux 系统编程核心接口。通过丰富示例与最佳实践,帮助开发者掌握文件操作、进程控制、系统调用等关键技术,构建高效、可移植的系统级应用程序。
关键词:C 语言、unistd.h、系统编程、文件操作、进程控制、Unix API
1. 函数分类与用途总览
功能分类 | 核心函数 | 主要用途 |
---|---|---|
文件操作 | read , write , open , close , lseek |
底层文件 I/O 操作,直接调用系统接口 |
进程控制 | fork , exec , wait , waitpid |
创建子进程、执行新程序、等待子进程结束 |
文件系统操作 | access , chdir , getcwd , unlink |
检查文件权限、更改工作目录、获取当前路径、删除文件 |
用户与组信息 | getuid , geteuid , getgid , getegid |
获取用户和组 ID 信息 |
定时器 | alarm , sleep , usleep |
设置定时器、进程暂停指定时间 |
系统限制 | pathconf , fpathconf , sysconf |
获取系统配置信息和限制(如最大文件描述符数) |
管道操作 | pipe , mkfifo |
创建匿名管道和命名管道 |
终端控制 | isatty , ttyname , tcgetattr |
终端设备检测和控制 |
2. 文件操作核心函数
2.1 底层文件 I/O
read
和 write
功能:基于文件描述符的底层读写操作。
示例:
#include <unistd.h>
#include <fcntl.h>
#include <stdio.h>
int main() {
char buffer[1024];
int fd, bytes_read;
// 打开文件
fd = open("example.txt", O_RDONLY);
if (fd == -1) {
perror("open failed");
return 1;
}
// 读取文件