Linux编程学习记录

1. 文件

  • link系统调用创建硬链接,symlink系统调用用于创建软链接。硬链接相当于强指针,软链接相当于弱指针。
  • 标准库IO接口带输入输出缓冲,可以减少系统调用次数,提高效率。而linux系统调用则没有缓冲,可以直接操作设备。
  • linux单个进程打开的文件描述符有个数限制。

2. 错误处理

  • errno用于记录系统调用的错误码。它是线程本地变量,POSIX规定其必须是线程安全的,linux中正是如此。
  • strerror用于将errno转为字符串。
  • perror用于向标准输出中打印错误消息,并添加消息前缀。

3. 命令行参数解析

参数列表

默认情况下,程序只支持传参数列表。参数列表中的参数是和参数位置绑定的,程序只能通过索引位置读取对应位置的参数值,这种普通的传参方式不灵活。例如程序使用者想要跳过对某个参数的设置。

基于选项的参数

选项传参方式有很多种,POSIX标准的传参语法为:

短参数形式:程序 -选项 [选项参数] … [参数] …
长参数形式:程序 --选项 [选项参数] … [参数]…

POSIX标准把程序参数,设计为三种类型。一种是选项,一种是选项值,一种是参数
选项及选项值,其实就是键值对,所有参数加起来,其实就是一个键值表。

短参数形式,选项只能是单个字符,使用getopt接口解析。
长参数形式,选项可以是单个字符,也可以是一个字符串,使用getopt_long接口解析。

4. Shell

  • 使用Shell启动程序,程序修改环境变量,并不会影响到Shell的环境变量!它们是两个进程。

5. 进程

  • 进程优先级值越小,优先级越高,范围是-20~19,默认为0。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

撬动未来的支点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值