liunx 基础

王老师 day2
系统调用:
系统提供:1给(OS API LIBC 中间键)使用 2 给APP使用(常用的调用 20个)
C函数
C语言标准函数库
printf scanf fopen fclose fgets,fputc,fgets,fputs (txt)
fread,fwrite (二进制文件)
string.h strlen strcpy strncpy strcat strncat(拼接) strcasecmp strncasecmp strstr()
char* p=“hello world”;
char* q=“ll”;
strstr(p,q);返回位置指针 NULL
memcmp()无符号整形比较
stdlib.h
malloc calloc free srand rand
math.h
sprt pow
操作系统提供的函数—系统调用 POSIX

自定义函数

第三方函数   (专注)值
接口头文件  实现库

调用按功能分:
进程控制
文件系统控制(open read write close)
系统控制
内存管理
网络管理(升级)
用户管理(shell命令:命令行(内部命令 外部命令type cd):)
进程间通信

uinx
SystemV
BSD系列
类linux系列 Linux Minix

文件:
普通文件 -普通文件 d目录文件l 链接文件 c(char) b(bloc)设备文件 字符设备(键盘) 块设备(硬盘)s套节字(本地soket文件网络文件) 管道文件
change denmkry touch(改变时间 最后一次修改事件) 目录可执行
文件 1 文本文件 2 二进制文件
目录文件 管理组织文件 文件(文件名 文件信息 元信息)文件系统组织存放的文件信息 格式化指定文件系统
链接文件 为一个文件起别名
设备文件 块设备(分区功 )
ext4 (说明书)元信息只有一个 stat(查看元信息) inode 文件系统

相关系统函数列表: 1 shell 2 系统调用 3 c标准库函数
fd 信息描述符 int stat()//1 返回整形数 2 0-255 man()返回0正常1 3

1函数的功能理解(干什么 需要什么 结果如何 )

指针类型func(int arr[])//可以不写数据

n维数组实际都是一维数组,该一维数组中的元素是n-1维数组
数组名型参等价与指向元素的指针
数组定义语句的数组名是指向下表为0 的元素的常量指针
指向数组的指针交织针
全局数据区 static
执行语句 int x;

类型指针型参可分为为:
1 值参数 const char* s 指向空间不可变 只读指向空间的内容
2 结果参数 只写
3 值。结果参数 即读又写;
系统调用

位置指示器 lseek fd 文件别名

T* p=NULL;

p=(T*)malloc(size);
if(NULL)
{

}

free§;
p=NULL;

O_RDONLY
O_
C库的全局变量 对应的
FILE* stdin; //键盘
FILE* stdout;//
FILE* stderr;//标准错误

size_t read(int filds,void* buf,size_t nbytes);
size_t write(int fileds,void * buf,size-t nbytes);

文件系统是明确文件的方法和数据结构

FAT NTFS Ext4

typedef struct iobuff{

int cnt; //剩余字节数
char *ptr; //下一个字符的位置
char *base;//缓冲区的位置
int flag; //访问模式
int fd; //文件描述符

}FILE

open 的操作方式: O_RDONLY O_WRONLY O_RDWR O_APPEND O_CREAT O_TRUNC(丢弃原有内容) O_EXCL

off_t lseek (int fildes,off_t offset,int whence) SEEK_SET SEEK_CUR SEEK_END;

O_NONBLOCK

mmap()用来将某个文件内容映射到内存中,对该内存区域的存储既是直接对该文件内容的读写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值