Unix环境下C编程讲义.doc_第1页
Unix环境下C编程讲义.doc_第2页
Unix环境下C编程讲义.doc_第3页
Unix环境下C编程讲义.doc_第4页
全文预览已结束

下载本文档

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

文档简介

Unix环境下C编程讲义(一)UNIX基础知识对Unix下的一些基本概念和名词进行介绍,帮助大家掌握unix的开发环境,详细的请阅读Unix高级编程第一章。一 用户管理在telnet和ssh登录进入系统的时候,我们输入用户名和密码,进入系统。这些用户数据存放在/etc/passwd文件中。user001:x:101:1:/export/home/user001:/usr/bin/bash登录名 uid gid home目录 shell登录名: 就是登录的时候的用户名。Uid: 用户id,在unix下每个用户都有一个id唯一标识,用于权限管理。Gid: 组id,每一个用户有一个主要的组id,还可以有多个其他组id,这个在/etc/groups文件管理。Home目录:用户的主目录。shell:登录进入之后,所使用的交互式的命令解释器就是shell。Unix大本营缺省使用bash, 另外还有Bourne shell(/bin/sh),Cshell(/bin/csh),Kornshell(/bin/ksh)二 文件和目录1.Unix文件系统是目录和文件的一种分层次的安排,目录的起点称为根(root),其名字是一个字符/。一个目录在unix下,实质是一个属性是目录的文件,包含很多目录项。每一个文件属性包括:文件类型,文件长度,文件属主,文件的许可权,文件的最后修改时间等。C程序中,使用stat或者fstat函数返回一个包含所有文件属性的信息结构,使用readdir,opendir函数读取每个目录下的目录项。2.工作目录。每一个进程都有当前的工作目录,在程序中可以用chdir函数修改。工作目录直接影响文件函数的路径。三 输入和输出1 文件描述符一个非负整数,用于标识进程正在打开的文件。2 标准输入输出和标准出错unix下,每一个进程运行的时候,shell都会给进程打开3个基本的文件描述符,0是标准输入,1是标准输出,2是标准出错。当重定向的时候就会指向被定向到的文件。3 文件读写分为2大类,一类是直接通过文件描述符读写的,open,close,read,write,lseek另一类是使用FILE结构有缓冲的fopen,fclose,fread,fwrite,fseek,fgets,getc,fscanf使用fileno函数可以把FILE结构转成文件描述符。四 程序和进程每一个可执行文件称为程序。程序通过fork,exec方式执行,每一个执行的实例就是进程。1. 进程ID每一个进程有一个进程id,程序中通过getpid可以获得当前proccess id。2进程属主id每一个进程有uid,euid,save uid三个用户id,分别表示进程所运行的用户id和有效用户id,保存的用户id。对于组id有同样的3个。五 出错处理一般情况下,函数出错的错误号保存在整型变量errno中。Unix下可以通过perror和strerror帮组打印出错信息。六 信号不同于windows,Unix下使用信号通知进程发生了某种事件。比如在程序运行的时候的时候按Ctrl+C,其实是shell给这个进程发送了一个SIGINT信号。而在进程这个信号的处理程序中退出了。C程序中使用signal ,sigaction系列函数挂接信号处理函数。七 时间unix下一般使用time_t类型表示时间,这个代表自1970年1月1日00:00:00以来经过的秒数。使用time函数可以获得当前时间,使用ctime,localtime,gmtime可以把time_t类型和struct tm类型进行转化,获得time_t对应的实际时间。习题:1. 编译运行下面的hellword程序。提示:使用gcc 编译,用-o指定输出程序名,执行的时候记得使用./程序名,因为缺省的PATH路径中不包含当前路径。/*hellword.c-*/int main(int argc,char* argv) printf(hell word!n);/* -*/2. 写一个程序列出根目录 / 目录下的文件,类似以下输出。提示:使用opendir和readdir,两个函数需要include的头文件,可以通过man opendir查看帮助,在帮助的开始有说明。$ ./lsroot.lost+foundusrvarexportetcbindevdeviceskernellibmntoptprocsbintmpplatformnethomexfnvol3. 更改2中的程序,打印他的属主和修改时间,对于文件打印出大小。提示:使用stat函数,使用ctime函数转化stat结构中的st_mtime为时间字符串。4. 对3

温馨提示

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

评论

0/150

提交评论