开发环境
Red Hat Enterprise Linux Server release 7.0 (Maipo)
开发语言
C
参考书籍
Linux程序设计 第四版
代码地址
https://github.com/GoingJack/Mybash
知识要点
-
用户名字,用户ID的获取方法
头文件:#include <sys/types.h> #include <pwd.h>
作用:获取系统相关信息(当前用户名,用户ID,用户组ID,用户家目录,用户Shell)信息返回指向passwd类型结构体指针。
struct passwd *getpwuid(uid_t uid);
passwd结构体体成员变量: -
主机名字的获取
作用:gethostname函数把机器的网络名写入name字符串.该字符串至少有namelen个字符长。成功时,gethostname返回0,否则返回-1。#include <sys/utsname.h> int uname(struct utsname *name); #include <unistd.h> int gethostname(char *name ,size_t namelen);
uname系统调用可以获得关于主机的更多详细信息,uname函数把主机信息写入name参数指向的结构。utsname结构定义在头文件sys/utsname.h中,它至少包含如下图所示的成员 -