首页 > 其他分享 >目录函数以及链接文件

目录函数以及链接文件

时间:2024-08-08 20:27:01浏览次数:15  
标签:返回 文件 const 函数 目录 time 秒数 链接

一、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 中定义的目标,根据依赖关系自动编译和链接。

标签:返回,文件,const,函数,目录,time,秒数,链接
From: https://blog.csdn.net/xgshxjhs_/article/details/141035340

相关文章

  • 函数不声明也可调用
    目录一、编译试试二、说明原由编译器隐式声明三、总结四、源码一、编译试试1、main.c2、add.c3、编译执行二、说明原由编译器隐式声明gcc编译器在编译源文件时,遇到未声明的函数调用时,会根据函数调用时传入的参数类型隐式的为此源文件生成一个函数声明:函数参数......
  • FFmpeg源码:av_realloc、av_reallocp、size_mult、av_realloc_f函数分析
    =================================================================FFmpeg内存管理相关的源码分析:FFmpeg中内存分配和释放相关的源码:av_malloc函数、av_mallocz函数、av_free函数和av_freep函数分析FFmpeg源码:av_realloc、av_reallocp、size_mult、av_realloc_f函数分析FF......
  • Linux文件/目录权限管理
    系列文章目录`提示:仅用于个人学习,进行查漏补缺使用。1.Linux介绍、目录结构、文件基本属性、Shell2.Linux常用命令3.Linux文件管理4.Linux命令安装(rpm、install)5.Linux账号管理提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文......
  • Pandas高级操作:多级索引、窗口函数、数据透视表等
            在数据处理和分析中,pandas库提供了强大的功能,支持从简单到复杂的数据操作。本文将介绍一些pandas的高级操作,包括多级索引(MultiIndex)、窗口函数(WindowFunctions)、数据透视表与复杂聚合、数据合并与连接、高级数据变换以及时间序列数据的高级处理。1.多级索......
  • 【Python】excel常用函数操作Python实现,办公入门首选
    常见的Excel函数,在Python中的如何实现:VLOOKUP:可以使用merge或map函数来实现类似的功能。IF:可以使用numpy库的where函数来实现类似的功能。SUMIF:可以使用pandas的query函数来筛选数据,然后使用sum函数来计算总和。COUNTIF:类似于SUMIF,可以使用query函数来筛选数据,然......
  • Kotlin 循环与函数详解:高效编程指南
    Kotlin循环当您处理数组时,经常需要遍历所有元素。要遍历数组元素,请使用for循环和in操作符:示例输出cars数组中的所有元素:valcars=arrayOf("Volvo","BMW","Ford","Mazda")for(xincars){println(x)}您可以遍历各种类型的数组。在上面的示例中,我们使用了......
  • 22.python自定义函数(format,zip)
    python自定义函数一、常见的自定义函数已经学过的函数:list、print、set、str、type、tuple、dict、range、input等今天学的函数:format二、实战讲解(一)format函数1、默认显示案例:hz="{}{}".format("dcs","43")print(hz)#dcs43hz="{}".format("dcs","43"......
  • openvslam 优化误差问题 随机一致性 核函数 信息矩阵(高斯牛顿)
     优化问题  我们的目标就是找到一组a,b,λa,b,\lambdaa,b,λ的解,使得式(1)整体值最小,也就是各个点到曲线的距离在y方向的和最小。 鲁棒核函数假设现在散点中一个很离谱的错误点由于右上角那个离谱的点,导致优化时将整个函数被拉偏了(可以对比图3)。那么怎么解决......
  • 用Manim实现函数图像的的绘制【FunctionGraph】
    一,介绍在这个上下文中,函数是指变量之间的数学关系。当我们可视化这些函数时,我们使用对象来表示这些函数的图形。函数FunctionGraph(函数图)这个类表示一个由显式方程  定义的函数图。它是 ParametricFunction 的一种特殊类型,默认情况下会跨越整个场景的长度。这意味着......
  • 数论函数小记
    这篇文章是上了\(\rmyyc\)的课之后得到的一些心得和总结。高维点视角下的整除关系:我们可以将一个数\(x\)唯一分解为\(\prod_{i=1}^{+\infty}p_i^{x_i}\)的形式(其中\(p_i\)都是素数)。注意到每一种素数互不干扰,于是可以把每一种不同的素数看成立体空间的一维,把\(x\)......