文件i/o
文件描述符,有点对应windows的句柄, 文件io操作的头文件在unistd.h 和fcntl.h
重点函数:open、read、write、lseek、close、fcntl
如创建一个新文件:open(path, O_REWR|O_CREATE| O_TRUNC,mode);
文件与目录
1.stat或fstat函数。 返回stat结构,最重要的变量是 mode_t st_mode; //包括文件类型和权限 对应于ls -l
S_ISREG()普通文件 S_ISDIR()目录文件
S_IRUSR 用户读 S_IWUSR 用户写 S_IXUSR 用户执行 对应于chmod
2. chmod 函数,改变文件访问权限 。S_IRWXU S_IRUSR S_IRWXG S_IRWXO
3.chown 更改文件的用户ID和组ID.
4.truncate文件截断,文件长度增加时可能有空洞
5.rename文件或目录重命名
6.futimens、utimes文件的访问和修改时间
7.mkdir创建目录
8.rmdir删除目录
9.chdir更改当前工作目录
10.getcwd获取当前工作目录完整的绝对路径名
io流,
1.fopen打开一个标准的io流。
2.fclose关闭一个打开的流。
3.每次一个字符的io getc、getchar. putc
4.每次一行io. gets、fgets、puts、fputs
5.直接io.fread、fwrite.
格式化io
1.格式化输出
printf、fprintf、dprintf、sprintf、snprintf
2.格式化输入
scan、fscan、sscan
口令文件
1.getpwuid 获取口令文件,结构为psswd
2.getspent获取阴影口令,结构为spwd
3.getgrgid 、getgrent 获取组文件信息
4.uname、获取与主机和操作系统信息
5.gethostname 获取主机名字
6.time、gettimeofday获取当前的时间和日期 .是以1970年经过的秒数为标准的。返回time_t结构. 精度只能到秒,如果想更高的精度,需要使用timespec 、timeval 来处理。
一般由函数int clock_gettime(clockid_t clock_id, struct timespec *tp)获取特定时钟的时间,
clock_id常用如下4种时钟:
CLOCK_REALTIME 系统当前时间,从1970年1.1日算起
CLOCK_MONOTONIC 系统的启动时间,不能被设置
CLOCK_PROCESS_CPUTIME_ID 本进程运行时间
CLOCK_THREAD_CPUTIME_ID 本线程运行时间