stat
结构体中的st_mode
字段包含了文件的类型和权限信息。解析st_mode
通常涉及以下几个步骤:
-
确定文件类型:使用与文件类型相关的宏来检查
st_mode
的值。例如,S_IFREG
表示常规文件,S_IFDIR
表示目录。 -
检查权限:使用权限宏来检查文件所有者、组用户和其他用户的读、写、执行权限。
-
组合使用宏:通常,文件类型和权限位是组合使用的,以确定文件的完整状态。
以下是一些常见的宏和它们的含义:
S_ISREG(mode)
:如果mode
表示的是常规文件,则返回非零值。
S_ISDIR(mode)
:如果mode
表示的是目录,则返回非零值。
S_ISCHR(mode)
:如果mode
表示的是字符设备,则返回非零值。
S_ISBLK(mode)
:如果mode
表示的是块设备,则返回非零值。
S_ISFIFO(mode)
:如果mode
表示的是命名管道,则返回非零值。
S_ISLNK(mode)
:如果mode
表示的是符号链接,则返回非零值。
S_ISSOCK(mode)
:如果mode
表示的是套接字,则返回非零值。
1.获取秒数
2.转换为需要个格式
系统时间的获取:
1.time
time_t time(time_t *t);
time_t tm;
time(&tm)
tm = time(NULL);
功能:获得1970年到现在的秒数
参数:t:存放秒数的空间首地址
返回值:成功返回1970年到现在的秒数,失败返回-1
2.localtime
struct tm *localtime(const time_t *timep);
功能:将一个秒数转化成日历时间
参数:timep:保存秒数空间的地址
返回值:成功返回保存日历时间结构体的指针,失败返回NULL
3.ctime
char *ctime(const time_t *timep);//date
功能:将时间秒数转化成字符串
参数:timep:保存时间空间的地址
返回值:成功返回获得时间字符串的首地址,失败返回NULL
4.getpwuid
struct passwd *getpwuid(uid_t uid);
功能:
根据用户id到/etc/passwd文件下解析获得
结构体信息
参数:
uid:用户id
返回值:
成功返回id对应用户的信息
失败返回NULL
5.getgrgid
struct group *getgrgid(gid_t gid);
功能:
根据gid到/etc/group文件中解析组信息
参数:
gid:组id
返回值:
成功返回组信息
失败返回NULL
Makefile 编写 工程管理工具
vim 编辑器,gcc 编译器 ,gdb 调试器 make