• 讲师平台
    • 我的学习
    • 消息

    Linux程序设计从入门到实战-

    共107节3228人学习夏曹俊 课程详情 领证书
    • Linux系统入门:核心命令实战

      • 课程介绍
      • Linux程序设计概要介绍
      • 从POST到Init,Linux的引导过程:在BIOS之后,操作系统才正式接管硬件资源
      • Linux命令行常用快捷键:加速你与Linux的交互速度
      • cd:切换目录命令常用技巧
      • mkdir:递归建立目录与批量克隆目录结构的技巧
      • touch:mtime,ctime和atime
      • ls:过滤文件与目录和查找最新更新但不知文件名的技巧
      • find:按时间查找
      • find-name和-type:按名称、按类型和查找结果取反
      • find-maxdepth:控制检索目录的深度
      • find-newer:查找比某个文件后创建的文件
      • find与exec:在目录中删除所有的文件但保留指定的文件
      • xargs:提取命令行参数
      • chmod与umask:文件目录权限
      • cat /dev/null:创建文件、显示文件以及清空文件内容
      • cut:截取文件内容
      • vi使用(上):介绍
      • vi使用(下):实战操作
      • grep命令:过滤文本信息
      • ps:查看进程命令
      • netstat:查看网络
      • gcc:-I解决目录进入,-w压抑警告和O2性能提升演示
      • gdb:调试工具介绍
      • 此节要删除
    • 导论-从编写Linux命令开始学习系统编程

      • Linux系统编程学什么:内核的存在性是理解系统编程的重要前提
      • 从more开始学写Linux命令:main函数argc,argv的意义与gdb使用
      • VT100的模拟、应用程序与标准输入直接交换数据
      • Linux编程中man的重要地位与段错误排查:学习编写命令who
      • gtime函数、timeval、time_t信息的由来与Linux中的日期显示:who2的改进实现
      • 用户与命令交互设计技巧:scanf误用的死循环bug、自己覆盖自己与cp命令的实现
      • ls命令模拟实现(上):使用readir获取目录信息
      • ls命令模拟实现(中):time_t结构体与unix时间戳-ls显示文件详细信息
      • ls命令模拟实现(下)
    • LINUX-I/O篇 示例与实践

      • fgets与gets中行I/O的溢出风险:文件描述字、流式编程
      • fgetc,fputc抛弃换行符后提取单字符命令示例:字符IO
      • fseek与文件写入定位:a+与w+写入数据的定位比较
      • fflush引发的缓存问题:全缓存\行缓存\无缓存细节详解
      • fread、fwrite共享文件偏移:同一个文件描述符的操作必然共享相同的文件偏移
      • fwrite API:参数size与nmemb的对应
      • ulimit系统最大文件个数与lsof侦测文件资源泄漏:从C库IO到系统调用
      • open\create 创建文件中的umask与文件权限问题
      • 轮询模式:read、O_NONBLOCK阻塞读问题与非阻塞
      • O_TRUNC:为什么文件要截断
    • Linux- 进程篇 示例与实践

      • 程序与进程区别:main函数是C程序的入口点吗?进程的生命周期
      • 进程生命周期的消亡atexit函数:非正常终止的进程atexit不会被OS调用
      • 进程上下文与环境变量putenv、setenv:优先使用set而非put
      • 进程创建:32位系统可以支持的最大进程数32768
      • fork与进程创建:父子进程推进顺序详解
      • fork炸弹:子进程不是从main而是从fork返回的地方开始运行
      • 僵尸进程的避免:系统资源没有放在进程的推进
      • exec与进程映像替换:exec就是对进程实现了换头手术
      • 守护进程
      • 进程编程综合实践:简易shell的模拟实现
      • 简易shell的模拟实现(一):execvp与命令执行
      • 简易shell的模拟实现(二):fork,wait与MiniShell实现
    • Linux文件系统- 文件与目录

      • 标准C库中的IO函数实际上就是对POSIX IO函数的封装
      • fileno获取当前进程的文件描述符:Linux始终返回当前最小的值作为当前进程的文件描述符
      • readdir/readdir_r操作目录
      • 综合应用pwd命令的实现(上):inode与文件对应关系的解读
      • 综合应用pwd命令的实现(下):文件在目录中的含义
      • 文件锁的概念
      • 文件锁:数据独占访问的一种形式
      • 文件区域锁
    • Linux文件系统- IO与设备文件编程

      • 一切设备皆文件:从tty看终端设备同样具有属性、权限
      • 终端与进程挂钩:Linux有一套维护设备连接的机制
      • termios结构应用:设备文件的控制就是设置对应的标志位
      • 类Unix交互风格的程序的实现:规范模式、raw模式的案例
      • IO重定向与Linux概念和内涵
      • stdin重定向到文件:close/open策略实现从文件而非键盘读取信息
      • dup/dup2重定向详解:open/close/dup/close策略
    • 进程间通信- 信号

      • 信号本质是软中断
      • 进程对信号的3种响应:SIG_DFL信号默认处理函数的恢复
      • alarm的定时器作用与sleep的可中断式睡眠
      • 定时器信号案例(上):飘动的字符串
      • 定时器信号案例(下):飘动的字符串
      • 传统信号的弊端:信号处理函数的可重入性
      • 信号阻塞block和未决pending的意义:内核是信号传递的媒介
      • 信号排队与丢弃现象:信号不可以为进程中的事件计数
    • 线程

      • 函数是线程的载体
      • 第一个线程程序:使用lpthread编译多线程程序
      • 并发编程中的第一类与时间有关的错误
      • 单条C语句依然存在线程不安全的风险
      • 使用信号量实现互斥
      • 缓冲区读写:生产者/消费者模型的实用案例
      • 负载均衡的线程分配难以建立:工程中的多线程开发经验分享(一)
      • 线程组ID(ttid)、pThread类型的id不能唯一标识线程:工程中的多线程开发经验分享(二)
      • pthread_Join与资源泄漏:工程中的多线程开发经验分享(三)
    • 进程间(IPC)通信

      • IPC概念的外延:网络通信也是进程间通信的一种
      • mkfifo:第一个管道程序
      • 管道的建立依赖两个程序的通信
      • Pipe与匿名管道
      • 利用Pipe在父子进程间传递数据
      • 利用Pipe实现Linux管道命令|
      • SIGPIPE信号、未正确关闭读写端的管道异常
      • ipcs和msgget:消息队列的创建
      • msgsnd和msgrcv:消息队列的接受与删除
      • shmget和shmmat:共享内存的通信
      • 信号在IPC中的风险:kill信号发送、多线程不宜与fork混用
      • popen与协同进程:从进程中获取数据是进程对文件的抽象
    • Socket与网络编程

      • Socket的内涵:本地socket通信的演示案例
      • Socket网络编程案例:初学者的一个常见bug调试
      • htons与kill 服务进程:网络字节序引起的端口号bug案例
      • 提领指向不完全类型的指针bug的解决:socket的封装案例
      • mini型http服务器的实现(上):利用rio增强IO流
      • mini型http服务器的实现(中):静态http解析的实现
      • mini型http服务器的实现(下):CGI的实现
    0/1024
    暂无留言

      订阅失败

      Linux程序设计从入门到实战
      Linux程序设计从入门到实战 ...

      订阅列表已满,请先移出部分订阅内容。

      当前章节需购买后观看
      开通超级会员免费看!专家精选系列课程,满足你从入门到精通!更有问答月卡免费送,你的问题有问必答!

      购买课程

      扫码完成付费,可继续学习全部课程内容

      加载中...
      正在试验
      后自动删除环境
      课程实验
      本次实验时间已到期 00:00:00
      程序员研修院 v1.1.0
      一、播放器优化
      修改播放器默认倍速设置,增加1.25倍速
      调整目录展示形式,增加折叠/展开
      优化播放器的使用体验,有播放问题可以点击播放页内的”反馈“提交问题
      查看全部版本记录
      课件正在飞速打包中,请耐心等待几秒钟~