您的位置:时时app平台注册网站 > 时时app平台注册网站 > Linux基础第一章 概述,linux第一章概述时时app平台

Linux基础第一章 概述,linux第一章概述时时app平台

2019-09-15 08:07

1.7 错误管理

系统调用在诚如景色下重返整数,并且0表示成功,小于0代表失利。当系统调用再次回到退步时,能够透过errno获得错误嘛,通过strerror获取错误演说,大概直接通过perror在正式错误文件中,输出错误音讯。

 

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int main()
{
// 通过open重返的整数,在linux中有个极度的名字
// 叫文件陈说符 file description 简称fd

int fd = open("a.txt", O_WRONLY|O_CREAT|O_EXCL, 0777);
if(fd < 0)//表示文件打开失利
{
perror("open");
return 0;
}

// 把指针放到文件初阶
lseek(fd, 0, SEEK_SET);

// 对文件实行操作
write(fd, "hello", 5);

// 关闭文件,假如不安歇,内部存款和储蓄器会泄漏
// 当进度退出时,未关门的文件会自行关闭
close(fd);

}

文件操作

头文件:sys/types.h  sys/stat.h  fcntl.h  例:int fd=open(“文件路线”,mode);  mode决定了对文件的操作方法   第八个参数可有可无,对文本权限进行拍卖,   因umask存在,创立文件权限要与上000 000 010的反,导致客户权限初步无法有写的权位

mode选项

解释

O_RDONLY

读方式打开(与后面俩个互斥)

O_WRONLY

写方式打开

O_RDWR

读写方式打开

O_CREAT

创建文件,如果文件存在,直接打开

O_TRUNC

截断

O_APPEND

追加

O_EXCL

和O_CREAT一起用,如果文件存在则失败

1.5 文件

文本是三个首要的定义,一般定义为新闻的集聚。计算机做为音讯处理的机械,文件是Computer管理的目的。

在Unix和Linux系统中,泛化了文件的定义,设备也被架空成文件对象来开展操作。

数码的聚合叫做文件。
IT行当管理音讯:调换,传输,存款和储蓄

守护进度

护理进程不和终极关联,注意此进程只好有三个,成立文件记录,推断此程序是还是不是开启

非阻塞IO

 

编程法则:

设umask=0;

调用fork,让父进度退出。    让父进度变为init,  借使父进度不脱离,用俩次fork()

调用setuid成立新会话  setsid

重设当前目录/根目录     chdir        

关门不必要的文书呈报符    运用循环关闭全体文件陈说符

死锁

总是俩次加锁,加锁后,未有解锁,又连续加锁,会促成死锁。 运用循环锁,能够另行加锁   通过定义锁的性质,变为循环锁  例:pthread_mutexattr_t attr;  pthread_mutexattr_init(&attr);  pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);pthread_mutex_init(&mutex,&attr)

加锁后,忘记解锁,也会产出死锁  C 中使用析构函数,可以幸免忘记解锁,定义三个类

 

非阻塞IO

 

信号

是决定进度通讯的一种方法,作用高,开支低

非能量信号管理方式:遮掩、忽略、默许管理

掩码:延迟时限信号的拍卖  运用非时域信号集结   

蒙面不可相信功率信号,多次发送,只管理一次  隐敝:可信功率信号  管理数次

进程

fork()创建

1.7 错误管理

系统调用在诚如情形下回来整数,况且0表示成功,小于0表示退步。当系统调用再次来到退步时,能够经过errno获得错误嘛,通过strerror获取错误解说,只怕直接通过perror在标准错误文件中,输出错误新闻。

 

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int main()
{
// 通过open再次回到的子弹头,在linux中有个特意的名字
// 叫文件汇报符 file description 简称fd

int fd = open("a.txt", O_WRONLY|O_CREAT|O_EXCL, 0777);
if(fd < 0)//表示文件张开战败
{
perror("open");
return 0;
}

// 把指针放到文件伊始
lseek(fd, 0, SEEK_SET);

// 对文本进行操作
write(fd, "hello", 5);

// 关闭文件,要是不停业,内部存款和储蓄器会泄漏
// 当进度退出时,未关门的公文种活动关闭
close(fd);

}

无名管道  pipe()创造管道

 

 

mmap  能够兑现存亲子关系进度的文书共享 功能低,数据写入内部存款和储蓄器,在从内部存款和储蓄器中读取数据  运用shm_open完毕文件分享也得以

文本内部存款和储蓄器分享,不能展开通讯

 

经过锁,让进度分享内部存款和储蓄器进行通信 pthread_mutex_init  必要将锁放在分享内部存款和储蓄器中  

 

fork    exec 让进度有例外的效能

 

高级IO

八个进程就是一段指令

函数:

perror:对某种错误消息进行打字与印刷

open/creat:张开文件/成立文件
read:读文件
write:写文件
close:关闭文件
lseek:定位文件读写地点
fcntl:修改文件属性
sysconf:读取系统布置
dup/dup2:复制文件汇报符
sync/fsync/fsyncdata:同步文件数量
mmap/munmap:文件映射
mkstemp:获得不时文件路线

命令

touch:修改文件的拜谒时间,创制文件
cat:访谈文件内容
vim:编辑
ulimit:显示一些范围音讯(文件陈说符最大值、栈的上空尺寸)
umask:文件创立的权位掩码
getconf:对应sysconf

dd:能够拷贝块设备,可是要sudo权限  例  dd if=地方 of=文件名  bs=一回多少k cout=拷贝次数

Wc:总计文件的行数  单词个数 字节数

unlink:删除软链接

 

制止俩个线程同一时候操作全局变量,第几个线程运用了锁,后边的线程在外场等,等待解锁后,后边的线程在踏入

1.10 系统调用和库函数

学习Linux系统开荒接口时,程序猿也急需上学一般常用的第三方库,来进展技师的编制程序本领。

  时时app平台注册网站 1

User Space和Kernel Space是操作系统一编写程中常用的概念,表示近日的代码在客商空间依旧基础空间运营,对于差别的运转空间,CPU对内部存款和储蓄器的管理格局稍有例外,在讲进度设想地址空间时再涉及该概念。

系统调用指操作系统内核提供的效劳,它提供了接口给客户空间代码调用。比方open/read/write/close等,都以属于Linux系统操作接口,而fopen/fread/fwrite/fclose是属于C规范提供的接口,在Linux下,fopen其实底层调用了open。

布署文件:
/etc/profile:系统运转时被实施
~/.bashrc:客户登入时会调用

1.3 操作系统和应用程序

操作系统这一个词语有二意性,不时候指内核,临时候指内核和体系工具软件的结合。

 

 时时app平台注册网站 2

 

 

操作系统是管理种类硬件的软件。操作系统是直接运转在裸机之上。别的APP运营在操作系统之上。

操作系统本人提供操作接口,扶助客商通过该接口来操作 系统,然而系统自个儿提供的功用,不足于实现顾客须要时,则需求开荒应用程序来展开系统机能。

发行版:
不等的铺面使用Linux内核,加上本身付出的种类工具软件,一齐揭橥的Linux操作系统版本。

管道

一边读,一边写

select的运用

行使文件陈述符集结  运用fd_set创制文件陈述符集合 文件接口绝对相当的小,跨平台利用

FD_SET(1,2) 将文件陈说符放入文件汇报符会集  1:文件汇报符  2:会集名字

信号

是调节进度通讯的一种方法,效用高,开支低

非频限信号管理格局:遮盖、忽略、暗中认可处理

掩码:延迟功率信号的管理  运用随机信号集合   

覆盖不可靠功率信号,数十次发送,只管理一次   遮掩:可信赖功率信号  管理多次

进程

fork()创建

1.1 前言

本章研究系统的概念,从硬件、操作系统角度更是深入的精通计算机连串,并快速浏览Linux系统提供的劳务。

线程

鼠标键盘都以只读的字符文件夹设备,所以能够运用函数举行监察  一般在/dev/input/mic 文件上边  注意权限难点 鼠标键盘读取数据,是俩个进度,注意进度的梗塞问题 能够接纳字进度和父进程进行拍卖

进度和线程的界别:

进度:分配资源的单位  线程:调治的单位     十二线程能够共享全局变量

读写锁

pthread_rwlock_t mutex;

pthread_rwlock_init(&mutex, NULL);

读/写锁定pthread_rwlock_rd/wrlock(&mutex);

解锁:pthread_rwlock_unlock(&mutex);

1.6 程序、进程

时时app平台注册网站 3

1.3 操作系统和应用程序

操作系统这个词语有二意性,有时候指内核,有时候指内核和系统工具软件的组合。

   时时app平台注册网站 4    

