Linux程序设计从入门到实战
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文件系统- 文件与目录
Linux文件系统- IO与设备文件编程
进程间通信- 信号
线程
进程间(IPC)通信
Socket与网络编程
提交答案
视频学习中有任何产品建议都可由此反
馈,我们将及时处理!
馈,我们将及时处理!
课时介绍
信号在IPC中的风险:kill信号发送、多线程不宜与fork混用
课程介绍
《Linux程序设计》主讲:丁宋涛
C/C++属于系统级别的编程语言,作为开源软件的代表作品Linux操作系统是所有C/C++程序员都应当熟悉和掌握的。本门课程从实战出发,降低了初级C/C++程序员进入Linux程序设计的门槛。本门课程以Centos为实验环境,从核心命令讲解,再到gcc/gdb开发环境,直至覆盖到460多个常用的类Unix/POSIX API。本课可以有效的节约初学者上手Linxu操作系统的时间。同时,课程结合GNU的开源代码,仿真实现Linux常用命令,展现类Unix系统调用的工程级别的实现思路,重点讲解Linux环境下的开发和接口函数,多线程并发,并最终实现了一个带有CGI功能的小型http服务器。本课程结合计算机程序运行原理等内容,增加学员实际编程代码量,提升实战能力。
推荐课程