`

文件操作1(Beginning Linux Programming 笔记4)

阅读更多
p126 操作文件的时候我们需要使用相关的系统调用(system call),不过一般我们不直接使用他们,而是通过一些 io 库函数来操作,他们可以对文件操作进行 buffer 等处理。 p127 从系统调用的级别来说,linux 把一切都当文件来,都可以进行基本的 open, close, read, write, ioctl 操作。 文件的创建时间等属于值保存在文件系统中所谓的文件信息节点 inode 中,而目录就是一个保存节点数以及文件名的文件。删除一个文件的时候,往往只是从”目录文件”中删除这个文件的相关信息,并减少目录中的节点数;同时,每个文件都有一个 link 数,一般 link 数为 1,我们用 ln 命令创建一个 link ,link 数就变成了 2 ,一个删除文件的操作会把文件的 link 数减 1 。当一个文件的 link 数变成 0 时,相关的文件信息节点以及文件数据块(block)都会被标记为空闲(free),其他文件可以写入。删除文件的操作并不会破坏文件本身的数据内容—一直到有其他相关的数据写入。 p128 有三个重要设备在 linux 和 unix 下都会存在。 /dev/console 和 /dev/tty , /dev/null 。 /dev/console 为系统控制台(system console),系统的错误和诊断信息都会写到该设备文件。 /dev/tty 是控制终端进程(键盘和屏幕,或窗口)的别名,一些系统启动的进程是没有控制终端的,所以不能够打开这个文件。在有控制终端的情况下,我们可以通过写该设备来向用户输出写信息,在标准输出设备被重定向的时候,操作该设备就非常有意义了。 /dev/null 是个空设备,任何写到该设备的信息都会被丢弃。 设备被分为块设备和字符设备(block device, character devide),这是根据设备操作的最小单元来区分的,典型的块设备为硬盘,每次操作都必须是以块(blcok) [...]
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics