1-Linux文件系统与进程_第1页
1-Linux文件系统与进程_第2页
1-Linux文件系统与进程_第3页
1-Linux文件系统与进程_第4页
1-Linux文件系统与进程_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux文件系统与进程Linux系统介绍Linux系统产品RedHat,Debian,Ubuntu,

Novell/SuSERedHatEnterpriseLinux3操作方法:图形人机交互方式命令行方式Linux文件系统EXT2分区目录结构文件访问编程--I/O操作进程进程标识进程控制Linux系统介绍

----Linux系统产品嵌入式Linux:uCLinuxAndroid系统Linux系统介绍

----操作方法图形人机交互方式

没有磁盘区采用目录管理命令行方式

Linux文件系统与进程Linux系统介绍Linux系统产品RedHat,Debian,Ubuntu,

Novell/SuSERedHatEnterpriseLinux3操作方法:图形人机交互方式命令行方式Linux文件系统EXT分区目录结构文件访问编程--I/O操作进程进程标识进程控制Linux文件系统

--ext分区Linux分区格式ext分区:ext2、ext3、ext4通过加载windows磁盘,可访问windows分区其它jfs,xfs等分区工具fdiskWindows分区格式FAT16、FAT32、NTFSLinux文件系统

--目录结构特殊目录根目录--用符号“/〞表示当前目录--用符号“.〞表示上一级目录--用符号“..〞表示重要的目录bin存放二进制可执行文件(ls,cat,mkdir等)boot存放用于系统引导时使用的各种文件dev用于存放设备文件etc存放系统配置文件home存放所有用户文件的根目录lib存放跟文件系统中的程序运行所需要的共享库及内核模块mnt系统管理员安装临时文件系统的安装点opt额外安装的可选应用程序包所放置的位置proc虚拟文件系统,存放当前内存的映射root超级用户目录sbin存放二进制可执行文件,只有root才能访问tmp用于存放各种临时文件usr用于存放系统应用程序,比较重要的目录/usr/local本地管理员软件安装目录var用于存放运行时需要改变数据的文件Linux文件系统

--文件访问命令ls[目录]:列出目录下的文件和子目录

ls列出当前目录下的文件和子目录

ls–a列出包括隐藏的文件在内

ls–l以列表形式列出

cd[目录]:改变当前目录

cd..返回上一级目录

cp文件1文件2:把文件1拷贝成文件2cp–r目录1目录2:把目录1下的内容拷贝到目录2下,包括子目录

find/目录–namefilename:在目录下寻找名字为filename的文件pwd命令:显示当前所在的路径和目录Linux文件系统

--文件访问命令〔续〕mkdir目录名:创立一个目录rmdir目录:删除目录mv文件1,文件2:把文件1命名为文件2rm文件:删除文件man命令:查看命令的帮助文件vi命令:编辑文件chmod命令:修改权限用户管理命令useraddgroupadduserdelgroupdelsumount:装载设备Linux文件系统

--文件I/O文件描述符一个非负整数进程通过文件描述符来访问文件翻开或创立一个文件第一个参数pathname是要翻开(或要创立)的文件名或含路径的文件名第二个参数flags是标志翻开的方式,这个参数用来说明这个系统调用的多个选择项:O_RDONLY:表示请求以只读方式翻开文件。O-WRONLY:表示请求以只写的方式翻开文件。O_RDWR:表示以可读写的方式翻开文件。Linux文件系统

--文件I/O〔续〕常用的几个选项:O_APPEND:文件以追加的方式翻开。O_CREAT:如果这个文件不存在,就将建立该文件。O_NONBLOCK:非阻塞方式翻开O_SYNC:文件以同步I/O的方式翻开mode值访问权限创立文件时使用阻塞与非阻塞的概念Linux文件系统

--文件I/O〔续〕定义r:具有读取内容的权限;w:具有新增、修改文件内容的权限;x:具有执行文件的权限。举例-rwx------:0700,文件所有者对文件具有读取、写入和执行的权限。(八进制)-rwxr--r--:0744,文件所有者具有读、写与执行的权限,其他用户那么具有读取的权限。rwxrwxrwx-所有者权限所有者同组用户的权限其他用户权限00/1Linux文件系统

--文件I/O〔续〕pathname和mode的含义跟open相同Linux文件系统

--文件I/O〔续〕