操作系统是管制系列硬件的软件。操作系统是一贯运维在裸机之上。别的使用软件运营在操作系统之上。

操作系统本身提供操作接口,支持客户通过该接口来操作 系统,可是系统本人提供的作用,不足于达成客户要求时,则须要支出应用程序来开展系统功用。

发行版:
不等的小卖部使用Linux内核,加上自身支付的系统工具软件,一同公布的Linux操作系统版本。

1.9 信号

时域信号是进度通讯的一种花招,某些进程收到频限信号,该信号恐怕来自内核、来自别的进度也许来自客商操作。举个例子:当客商按下ctrl c时,其实是给前台进程发送了二个实信号。

 时时app平台注册网站 5  

IO复用手艺

 

 

1.5 文件

文本是三个非常重要的概念,一般定义为音讯的成团。Computer做为消息管理的机械,文件是Computer处理的指标。

在Unix和Linux系统中,泛化了文本的概念,设备也被架空成文件对象来张开操作。

数码的联谊叫做文件。
IT行当管理新闻:转换,传输,存款和储蓄

文本操作

头文件:sys/types.h  sys/stat.h  fcntl.h  例:int fd=open(“文件路线”,mode);  mode决定了对文本的操作办法   第多少个参数可有可无,对文件权限举办管理,   因umask存在,创建文件权限要与上000 000 010的反,导致顾客权限最早不可能有写的权杖

mode选项

解释

O_RDONLY

读方式打开(与后面俩个互斥)

O_WRONLY

写方式打开

O_RDWR

读写方式打开

O_CREAT

创建文件,如果文件存在,直接打开

O_TRUNC

截断

O_APPEND

追加

O_EXCL

和O_CREAT一起用,如果文件存在则失败

select的运用

利用文件陈诉符群集  运用fd_set创造文件陈说符会集 文件接口绝对相当小,跨平台利用

FD_SET(1,2) 将文件叙述符放入文件汇报符集结  1:文件呈报符  2:会集名字

命令

touch:修改文件的拜访时间,创设文件
cat:访谈文件内容
vim:编辑
ulimit:显示一些限制消息(文件汇报符最大值、栈的空中尺寸)
umask:文件创制的权位掩码
getconf:对应sysconf

dd:能够拷贝块设备,不过要sudo权限  例  dd if=地点 of=文件名  bs=贰回多少k cout=拷贝次数

Wc:总结文件的行数  单词个数 字节数

unlink:删除软链接

 

无名氏管道  pipe()创立管道

 

 

mmap  能够兑现存亲子关系进度的文件共享 功效低,数据写入内部存款和储蓄器,在从内部存款和储蓄器中读取数据  运用shm_open完成文件分享也能够

文本内部存款和储蓄器分享,不可能开展通讯

 

通过锁,让进度分享内存实行通讯  pthread_mutex_init  需求将锁放在分享内部存款和储蓄器中  

 

fork    exec 让进程有两样的作用

 

概述,linux第一章概述 第一章 概述 1.1 前言 本章研究系统的定义,从硬件、操作系统角度更是长远的知情Computer连串,并快...

epoll的运用

epollfd  创立文件汇报符集合

epol_ctl将文件叙述参预集合中

死锁

老是俩次加锁,加锁后,未有解锁,又延续加锁,会招致死锁。 运用循环锁,能够重新加锁   通过定义锁的个性,变为循环锁  例:pthread_mutexattr_t attr;  pthread_mutexattr_init(&attr);  pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);pthread_mutex_init(&mutex,&attr)

加锁后,忘记解锁,也会并发死锁  C 中动用析构函数,可以幸免忘记解锁,定义叁个类

 

高级IO

贰个经过正是一段指令

epoll的运用

epollfd  创造文件汇报符集结

epol_ctl将文件陈述插手集合中

读写锁

pthread_rwlock_t mutex;

pthread_rwlock_init(&mutex, NULL);

读/写锁定pthread_rwlock_rd/wrlock(&mutex);

解锁:pthread_rwlock_unlock(&mutex);

函数:

perror:对某种错误音信进行打字与印刷

open/creat:展开文件/创制文件
read:读文件
write:写文件
close:关闭文件
lseek:定位文件读写地方
fcntl:修改文件属性
sysconf:读取系统布局
dup/dup2:复制文件叙述符
sync/fsync/fsyncdata:同步文件数量
mmap/munmap:文件映射
mkstemp:获得有的时候文件路线

