1 简述Linux操作系统内核的作用和解决的问题
提供硬件抽象层方便资源分配和公平使用.
隔绝底层硬件的变化性,提供统一接口.
权限管理:安全与任务分配优先顺序,以及为合法用户提供稳定的执行环境.
2 简述Linux 管道的定义和它解决的问题
管道是一种最基本的IPC机制,作用于有血缘关系的进程之间,完成数据传递。调用pipe系统函数即可创建一个管道。有如下特质:
1. 其本质是一个伪文件(实为内核缓冲区)
由两个文件描述符引用,一个表示读端,一个表示写端。
规定数据从管道的写端流入管道,从读端流出。
管道的原理: 管道实为内核使用环形队列机制,借助内核缓冲区(4k)实现。
管道的局限性:
① 数据自己读不能自己写。
② 数据一旦被读走,便不在管道中存在,不可反复读取。
③ 由于管道采用半双工通信方式。因此,数据只能在一个方向上流动。
④ 只能在有公共祖先的进程间使用管道。
来源: https://blog.csdn.net/oguro/article/details/53841949
我认为’|’解决了自动化输出转输入的问题..
AWS Data Pipeline
可以计划并管理定期数据处理作业.取代批处理系统.
每个管道可以拥有多个对象.
像是一种传输服务.
包括命令和结果数据的传输.
特点:串行任务.一个失败,后面的不会继续执行.
3 了解命令 find, 请搜索相应文档, 并链接到答案里.
Linux中find常见用法示例
find '路径' -name 'abc'
4 了解命令 grep, 请搜索相应文档, 并链接到答案里. 请用命令cat, grep和wc, 管道来统计一个文件中出现关键字 “error” 的行数
特点是:先 规则 再目录
grep -r
遍历目录grep -o
按照正则表达式只打印匹配的数据- grep 原始有些正则特性不支持,需要加参数切换类似兼容模式:eg:’\d \s’ 需要
-P
,Perl正则表达式
Linux中grep、egrep正则表达式的使用 - 看了这篇简洁介绍才了解清楚:
linux grep命令详解 记忆要点:先规则再规则
题目没有用到wc和cat:
grep 'error.*' ./b.txt -P -n -o | grep -P '^\d+' -o
第一次的效果是加上了行号,第二次grep的效果是取消了行号外的内容.
5 列出一个自己课程中感兴趣的概念或者知识点, 搜索相关的资料, 并分享到答案.
我写了一篇:
关于堆栈的探讨-跟初学者讲堆栈实录
这是其他的备选话题:
- 集群P2P的协商?
CAP?
- 进程的概念? - 进程,线程,协程的生硬概念
科普
- UNIX标准? - 虚拟机实现一个UNIX兼容操作系统的难点分析,POSIX实现的难点
略虚
- Linux安装软件需要编译吗?