In linux,everything is a file.Well almost.
linux查看系统调用函数说明:man 2 write,而
man 3
write
表示c的函数库。
1、文件描述符
它
是个很小的正整数,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。
2、底层文件访问:man 2 XX查看相应的函数的用法
系统调用(需要尽量少使用)
<unistd.h> write read close
<fcntl.h> open 参数需要 头文件<sys/types.h> <sys/stat.h>
文件管理相关I/O库中的函数:
fopen fclose fread fwrite fflush fseek
fgetc getc getchar
fputc putc putchar
fgets gets
printf fprintf sprintf
scanf fscanf sscanf
3、link unlink
unlink 删除指定的文件
link
软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
4、错误处理
系统调用或者函数会在失败时调用外部变量errno,错误码的定义和取值定义在
error.h中。
perror函数只是将你输入的一些信息和现在的errno所对应的错误一起输出。
5、/proc文件系统
包含对驱动程序和内核信息进行更高层次的访问的特殊文件。
ps当前正在运行的进程列表
ls /proc/pid/fd -ll 查看pid进程的每一个文件的链接.
/proc/pid/cmdline 包含了用于开始进程的命令 ;
/proc/pid/cwd包含了当前进程工作目录的一个链接 ;
/proc/pid/environ 包含了可用进程环境变量的列表 ;
/proc/pid/exe 包含了正在进程中运行的程序链接;
/proc/pid/fd/ 这个目录包含了进程打开的每一个文件的链接;
/proc/pid/mem 包含了进程在内存中的内容;
/proc/pid/stat包含了进程的状态信息;
/proc/pid/environ 包含了可用进程环境变量的列表 ;
/proc/pid/exe 包含了正在进程中运行的程序链接;
/proc/pid/fd/ 这个目录包含了进程打开的每一个文件的链接;
/proc/pid/mem 包含了进程在内存中的内容;
/proc/pid/stat包含了进程的状态信息;
/proc/pid/statm 包含了进程的内存使用信息。