linux 系统编程--文件I/O读写(二)

linux系统设计的核心理念在于文件。
文件包含两方面的内容,一是文件本身所储存的数据,二是文件的属性,包括文件的访问权限、所有者、文件大小、创建日期等。

在这里插入图片描述
在这里插入图片描述
从左到右依次是文件属性(目录也是文件),文件数量(子目录数),所有者,用户组,文件大小,文件创建时间,文件名。

linux中文件类型:
①普通文件(regular file):最常见的类型,至于是文本还是二进制,对内核并无区别。第一个属性是-

②目录文件:第一个属性是d

③字符特殊文件(character special file):字符类型设备,比如键盘,鼠标等。我猜显示器,打印机也应该属于这个。

④块特殊文件(block special file):块类型设备,如硬盘光驱等,第一个属性是b

⑤FIFO:用于进程间通信,也称为管道,第一个属性是p

⑥套接字(socket):网络通信,第一个属性是s

⑦ 符号连接(symbolic link):指向另一个文件,是另一个文件的引用。第一个属性是l

/bin目录 : 用于存放普通用户可执行的命令,如ls,cp等
/boot目录: 内核及启动系统所需要的文件。
/cdrom 目录: 光驱设备
/dev 目录: 设备文件
/etc 目录: 存放系统配置文件。
/home 目录: 普通用户主目录,每个用户在该目录下有一个与用户同名的目录
/lib : 存放各种库文件
/sbin: 系统管理命令
/tmp: 存放临时文件
/mnt : 本意是挂载目录,不过这里面/hgfs是虚拟机跟主机共享通信的目录,事实上直接拖拽文件进出虚拟机即可。
/proc: 虚拟文件系统,只有在系统运行时才存在。

打开文件open

文件描述符: 所有执行I/O操作的系统调用都以文件描述符(非负整数)来指代打开的文件,为int型

open(pathname,flags,mode),返回值即为文件描述符。
如果文件不存在,open创建它。 flags参数指定打开方式:只读,只写或是读写。
mode参数则指定了这个创建后的文件的访问权限。

O_RDONLY :以只读方式打开
O_WRONLY: 以只写方式打开
O_RDWR : 可读可写
在这里插入图片描述
open函数有两个不同的实现,一个是忽略掉mode参数。
当且仅当第二个参数使用了O_CREAT时(文件不存在需要创建),才需要第三个参数mode
继续查找手册:“如果成功调用,返回的文件描述符是最低编号的数字(最小是零),而不是当前打开的那个进程”

还包含了3个头文件 #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>

mode参数:

标志 含义
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值