【Linux基础】Linux文件结构

文件
Linux环境中的文件具有特别重要的意义,因为它们为操作系统服务和设备提供了一个简单而统一的接口。在Linux中,一切(几乎一切)都是文件。
设备对操作系统而言也可以看做是文件,通常程序完全可以像使用文件那样使用磁盘文件、串口、打印机和其他设备。还有一些抽象的对象也可以看做是文件,如后面将讲到的网络连接socket套接字。大多数情况下,我们只需要使用5个基本函数:open、close、read、write和lseek。
目录也是一种文件,但是一种特殊类型的文件。在Linux系统中,即使是超级用户可能也不再被允许直接对目录进行操作。正常情况下,所有用户都必须用上层的opendir/readdir接口来读取目录,而无需了解特定系统中目录实现的具体细节。
可以这么说Linux中的任何事物都可以用一个文件代表,或者可以通过特殊的文件进行操作。当然,它们会与我们熟悉的传统文件有一些细微的区别,但两者的基本原则是一致的
文件描述符
在Linux中对目录和设备的操作都等同于文件的操作,因此,大大简化了系统对不同设备的处理,提高了效率。内核如何区分和引用特定的文件呢?这里用到的就是一个重要的概念——文件描述符。对于Linux而言,所有对设备和文件的操作都使用文件描述符来进行的。文件描述符是一个非负的整数,它是一个索引值,并指向内核中每个进程打开文件的记录表。当打开一个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时,也需要把文件描述符作为参数传递给相应的函数。
通常,一个进程启动时,都会打开3个文件:标准输入、标准输出和标准出错处理。这3个文件分别对应文件描述符为0、1和2(也就是宏替换STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO,鼓励读者使用这些宏替换)。
 
本文转载于唯C教育,【Linux基础】Linux文件结构
http://www.weicedu.com/forum.php?mod=viewthread&tid=97&fromuid=4
(出处: http://www.weicedu.com/)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值