UNIX文件系统

一、目录和文件

  1. 获取文件属性
    1. stat():通过文件路径获取属性,面对符号链接时获取的是所指向文件的属性。
    2. fstat():通过文件描述符获取属性
    3. lstat():面对符号链接文件时获取的是符号链接文件的属性
  2. 文件访问权限
    1. st_mode是一个16为的位图, 用于表示文件类型,文件权限及特殊权限位置
  3. umask
    1. 获得文件权限: 0666 & ~umask
    2. 作用:防止产生权限过松的文件
  4. 文件权限的更改/管理
    1. chmod()、fchmod()
  5. 粘住位
    1. t位:原本设计师在内存中保留二进制可执行命令的使用痕迹,使下次装载更快。现在长用于给目录设置t位。
  6. 文件系统:FAT, UFS
    1. 文件系统:文件或数据的存储和管理
    2. FAT本质:静态存储的单链表
  7. 硬链接、符号链接
    1. 硬链接:与目录项是同义词,一个指针指向同一个数据块;建立硬链接有限制:不能给分区建立,不能给目录建立。
    2. 符号链接:指向源文件,类似windows下的快捷方式。优点:可跨分区、可以给目录建立。
    3. link(创建文件名指向同一个数据块,硬链接)、unlink(创建一个临时文件,close文件描述符时从磁盘上删除)、remove(删除一个非空的文件、目录)、rename
  8. utime:可更改文件最后读或写的时间
  9. 目录的创建和销毁
    1. mkdir:创建一个目录并指定权限
    2. rmdir:删除一个空目录
  10. 更改当前工作目录
    1. fchdir:更改当前工作路径
    2. getcwd:获取当前工作路径
  11. 分析/读取目录内容
    1. glob():
    2. opendir()、closedir()、readdir()、rewenddir()、fseekdir()、seekdir()、telldir()

二、系统数据文件和信息

三、进程环境

  1. 进程终止方式:
    1. 正常终止:
      1. 从main返回
      2. 调用exit(终止时清理IO缓存操作,调用钩子函数)
      3. 调用_exit或_Exit(直接返回内核)
      4. 最后一个线程从启动例程返回
      5. 从最后一个线程调用pthread_exit
    2. 异常终止:
      1. 调用abort()
      2. 接收到一个信号
      3. 最后一个线程对取消请求做出响应
  2. 钩子函数:
    1. atexit()或onexit():进程终止前逆序调用注册的钩子函数
  3. 命令行参数解析
  4. 环境变量:KEY = VALUE, extern char **environ获得全局环境变量
  5. C程序的存储空间分布
    1. 动态库(共享库):占用运行时间而不是编译时间(多用)
    2. 静态库:编译时直接装载代码,不占用运行时间,libxx.a。ar -cr libxx.a
    3. 手动装载库
  6. 函数跳转

     

    1. 可跨函数跳转(安全):
      1. setjmp()
      2. longjmp()
    2. 不可跨函数跳转(不安全)
      1. goto
  7. 资源的获取及控制
    1. getrlimit();
    2. setrlimit();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值