学无止境

少年辛苦终身事,莫向光阴惰寸功。——唐·杜荀鹤《题弟侄书堂》


Linux操作系统概述

Linux操作系统概述

发展历史

1. UNIX诞生
- 1969年,Ken Thompson(肯·汤普逊)在贝尔实验室开发UNIX
- 最初用汇编语言编写
- 1973年,Dennis Ritchie(丹尼斯·里奇)开发C语言
- Thompson和Ritchie用C语言重写UNIX,奠定现代操作系统基础

2. UNIX分支
- BSD(Berkeley Software Distribution)
  * FreeBSD
  * OpenBSD
  * NetBSD
- System V
  * IBM AIX
  * Sun Solaris
  * HP-UX

3. MINIX诞生
- Andrew S. Tanenbaum开发
- 用于教学的类UNIX系统
- 启发了Linux的诞生

4. Linux诞生
- 1991年,Linus Torvalds(林纳斯·托瓦兹)开发
- 最初只支持386处理器
- 开源社区共同开发,支持多种硬件平台

Linux发行版

1. 主流发行版
- Debian系:
  * Ubuntu
  * Debian
  * Linux Mint
- Red Hat系:
  * Red Hat Enterprise Linux
  * CentOS
  * Fedora
- 其他:
  * SUSE Linux
  * Arch Linux
  * Gentoo

2. 特点比较
- Ubuntu:
  * 用户友好
  * 适合新手
  * 桌面环境优秀
- Red Hat:
  * 企业级应用
  * 稳定性好
  * 技术支持完善
- SUSE:
  * 企业应用
  * 系统管理工具完善

系统架构

1. 核心组件
- 内核(Kernel):
  * 系统核心程序
  * 硬件资源管理
  * 提供系统调用接口
  * 进程调度
  * 内存管理
  * 文件系统

2. 系统层次
- 硬件层
- 内核层
- Shell层
- 应用层

3. 重要概念
- 多用户
- 多任务
- 文件系统层次结构

基本命令语法

1. 路径相关
- cd /     # 切换到根目录
- cd 或 cd ~  # 切换到用户家目录
- cd ..    # 切换到上级目录
- cd -     # 切换到上次访问的目录
- pwd      # 显示当前目录

2. 特殊符号
- /  # 根目录,目录分隔符
- \  # 转义字符
- -  # 命令选项标识符
- _  # 文件名中的连接符
- |  # 管道符,连接多个命令
- >  # 重定向输出符
- >>  # 追加重定向
- &  # 后台运行
- ;  # 命令分隔符

3. 目录结构
- /bin     # 基本命令目录
- /boot    # 启动文件目录
- /dev     # 设备文件目录
- /etc     # 配置文件目录
- /home    # 用户主目录
- /lib     # 系统库文件
- /root    # root用户主目录
- /usr     # 应用程序目录
- /var     # 变动文件目录

命令使用规范

1. 基本格式
command [options] [arguments]

2. 命令类型
- 内部命令(Shell内置)
- 外部命令(独立的可执行文件)

3. 常用操作
- 命令自动补全(Tab键)
- 命令历史(上下箭头)
- 命令别名(alias)

4. 帮助获取
- man command    # 查看命令手册
- command --help # 查看命令帮助
- info command   # 查看命令信息

重要概念

1. 权限控制
- 用户(User)
- 组(Group)
- 权限(Permission):读、写、执行

2. 进程管理
- 前台进程
- 后台进程
- 守护进程

3. 文件系统
- 文件类型
- 挂载点
- 链接(软链接、硬链接)

安全性

1. 基本安全措施
- 用户认证
- 访问控制
- 系统日志
- 防火墙配置

2. SELinux
- 强制访问控制
- 安全策略
- 运行模式