linux函数代码操练---linux环境-----用户信息和主机信息

基础知识

一.用户信息
头文件
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);
程序截图
linux函数代码操练---linux环境-----用户信息和主机信息
运行结果
linux函数代码操练---linux环境-----用户信息和主机信息
说明
获得当前当前程序运行时用户的uid

char* getlogin(void)
程序截图
linux函数代码操练---linux环境-----用户信息和主机信息
运行结果
linux函数代码操练---linux环境-----用户信息和主机信息
说明
获得与当前用户相关联的登入名。
struct passwd *getpwuid(uid_t);
程序截图
linux函数代码操练---linux环境-----用户信息和主机信息
运行结果
linux函数代码操练---linux环境-----用户信息和主机信息
说明
根据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);
程序截图
linux函数代码操练---linux环境-----用户信息和主机信息
运行结果
linux函数代码操练---linux环境-----用户信息和主机信息
说明
返回登录名并存入一个字符数组中。

int uname(struct utsname *name);
程序截图
linux函数代码操练---linux环境-----用户信息和主机信息
运行结果
linux函数代码操练---linux环境-----用户信息和主机信息
说明
得到和主机信息相关的结构体,该结构体的成员有。
sysname操作系统
nodename主机名
release系统发行级别
version系统版本号
machin硬件类型