Linux系统编程--文件(一)

1.系统编程

系统调用:应用程序同系统之间的接口。由操作系统实现提供的所有系统调用所构成的集合即程序接口或编程接口。
封装系统调用:更加方便程序员使用,跨平台。
百度
这个概念看书时候第一次遇到,百度了一下,看完只能说是有了一个模糊的概念。封装系统调用的理解就更不是特别清晰。

2.Llinux的文件结构

Llinux操作系统是以文件为基础而设计的,Llinux的文件子系统主要用于管理文件存储空间的分配,文件访问权限的维护,对文件的各种操作。用户可使用命令对文件进行操作;程序员可以使用系统调用或C语言的库函数对文件进行操作。

一般linux发行版本都含有以下目录

/bin
/boot Linux
/dev
/etc
/home
/lib
/proc
/root
/sbin
/tmp
/usr
/var

3.Linux的文件系统模型

(这部分是概念,自己没有了解过,所以写下来)

a.数据存储在物理磁盘上,操作系统通过文件系统可以对磁盘上的文件进行管理。对物理磁盘的访问是通过设备驱动程序进行的,对设备驱动的访问有两种途径:1.通过设备驱动本身提供的接口;2.通过虚拟文件系统(Virtual File System, VFS)提供给上层应用系统的接口。

b.VFS是虚拟的,不存在的,只存在于内存而不存在于磁盘,即只有在系统运行起来以后才存在。VFS提供一种机制,将各种不同的文件系统整合在一起,并提供统一的API供上层的应用程序使用。

4.文件的访问权限控制

mode

r:4
w:2
x:1

实现简化版的chmod命令
my_chmod.c

a.之前看鸟哥的时候接触到了chmod,只知道用它修改权限,这次是了解了这个函数,还接触到了fchmod这个函数.

#include<sys/types.h>
#include<sys/stst.h>
int chmod(const char *path, mode_t mode);
int fchomd(int fildes, mode_t mode);

chmod与fchmod的区别
chmod以文件名作为第一个参数,fchmod以文件描述符作为第一个参数,目前我所理解这个文件描述符需要open之类打开文件得到返回值。

b.利用chmod函数实现了一个简单的chmod命令,遇到了一个新函数atoi (ascii to integer)将字符串转换成整形数

#include<stdlib.h>
int atoi (const char *nptr)

如atoi(“777”)的返回值是整型数777.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值