基础知识
一.用户信息
头文件 sys/types.h unisd.h
函数 uid_t getuid(void); char* getlogin(void)
头文件 sys/types.h pwd.h
函数 struct passwd *getpwuid(uid_t); struct passwd *getpwnam(const char *name);
二.主机信息
头文件 unistd.h
函数 int gethostname(char *name,size_t namelen);
头文件 sys/utsname.h
函数 int uname(struct utsname *name);
二.主机信息
实验
一.用户信息
①。uid_t getuid(void);
程序截图
运行结果
说明
获得当前当前程序运行时用户的uid
②char* getlogin(void)
程序截图
运行结果
说明
获得与当前用户相关联的登入名。
③struct passwd *getpwuid(uid_t);
程序截图
运行结果
说明
根据uid获取与该uid关联的用户信息,这些信息保存在一个结构体struct passwd
该结构体的常用有
pw_name 用户名 pw_uid uid pw_gid gid pw_dir 家目录 pw_gecos登入名的全称 pw_shell 用户的shell
④struct passwd *getpwnam(const char *name);
根据用户名返回用户信息,功能与上一个函数一样,只是参数不同。
二.主机信息
①int gethostname(char *name,size_t namelen);
程序截图
运行结果
说明
返回登录名并存入一个字符数组中。
②int uname(struct utsname *name);
程序截图
运行结果
说明
得到和主机信息相关的结构体,该结构体的成员有。 sysname操作系统 nodename主机名 release系统发行级别 version系统版本号 machin硬件类型