连接函数
1.getpwuid
struct passwd *getpwuid(uid_t uid);
功能:
根据用户id到/etc/passwd文件下解析获得
结构体信息
参数:
uid:用户id
返回值:
成功返回id对应用户的信息
失败返回NULL
3.getgrgid
struct group *getgrgid(gid_t gid);
功能:
根据gid到/etc/group文件中解析组信息
参数:
gid:组id
返回值:
成功返回组信息
链接文件:
file.txt -> hello.c
软链接文件、符号链接文件
硬链接文件
命令行:ln -s 123 softlink 快捷方式
1.symlink
int symlink(const char *oldpath, const char *newpath);
功能:
创建一个链接向oldpath文件的新符号链接文件
参数:
oldpath:被链接向的文件的路径
newpath:新符号链接文件
返回值:
成功返回0
失败返回-1
2.remove
int remove(const char *pathname);
功能:
删除一个文件
参数:
pathname:删除文件的路径
返回值:
成功返回0
失败返回-1
3.rename
//mv rename 重命名或者移动文件到另一个文件夹
int rename(const char *oldpath, const char *newpath);
功能:
将一个老的路径名改为新的路径
参数:
oldpath:老路径名
newpath:新路径名
返回值:
成功返回0
失败返回-1
4.link
ln 1 2 硬链接一般只与文件关联,不与目录关联
int link(const char *oldpath, const char *newpath);
功能:
创建一个硬链接文件
参数:
oldpath:要链接向的文件
newpath:创建的新硬链接文件
返回值:
成功返回0
失败返回-1
5.truncate 清空文件or变大
获取秒数:
suid sgid sb
1 1 1 775
7775
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
struct tm
{
int tm_sec; /* seconds */
int tm_min; /* minutes */
int tm_hour; /* hours */
int tm_mday; /* day of the month */
int tm_mon; /* month */
int tm_year; /* year */
int tm_wday; /* day of the week */
int tm_yday; /* day in the year */
int tm_isdst; /* daylight saving time */
};
终端染色:
终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
转义序列是以 ESC 开头,可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表示就是 27, = 用八进制表示的 33)。
格式:\033[显示方式;前景色;背景色m
显示方式:0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
前景色:30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)
背景色:40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)
\033[0m 默认
\033[1;32;40m 绿色
033[1;31;40m 红色
示例:printf( "\033[1;31;40m 输出红色字符 \033[0m" )
出错相关函数接口
#include <errno.h>
open(); ==-1 errno
errno.h头文件中声明errno是一个外部存储整型变量
extern int errno;
1.perror
提供具体错误原因,不用手动打印
void perror(const char *s);-->strerror()
//起表示作用,里面需要填一个需要断错的函数的函数名
功能:
打印s字符串和errno对应的错误信息
参数:
s:要打印在终端上的出错信息
返回值:
缺省NULL
2.strerror
//在perror内部调用的这个函数
char *strerror(int errnum); 传一个数字,默认从零开始
功能:
打印errnum出错码对应的出错信息
参数:
errnum:出错errno号
返回值:
成功返回对应的错误信息
ruturn 1;
3.error ===>>>exit();
void error(int status, int errnum, const char *format, ...);
功能:
程序出错打印对应出错原因和用户输入字符串并退出
参数:
status:程序退出的状态
EXIT_FAILURE 1
EXIT_SUCCESS 0
errnum:错误码
format:类似printf打印
返回值:
缺省
c语言内置宏:
__FILE__ 表示是哪个文件
__LINE__ 表示第几行
__func__ 表示在那个函数
__DATE__
__TIME__