1. UNIX基础知识
- 口令文件/etc/passwd,格式 root:x:0:0:root:/root:/bin/bash,分别表示登录名、加密口令(看到的都是x),用户ID、组ID、注释、起始目录、shell程序。
- 常用的Shell程序有Bourne shell(/bin/sh)和Bourne-again shell(/bin/bash)。OS X中的sh是bash的副本。
- 在最高层次的根目录中,. 与..都指向当前目录。
- ls(1) 这种表示方法表示这个指令在手册的第一部分。
- cc是C编译器,在配置gcc的系统中,通常链接至gcc.
- main的argc为命令接受参数的个数,argv[]则存储这些参数(argv[0]为程序名称,后面才是参数)。
dirent.h代表的是 Directory Entry.
文件描述符(file descriptor)通常是一个小的非负整数,如标准输入(0)、标准输出(1)、标准错误(2)。在重定向时,都指向shell。
- 重定向:ls < infile.txt >outfile.txt 2>&1 。表示重定向输出和输入,并将标准错误指向标准输出。
- 管道是将前者的标准输出转到后者的标准输入。
- 大多数系统函数出错时返回-1。
标准IO函数为不带缓冲的IO函数提供一个带缓冲的接口。如printf, fgets属于标准IO函数。
程序的执行实例被称为进程(process)。
- 大多数进程ID可以用整型表示,用长整型可以提高可移植性。
- 3个进程控制的主要函数:fork、exec(存在变体)