开源协定:
GPL LGPL,Apache,BSD BSD: 1.如果二次发布的产品中包含源代码,则再源代码中必须带有原来的代码中的BSD协定; 2.如果二次发布的产品是二进制格式的库或程序,则需要在发不动文档或版权声明中说明包含原来的代码中的BSD协议; 3.不可以用开元代码的作者或组织,以及原来的产品名字做市场推广; Apache: 代码共产主义运动: 开源:集市式开发模式 闭源:教堂式开发模式 Linux:应用程序,kerel 源码 二进制格式 发行版:Debian 、Slackware、 RedHat Aechelinux、LFSCentOS
程序:指令+数据库:不能独立运行,只能被程序调用运行,二进制模式(无执行入口)
shell是人机交互接口,没有shell程序也可以运行; so:shared object 共享: 标准库:Linux系统必须提供的,可被程序调用的库 glibc 运行程序: 系统开机之后自动加载并运行程序;与终端无关 交互式启动的程序:与终端相关CPU:4组令集
总线: 地址总线:寻址 数据总线:数据传输 控制总线:发送控制信号 文件系统:程序,用于负责组织数据以能够实现使命存取; 通常有OS实现; 元数据(metadata):属性信息 数据:文件数据内容对分区格式化:在分区上创建文件系统 目录:路径列表
OS的功能: 进程管理 文件系统 网络功能 内存管理 IO管理 驱动程序 安全功能 Linuxtterminal:终端
在终端上启动一个shell程序shell的类别:
GUI:GNome, KDE, Xface CLI:bashi, sh, zsh, ksh, tcsh, dash ,csh交互式接口:通常可以定制其工作环境
通过“环境变量”实现; 变量:命名的内存空间bash环境变量:PS1, SHELL, HOME
命令的通用语法格式:
COMMAND(命令) OPTION ARGUMENTS(参数) COMMAND: 发起一个命令:请求内核将某个二进制程序运行为一个进程; 命令必须遵循特定格式:ELF(Linux)命令本身是一个可执行程序文件:二进制格式
命令有两类:
由shell程序自带:内建命令 独立可执行程序文件:外部命令 通过环境变量PATH定义其查找路径 查看命令的类型:type 执行过的外部命令查找结果的缓存及命中次数查看:hashOPTIONS:
制定命令的运行特性 很多程序的选项可通过其配置文件进行定义; 配置文件:定义了程序运行特性的诸多参数及值的文本文件(偶尔有XML格式的文件); 选项有两种表现形式: -C:短格式选项,-1,-R 大多同时使用的多个短格式选项可合并:-1 -R = -1R --string:长格式选项,--help 注意:多个选项间以空白分隔;合并使用的段选项间不能有空白ARGUMENTS(参数):
命令的作用对象:命令对什么生效; 参数:不同的命令使用参数的格式,使用参数的方法都不尽相同; 注意:多个参数间通常需要空白分隔;文件系统:
1、间隔区分字符大小写:file, File 2、文件名可以使用除“/”意外的任意字符,但不建议使用特殊字符; 3、文件名长度不能超过255个字符; 路径: 相对路径:从当前位置开始 a/b/c,·/a/b/c “ · ”:当前目录 “··”:上一级目录,即当前目录的父目录; 绝对路径:从根开始,/ /etc/sysconfig/network-scripts/