纸上得来终觉浅,绝知此事要躬行。
Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。严格来讲,Linux 这个词本身只表示 Linux 内核,但实际上人们已经习惯了用 Linux 来形容整个基于 Linux 内核,并且使用 GNU 工程各种工具和数据库的操作系统。

1. 知识结构体系
在 Linux 系统上一切皆文件
- 基本思想
- 一切都是文件
- 每个软件都有确定的用途
- 完全免费
- 一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码
- 良好的界面
gnomeXfceFluxboxKDE
- 支持多种平台
- 支持多处理器技术
- 可运行在嵌入式操作系统
- 可运行在多种
CPU硬件平台
- 多用户、多任务
- 多用户,保证了各用户之间互不影响
- 多任务,可以使多个程序同时并独立地运行
- 完全兼容 POSIX1.0 标准
- 这使得可以在
Linux下通过相应的模拟器运行常见的DOS、Windows的程序
- 这使得可以在

2. 目录结构体系
根文件系统(rootfs):root filesystem
下面主要介绍 Linux 操作系统的根文件系统的相关目录的对应功能和作用。
/boot:- 引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
/bin:- 供所有用户使用的基本命令
- 不能关联至独立分区,OS 启动即会用到的程序
/sbin- 管理类的基本命令
- 不能关联至独立分区,OS 启动即会用到的程序
/lib- 基本共享库文件,以及内核模块文件(/lib/modules)
/lib64- 专用于 x86_64 系统上的辅助共享库文件存放位置
/etc- 配置文件目录(纯文本文件)
/home/USERNAME- 普通用户家目录
/root- 管理员的家目录
/media- 便携式移动设备挂载点
cdromusb
- 便携式移动设备挂载点
/mnt- 临时文件系统挂载点
/dev- 设备文件及特殊文件存储位置
b: block device,随机访问c: character device,线性访问
- 设备文件及特殊文件存储位置
/opt- 第三方应用程序的安装位置
/srv- 系统上运行的服务用到的数据
/tmp- 临时文件存储位置
/usr: universal shared, read-only databin: 保证系统拥有完整功能而提供的应用程序sbinliblib64include: C 程序的头文件(header files)share:结构化独立的数据,例如 doc, man 等local:第三方应用程序的安装位置binsbinliblib64etcshare
/var: variable data filescache: 应用程序缓存数据目录lib: 应用程序状态信息数据local:专用于为/usr/local 下的应用程序存储可变数据lock: 锁文件log: 日志目录及文件opt: 专用于为/opt 下的应用程序存储可变数据run: 运行中的进程相关的数据;通常用于存储进程的 pid 文件spool: 应用程序数据池tmp: 保存系统两次重启之间产生的临时数据
/proc- 用于输出内核与进程信息相关的虚拟文件系统
/sys- 用于输出当前系统上硬件设备相关信息的虚拟文件系统
/selinux- security enhanced Linux
- selinux 相关的安全策略等信息的存储位置
3. 开源协议分类
在创建开源项目的时候,可以根据下面这个号分类来选择使用哪种开源协议。
什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供一定的权限。
不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。而开源许可协议使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。