从文件描述符所指的文件中读取nbytes个字节到buff所指向的内存缓冲中。如果nbytes参数为0,该系统调用返回0并且没有其他结果。当read系统调用成功时,该调用的返回值是读取的字节数,返回0表示文件指针在文件尾部。成功读取一定字符数返回时,文件指针也向后移动一定的字符数。Linux文件系统

--文件I/O〔续〕write把buf所指内存中的nbyes个字节写入文件描述符所指的文件调用返回情况调用成功时,write返回写入的字节数(为0表示没有数据要写)。当发生错误时,返回-1,并将errno置为相应的错误代码。如果write调用的参数nbyes为0且文件描述指向一个正规文件,那么调用将返回0且没有其他任何实际影响。Linux文件系统

--文件I/O〔续〕close调用成功时,返回值为0;否那么,返回-1,表示调用出错。Linux文件系统

--文件I/O〔续〕举例创立一个名为hole的文件写入〞abcdefghij〞文件仅对所有者具有读取、写入和执行的权限Linux文件系统

--文件I/O〔续〕charbuf1[]="abcdefghij";voiderr_sys(constchar*info){ printf(“%s\n〞,info); exit(1);}intmain(void){ intfd; if((fd=creat("hole",0700)<0)) err_sys("createerror"); if((write(fd,buf1,10)!=10)) err_sys("buf1writeerror"); close(fd); return0;}Linux文件系统与进程Linux系统介绍实验采用:RedHatEnterpriseLinux3操作方法:图形人机交互方式命令行方式Linux文件系统EXT2分区目录结构文件访问编程--I/O操作进程进程标识进程控制进程

--根本概念程序与进程程序存放在磁盘文件中的可执行文件,是静态的。进程程序一旦装入内存,而且和它的运行环境结合在一起,它就称为进程,是动态的。生命周期:装入内存到退出内存中止。分配了资源:CPU资源、内存资源、I/O资源等。Linux下的进程

--进程标识号进程标识号系统给每个进程定义了一个标识该进程的非负整数,称作进程标识符。每个程序执行起来后,有一个主进程。当某一进程终止后,其标识符可以重新用作另一进程的标识符。不过,一个标识符所代表的进程在任何时刻都是惟一的。系统把0和1保存给系统购两个重要进程。0进程是调度进程,它按原那么把处理机分配给进程使用。进程1是初始化进程,它是程序/sbin的执行。进程1是系统所有其他进程的祖先,并且是进程结构的最终控制者。系统根据进程标识号来管理进程Linux下的进程

--进程标识号〔续〕Linux下的进程

--进程控制:创立Linux下的进程

--进程控制:同步调用wait的进程进入睡眠状态直到它的一个子进程退出时或收到一个不能被忽略的信号时被唤醒。如果调用发出时,已经有退出的子进程(这时子进程的状态是僵死状态),该调用立即返回。其中调用返回时参数status中包含子进程退出时的状态信息〔正常退出还是被非正常结束的;正常结束时的返回值,或被哪一个信号结束等信息〕。waitid与wait函数在调用时的区别是waitid等待由参数pid指定的子进程退出。参数options的取值及其含义如下:WNOHANG:该选项要求如果没有子进程退出就立即返回。WUNTRACED:对已经停止但本不用报告状态的子进程,该调用也从等待中返回和报告状态。Linux下的进程

--进程控制:举例〔续〕

除了使用exit函数来终止进程外,当进程运行完、程序到达main函数末时,进程会自动终止。当进程在main函数内执行return语句也会终止。_exit函数只是简单的退出调用函数,而不会关闭文件,清空缓冲区Linux下的进程

--进程控制:举例externinterrno; //extern表示全局变量,包括从其他库引用函数或变量时需加上intmain(void){ charbuf[100]; pid_tcld_pid; //声明进程号 intfd; intstatus; if((fd=open("temp",O_CREAT|O_RDWR))==-1) { printf("openerror%d\n",errno); exit(1); }Linux下的进程

--进程控制:举例〔续〕 strcpy(buf,"thisisparentprocesswrite\n"); //char*strcpy(char*dest,constchar*src); if((cld_pid=fork())==0)//子进程,复制代码构成子进程

{ strcpy(buf,"thisischildprocesswrite\n"); printf("thisischildprocess\n"); printf("MyPID(child)is%d\n",getpid()); printf("MyparentPIDis%d\n",getppid()); write(fd,buf,strlen(buf)); close(fd); exit(0); } elseLinux下的进程

--进程控制:举例〔续〕 else { printf("thisisparentprocess\n"); printf("myPID(parent)id%d\n",getpid()); printf("mychildPIDis%d\n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论