unix环境下的C++编程.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:163 大小:1.7MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

unix环境下的C++编程.pdf

unix环境下的C++编程.pdf

预览

免费试读已结束,剩余 153 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Unix环境下的c++编程Unixc++programmingday01课程内容Unix操作系统简介操作用户环境进程概念用户登录信息文件系统Unix操作系统简介Unix系统介绍z操作系统概念zUnix操作系统–Unix标准•ANSIC,1989•IEEEPOSIX,1003.1-1988,1993•X/OPENXPG3/1989•FIPS(FederalInformationProcessingStandard)–Unix实现•SVR4,BSD4.3使用Unix系统用户登录z户名,密码,主路径,当前路径z环境变量z用户权限z组,用户id,组idzShellz用户属性文件使用Unix系统常用的(重要)UNIX命令zcd,ls,mkdir,pwd,id,who,cp,rm,cat,chown,chmod,ln,find,which,what,touch,…vi的用法Unix环境与环境变量关于环境变量env命令新的main()函数从main函数中获得环境变量intmain(intargc,char*argv[],char*envp[]);了解你的操作系统试运行程序conf.cc,了解系统配置#include<iostream>usingnamespacestd;main(intargc,char**argv,char**env){while(env&&*env){cout<<*env<<endl;++env;}}在程序中使用环境变量在程序中操作环境变量#include<stdlib.h>char*getenv(constchar*name);returnvalueforenvironmentnameintputenv(constchar*str);changeoraddvaluetoenvironment环境变量程序myenv.cc#include<iostream>#include<stdlib.h>usingnamespacestd;intmain(){char*env=“USER_HOME”;putenv("USER_HOME=/users/openlab");char*a=getenv(env);if(a!=NULL)cout<<"env:"<<a<<endl;return0;}程序与进程Program=程序Process=进程进程的运行状态zps,prstat进程状态的切换–Ctrl-Z,bg–Command&–bg,fg–stoppid进程号,processid编译并运行程序hello.cc#include<unistd.h>#include<iostream>usingnamespacestd;intmain(){cout<<“Helloworld!”<<endl;pause();}将该进程切换到后台,查看它的进程号用户信息操作函数‹用户相关信息:#include<pwd.h>char*getlogin();/*得到用户登陆名*/intgetuid();/*得到当前登陆用户的用户ID号*/intgeteuid();/*得到当前运行该进程的有效用户ID*/structpasswd*getpwuid(intuserid);/*得到一个指向passwd结构的指针,该结构中包括用户相关信息记录。*/用户组信息操作函数‹用户相关信息:#include<grp.h>intgetgid();/*得到当前登陆用户组的ID号*/intgetegid();/*得到当前运行该进程的有效用户组ID*/structgroup*getgrgid(intgroupid);/*得到一个指向group结构的指针,该结构中包括用户组相关信息记录。*/UNIX的文件系统FileanddirectoryHierarchicalarrangementFilenamePathzAbsolutepathzRelativepathUNIX的目录Workingdirectory#include<unistd.h>char*getcwd(char*buf,size_tsize);HomedirectoryLs命令寻求帮助zmanls试运行ls命令关于目录分别使用帮助命令,查看下列系统调用#include<sys/types.h>#include<dirent.h>zDIR*opend