目录函数以及链接文件

一、stat补充

1、getpwuid()

struct passwd *getpwuid(uid_t uid);

功能: 根据用户id到/etc/passwd文件下解析获得 结构体信息

参数: uid:用户id

返回值: 成功返回id对应用户的信息 失败返回NULL

2、getgrgid()

struct group *getgrgid(gid_t gid);

拿到组的结构体

功能: 根据gid到/etc/group文件中解析组信息

参数: gid:组id

返回值: 成功返回组信息 失败返回NULL

3、time

(1)、time()

1.获取秒数 CTS 北京时间

2.转换为需要个格式 系统时间的获取: 1.time 获得秒数

time_t time(time_t *t);

time_t 类型变量

第一种 准备一个变量,取地址,系统会将数据写入到变量里面

time_t tm;

time(&tm)

第二种

tm = time(NULL); 功能: 获得1970年到现在的秒数 第一步,先获得秒数再转成其他时间 参数: t:存放秒数的空间首地址 返回值: 成功返回1970年到现在的秒数 失败返回-1

(2)、ctime

char *ctime(const time_t *timep);//date

功能: 将时间秒数转化成字符串

参数: timep:保存时间空间的地址

返回值: 成功返回获得时间字符串的首地址 失败返回NULL

(3)、localtime

struct tm *localtime(const time_t *timep);

功能: 将一个秒数转化成日历时间

参数: timep:保存秒数空间的地址

返回值: 成功返回保存日历时间结构体的指针 失败返回NULL

4、颜色

终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。 转义序列是以 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 033[1;31;40m 红色

printf( "\033[1;31;40m 输出红色字符 \033[0m" )

二、链接文件

1、symlink

软链接文件、符号链接文件 硬链接文件

命令行:ln -s 123

softlink 快捷方式

1.symlink int symlink(const char *oldpath, const char *newpath);

第一个是路径(被操作对象,路径写全),第二个新起的文件名

功能: 创建一个链接向oldpath文件的新符号链接文件

参数: oldpath:被链接向的文件的路径 newpath:新符号链接文件

返回值: 成功返回0 失败返回-1

2、rename

//mv rename 相当于mv(改名字,文件剪切 )

int rename(const char *oldpath, const char *newpath);

功能:只能改名字 将一个老的路径名改为新的路径

参数: oldpath:老路径名 老名字 newpath:新路径名 新名字

返回值: 成功返回0 失败返回-1

3、remove

remove 对应 rm -fr 只能删文件 不能删目录,如果要删目录,则里面需要进行判断一下,如果是目录。

调用一下rmdir int remove(const char *pathname);

功能: 删除一个文件 参数: pathname:删除文件的路径

返回值: 成功返回0 失败返回-1

4、link

ln 1 2 int link(const char *oldpath, const char *newpath);

功能: 创建一个硬链接文件

参数: oldpath:要链接向的文件 newpath:创建的新硬链接文件

返回值: 成功返回0 失败返回-1

5、truncate

清空文件 ,把文件设置成任意大小。空间过剩\0来凑,空间不足截断。

五年间必须存在才能进行修改。

三、输出错误

1、perror

系统可以提供具体错误的原因,不需要自己手动的去写

void perror(const char *s);-->strerror() *s 起标识作用,一般写上一个函数,因为一个程序错误可能很多,所以要知道是那个,注意文件错误了,就结束,不要在往下走了,这个函数只有打印错误信息,没有结束功能。

功能: 打印s字符串和errno对应的错误信息

参数: s:要打印在终端上的出错信息

返回值: 向标准错误流输出错误消息,不返回任何数据或状态。

四、makefile文件

makefile:定义和管理软件项目中的编译规则和依赖关系,进行多个.c文件的编译运行。

make clean:清理已生成的中间文件和目标文件,通常用于整理和清理工作目录。

make:执行 Makefile 中定义的目标,根据依赖关系自动编译和链接。

  • 13
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值