1.2 系统组合

 时时app平台注册网站 6

 

线程的始建 

 pthread_created(1,2,3,4) //1:线程的id  2:线程的的属性  3:新线程的函数名字, 4:新线程的质量    要链接  -lpthread  库   

只顾子线程是专项主线程的,主线程截至,子线程不能够运营     那些 pthread_exit(0)主线程停止,子线程未有脱离例外

 

运用pthread_equal  判定线程是还是不是等于,先等重回0  不等于重临非零值

pthread_jion(1,&ret)  阻塞调用 1:线程id  ret:线程重回值

 

pthread_t tid = pthread_self()  获得当前运作进度的id

第一章 概述

IO复用技能

编制程序法规:

设umask=0;

调用fork,让父进度退出。    让父进度变为init,  假设父进度不脱离,用俩次fork()

调用setuid创立新会话  setsid

重设当前目录/根目录     chdir        

关门无需的文件叙述符    运用循环关闭全体文件呈报符

经过和线程的界别:

经过:分配财富的单位  线程:调治的单位     二十多线程能够分享全局变量

1.4 运转和登录

时时app平台注册网站 7

布局文件:
/etc/profile:系统运维时被推行
~/.bashrc:顾客登录时会调用

时时app平台注册网站 8

1.10 系统调用和库函数

学习Linux系统开荒接口时,程序猿也亟需学习一般常用的第三方库,来开展工程师的编制程序技巧。

 

时时app平台注册网站 9

User Space和Kernel Space是操作系统一编写程中常用的定义,表示近些日子的代码在客商空间仍旧水源空间运维,对于差异的运维空间,CPU对内部存款和储蓄器的管理方式稍有两样,在讲进度设想地址空间时再涉及该概念。

系统调用指操作系统内核提供的机能,它提供了接口给顾客空间代码调用。举例open/read/write/close等,都以属于Linux系统操作接口,而fopen/fread/fwrite/fclose是属于C标准提供的接口,在Linux下,fopen其实底层调用了open。

布局文件:
/etc/profile:系统运维时被实践
~/.bashrc:客户登入时会调用

1.9 信号

时限信号是经过通讯的一种手腕,有些进度收到时限信号,该非数字信号大概出自内核、来自别的进程也许来自顾客操作。比方:当用户按下ctrl c时,其实是给前台进度发送了一个非能量信号。

1.8 客商、组、文件权限

Linux是多顾客系统,援救几个客商同有的时候候登录系统。
为了安全起见,需求对系统的权杖加于标准。

1.6 程序、进程

照管进度

医生和医护人员进程不和终端关联,注意此进度只可以有一个,成立文件记录,剖断此程序是还是不是展开

1.1 前言

本章钻探系统的概念,从硬件、操作系统角度更是深切的精通Computer种类,并急迅浏览Linux系统提供的劳务。

管道

一边读,一边写

1.2 系统组成

线程的创造 

 pthread_created(1,2,3,4) //1:线程的id  2:线程的的习性  3:新线程的函数名字, 4:新线程的性格    要链接  -lpthread  库   

潜心子线程是专项主线程的,主线程停止,子线程无法运行     那几个 pthread_exit(0)主线程截至,子线程未有退出例外

 

运用pthread_equal  推断线程是或不是等于,先等再次来到0  不对等重回非零值

pthread_jion(1,&ret)  阻塞调用 1:线程id  ret:线程再次来到值

 

pthread_t tid = pthread_self()  得到当前运转进度的id

1.4 运转和登录

时时app平台注册网站 10

安顿文件:
/etc/profile:系统运营时被施行
~/.bashrc:客户登入时会调用

线程

鼠标键盘都是只读的字符文件夹设备,所以能够应用函数实行监控 一般在/dev/input/mic 文件上边  注意权限难题 鼠标键盘读取数据,是俩个经过,注意进度的梗塞难点 能够运用字进度和父进程实行管理

1.8 客户、组、文件权限

Linux是多客户系统,帮衬多个顾客同期登录系统。
为了安全起见,供给对系统的权力加于标准。

Linux基础第一章 概述,linux第一章概述

制止俩个线程同一时候操作全局变量,第三个线程运用了锁,前边的线程在外面等,等待解锁后,前边的线程在进入

第一章 概述

本文由时时app平台注册网站发布于时时app平台注册网站,转载请注明出处:Linux基础第一章 概述,linux第一章概述时时app平台

关键词: