![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UNIX环境高级编程
文章平均质量分 68
sanmao0816
这个作者很懒,什么都没留下…
展开
-
函数signal
UNIX系统信号机制最简单的接口是signal函数。#include void (*signal(int signo, void (*func)(int)))(int); 返回值:若成功,返回以前的信号处理配置;若出错,返回SIG_ERRsigno参数如下。fun原创 2015-01-25 11:51:19 · 648 阅读 · 0 评论 -
函数access和faccessat函数
当用户open打开一个文件时,内核以进程的有效用户ID和有效组ID为基础执行其访问权限测试。有时,进程也希望按其他实际用户ID和实际组ID来测试其访问能力。例如,当一个进程使用设置用户ID或设置组ID功能作为另一个用户运行时,就可能会有这种需要。即使一个进程可能已经通过设置用户ID以超级用户权限运行,它仍可能想验证其实际用户能否访问一个给定的文件。access和faccessat函数是按照实际用户原创 2015-01-23 13:39:57 · 3615 阅读 · 0 评论 -
lseek函数
每个打开的文件都有一个与之相关联的“当前文件偏移量”,它通常是一个非负整数,用以度量从文件开始处计算的字节数。通常,读、写操作都从当前文件偏移量处开始,并使偏移量增加所读写的字节数。按系统默认的情况,当打开一个文件时,除非制定O_APPEND选项,否则该偏移量被设置为0.可以调用lseek显式地打开一个文件设置偏移量。#include off_t lseek(int fd, off_t原创 2015-01-22 11:56:46 · 1296 阅读 · 0 评论 -
linux 文件长度 文件截断 rename renameat
文件长度stat结构成员st_size表示以字节为单位的文件的长度。此字段只对普通文件、目录文件和符号链接文件有意义。对于普通文件,其文件长度可以是0,在开始读这种文件时,将得到文件结束指示。对于目录,文件长度通常是一个数的整倍数。对于符号链接,文件长度是在文件名中的实际字节数。例如,在下面的例子中,文件长度15就是路径名/usr/lib的长度:lrwxrwxrwx 1 ro原创 2015-01-23 16:06:25 · 4376 阅读 · 0 评论 -
read函数和write函数
用read函数从打开的文件中读取数据。#incldue ssize_t read(int fd, void *buf, size_t nbyte);返回值:读到的字节数,若已到文件尾,返回0;若出错,返回-1如果read成功,则返回读到的字节数,如已到达文件的尾端,则返回0.有多种情况可使实际读到的字节数少于要求的字节数:读普通文件时,在读到要求字节数之前到达了文件尾端。例如原创 2015-01-22 19:40:08 · 2326 阅读 · 0 评论 -
linux文件访问权限
所有文件类型都有访问权限。对于st_mode值也包含了对文件的访问权限位。每个文件有9个访问权限,可将它们分为3类。st_mode屏蔽含义S_IRUSR用户读S_IWUSR用户写S_IXUSR用户执行S_IRGRP组读原创 2015-01-22 22:48:32 · 707 阅读 · 0 评论 -
fgetc getc函数
一旦打开了流,则可以在3中不同的类型的非格式化I/O中进行选择,对其进行读、写操作。(1)每次一个字符的I/O。一次读或写一个字符,如果流是带缓冲的,则标准I/O函数处理所有缓冲。(2)每次一行的I/O。如果想要一次读或写一行,则使用fgets和fputs。每行都以一个换行符终止。当调用fgets时,应说明能处理的最大行长。(3)直接I/O。fread和fwrite函数支持这种类型的I原创 2015-01-23 20:24:36 · 2356 阅读 · 0 评论 -
打开流
下列3个函数可以用来打开一个标准I/O流#include FILE *fopen(const char *restrict pathname, const char *restrict type);FILE *freopen(const char *restrict pathname, const char *restrict type, FILE *restrict fp);FILE原创 2015-01-23 19:07:37 · 697 阅读 · 0 评论 -
linux利用test命令的测试功能
当要检测系统上的某些文件或者相关属性时,利用test这个命令来工作:测试的标志代表意义-e该文件名是否存在-f该文件名是否存在且为文件-d该文件名是否存在且为目录-b该文件名是否存在且为一个block device设备原创 2015-02-03 16:58:00 · 615 阅读 · 0 评论 -
linux下的通配符与特殊符号
在bash的操作环境中海油一个非常有用的功能,那就是通配符(wildcard)。我们呢利用bash处理出具就更加方便了。下面我们列出一些常用的通配符,符号意义*代表0个到无穷多个任意字符?代表一定有一个任意字符[]同样代表一定有一个在中括号内的字符(非任意字符)。例如[abcd]代表有一个字符,可能是a,b,c,d这四个的任何原创 2015-02-03 10:14:50 · 517 阅读 · 0 评论 -
函数wait和waitpid
当一个进程正常或异常终止时,内核就向其父进程发送SIGCHLD信号。因为子进程终止是个异步事件。所以这种信号也是内核向父进程发的异步通知。父进程可以选择忽略该信号,或者提供一个该信号发生时即使被调用执行的函数。对于这种信号的系统默认动作时忽略它。对于wait和waitpid函数。如果其所有子进程都还在运行,则阻塞。如果一个子进程已终止,正等待父进程获取其终止状态,则取得该子进程的终止状态立原创 2015-01-24 19:24:29 · 636 阅读 · 0 评论