一、文件:/etc/passwd
这是 /etc/passswd
文件下的内容:
(1)标准库函数:getpwuid( ) 和 getpwname( )
- getpwuid( )函数是根据 uid 来找到系统用户的信息;
- getpwname( )函数是根据 name 来找到用户的信息;
(2)passwd结构体
其实该结构体就是表示 /etc/passwd
文件中的内容的结构体
例子:根据 uid 来找到用户名
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <pwd.h>
int main(int argc, char **argv) {
struct passwd *pwdline;
if (argc < 2) {
fprintf(stderr, "Usage ... \n");
exit(1);
}
// atoi()函数,把字符串转换成int类型数
pwdline = getpwuid(atoi(argv[1]));
puts(pwdline->pw_name);
exit(0);
}
运行结果:
二、文件:/etc/group
这是 /etc/group
文件下的内容:
(1)标准库函数:getgrgid( ) 和 getgrgname( )
- getgrgid( )函数是根据 gid 来找到组的相关信息;
- getgrgname( )函数是根据 name 来找到组的相关信息;
(2)group结构体
和前面的类似
三、文件:/etc/shadow
要 root
用户才能用…
四、时间戳:time_t/char */struct tm
(1)系统调用函数:time( )
- 作用:获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从1970年1月1日00:00:00到当前时刻的秒数。
- 有两种调用方式:
1)time_t stamp = time(NULL);
,结果保存在 stamp 中;
2)time(&stamp);
j结果也保存在 stamp 中
(2)标准库函数:gmtime( ) ,localtime( ),mktime( )
-
gmtime( )函数:取得目前时间和日期(参数timep 所指的time_t 结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回)
-
结构体 tm :
-
localtime( )函数:取得当地目前时间和日期 (将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回)
-
mktime( )函数:将时间结构数据转换成经过的秒数(用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0 秒算起至今的UTC时间所经过的秒数)
(3)标准库函数:strftime( )
- 将
tm
结构体中的时间,按照format
的格式,变成字符串放在s
当中
示例: