第一篇 Linux系统学习基础
第1章 Shell编程基础
1.1 基本概念
1.1.1 Shell的功能
1.1.2 Linux Shell的常用命令
1.1.3 启动和退出
1.2 常用的Shell类型
1.2.1 Linux 默认Shell
1.2.2 Bourne Shell的扩展版
1.2.3 网关接口shell
1.2.4 早期Shell
1.2.5 支持后台作业Shell
1.3 Shell基本语法
1.3.1 Shell脚本中的注释
1.3.2 Shell通配符的使用
1.3.3 大小写区分
1.3.4 指定使用某个Shell
1.3.5 IO重定向
1.3.6 管道(Pipe)
1.3.7 前台与后台执行任务
1.3.8 命令的执行顺序
1.3.9 Shell中三种引号的用法
1.3.10 运行脚本
第2章 系统管理与设置
2.1 常用的信息显示命令
2.1.1 cal命令:日期显示
2.1.2 cat /proc/meminfo:内存使用情况查询
2.1.3 free命令:内存详细信息查询
2.1.4 arch命令:CPU架构显示
2.1.5 cat /proc/cpuinfo命令:处理器cpu信息显示
2.1.6 cat /proc/modules:查询当前系统被加载模块
2.2 系统信息显示命令
2.2.1 proc文件系统:访问系统内核信息
2.2.2 modinfo命令:内核模块信息
2.2.3 cat /etc/issue命令:系统的当前发行版本
2.2.4 cat /proc/version:查看系统内核当前版本
2.2.5 cat /proc/partitions:查看系统当前分区
2.2.6 cat /proc/interrupts命令:显示中断信息
2.2.7 cat /proc/filesystems命令:常用文件系统信息
2.2.8 dmesg:启动信息查询
2.3 系统常用信息设置
2.3.1 date命令:系统时间显示与设置
2.3.2 hostname命令:当前系统的主机名显示与设置
2.3.3 hwclock命令:硬件时钟显示和设置
2.3.4 hash命令:显示、添加或清除哈希表
2.3.5 sysctl命令:系统核心参数的设置
2.4 文件系统信息显示常用命令
2.4.1 echo命令:文本行输出显示
2.4.2 isosize命令:iso9660文件系统大小的显示
2.4.3 minfo命令:ms-dos文件系统的各项参数的显示
2.4.4 pwd命令:当前工作目录的显示
2.4.5 procinfo命令:系统状态信息的显示
2.4.6 stat命令:文件/文件系统的详细信息的显示
2.5 Linux操作系统信息查询
2.5.1 uname命令:操作系统信息的显示
2.5.2 vmstat命令:虚拟内存的统计信息的显示
2.5.3 uptime命令:系统的运行信息的显示
2.5.4 locale命令:当前系统的语言设置
2.5.5 tload命令:系统负载显示
2.5.6 runlevel命令:系统运行级别显示
2.5.7 modinfo命令:内核模块信息显示
2.5.8 lsmod命令:所有已加载模块的显示
2.6 进程资源
2.6.1 top命令:进程信息显示
2.6.2 ipcs命令:IPC设备信息显示
2.6.3 time命令:进程执行时间显示
2.6.4 pstree命令:以树状图显示程序
2.6.5 ps命令:监测进程
2.6.6 pmap命令:显示程序的占用资源信息
2.6.7 jobs命令:后台作业
2.6.8 mev命令:监视鼠标情况
2.6.9 fuser命令:用套接口或者文件识别进程
2.7 Linux终端命令行操作
2.7.1 fgconsole命令:显示当前虚拟终端数目
2.7.2 history命令:显示历史指令
2.7.3 gdialog命令:Shell脚本创建对话框
2.7.4 yes命令:字符串的连续输出
第二篇 系统维护与管理
第3章 常用的系统管理命令
3.1 常用的系统管理任务
3.1.1 apm命令:BIOS电源管理
3.1.2 apmsleep命令:低功耗工作
3.1.3 open命令:开启虚拟终端
3.1.4 vlock命令:锁定终端
3.1.5 sudo命令:用户切换
3.1.6 rsh命令:远程用户设置登录Shell
3.1.7 chsh命令:切换系统登录时Shell
3.1.8 clear命令:清除终端屏幕
3.1.9 rlogin命令:智能化远端登录
3.2 进程任务管理
3.2.1 apmd命令:高级电源管理守护进程
3.2.2 fg命令:后台任务放前台
3.2.3 kill命令:结束进程
3.2.4 killall命令:杀死同名进程
3.2.5 nice命令:进程优先级切换
3.2.6 pgrep命令:查找符合条件的进程
3.2.7 pidof命令:查看正在运行程序的进程ID
3.2.8 renice命令:设定进程优先级
3.2.9 pkill命令:强制杀死进程
3.3 设置系统的各种任务
3.3.1 ntsysv命令:图形化设置系统的各种服务
3.3.2 symlinks命令:管理和维护符号链接工具
3.3.3 mtools:软盘操作工具集
3.3.4 gcov命令:coverage测试工具
3.3.5 screen命令:视窗程序管理工具
3.3.6 logrotate命令:管理log文件
3.3.7 pwck命令:检查密码文件
3.3.8 exec命令:交出控制权
3.3.9 &命令:后台执行任务
3.3.10 init命令:进程的父进程
3.4 后台任务管理
3.4.1 bg命令:后台执行程序
3.4.2 wait命令:等待程序返回状态
3.4.3 depmod命令:显示模块依赖关系
3.4.4 rmmod命令:删除模块
3.4.5 ipcrm命令:进程间机制管理
3.4.6 watch命令:重复执行命令
3.4.7 fc命令:修改执行命令
3.4.8 nohup命令:退出登录执行命令
3.4.9 suspend命令:暂停执行Shell
3.4.10 sleep命令:系统休眠
第4章 系统维护命令
4.1 常用的系统维护命令
4.1.1 bind命令:设置按键组合
4.1.2 enable命令:Shell内置命令
4.1.3 aumix命令:音效装置设置
4.1.4 配置系统的认证资源
4.1.5 export命令:设置环境变量
4.1.6 hostid命令:主机数字标识
4.1.7 alias命令:设置命令的别名
4.1.8 chkconfig命令:管理系统服务
4.1.9 eval命令:多个命令同时执行
4.1.10 dircolors命令:配置ls命令显示颜色
4.1.11 set命令:设置Shell执行方式
4.1.12 telinit命令:设置系统的运行等级
4.2 系统的日常配置
4.2.1 declare命令:Shell变量
4.2.2 fbset命令:帧缓存设备设置
4.2.3 insmod命令:加载模块
4.2.4 lilo命令:安装启动装载程序
4.2.5 modprobe命令:自动安装依赖模块
4.2.6 mkraid命令:raid磁盘阵列
4.2.7 losetup命令:设置和控制循环设备
4.2.8 rpm命令:RPM包管理
4.2.9 ldd命令:共享库文件的相互依赖关系
4.2.10 ldconfig命令:配置动态链接绑定
4.2.11 up2date命令:升级Red Hat Linux系统
4.3 其他常用命令
4.3.1 false命令:false返回值
4.3.2 true命令:true返回值
4.3.3 ulimit命令:控制Shell及进程的资源
4.3.4 mouseconfig命令:设置鼠标相关参数
4.3.5 setup命令:系统公用程序设置
4.3.6 swapoff命令:卸载交换区(swap area)
4.3.7 swapon命令:加载交换区(swap area)
4.3.8 resize命令:调整终端视窗
4.3.9 setserial命令:串口设备设置
4.3.10 unalias命令:删除指定的别名
4.3.11 unset命令:删除变量或函数
4.4 自动作业处理
4.4.1 anacron命令:调度守护进程任务
4.4.2 at命令:多任务执行排队处理
4.4.3 atd命令:执行已经排队的任务
4.4.4 atq命令:显示排队的任务
4.4.5 atrm命令:删除已经排队的任务
4.4.6 atrun命令:执行排好队的任务
4.4.7 crontab命令:定时执行程序
4.4.8 batch命令:批处理
4.5 系统日志
4.5.1 syslogd命令:启动syslog日志进程
4.5.2 syslog.conf:系统日志配置文件
4.5.3 logger命令:测试syslog.conf
4.5.4 echo清空日志
第5章 正则表达式
5.1 正则表达式介绍
5.2 元字符
5.2.1 元字符的定义
5.2.2 元字符的应用示例
5.3 字符集和类
5.3.1 字符集和类的定义
5.3.2 元字集和类的应用示例
5.4 重复
5.4.1 重复的定义
5.4.2 重复的应用示例
5.5 子表达式
5.5.1 子表达式的定义
5.5.2 子表达式的应用示例
5.6 定位字符串的开始和末尾
5.6.1 开始和末尾的定义
5.6.2 定位字符串的开始和
末尾的应用示例
5.7 分支
5.7.1 分支的定义
5.7.2 分支的应用示例
5.8 匹配特殊字符
第三篇 Vi编辑器与Emacs编辑器
第6章 vi(vim)编辑器
6.1 vi(vim)编辑器概述
6.1.1 vi(vim)编辑器的发展史
6.1.2 启动vi(vim)
6.1.3 退出vi(vim)
6.1.4 命令模式
6.1.5 末行模式
6.1.6 插入模式
6.2 vi(vim)中的常用命令
6.2.1 插入文本命令
6.2.2 附加文本命令
6.2.3 光标移动命令
6.2.4 字符与块删除命令
6.2.5 添加新行命令
6.2.6 修改文本命令
6.2.7 行合并命令
6.2.8 文本替换命令
6.2.9 句点命令
6.2.10 撤销修改命令
6.2.11 复制文本命令
6.2.12 粘贴文本命令
6.2.13 重复执行命令
6.3 vi(vim)中的字符与文件操作
6.3.1 查找指定字符命令
6.3.2 普通与增量查找
6.3.3 替换指定字符串
6.3.4 更改大小写命令
6.3.5 文件读入命令
6.3.6 文件写入命令
6.3.7 定位到指定行命令
6.3.8 显示状态信息命令
6.3.9 保存和退出命令
6.4 窗口操作
6.4.1 窗口操作的快捷方式
6.4.2 窗口垂直拆分
6.4.3 窗口水平拆分
6.4.4 关闭窗口
6.4.5 屏幕重绘
6.4.6 屏幕滚动
6.4.7 文本定位
6.4.8 交互式Shell
6.4.9 在vi(vim)中执行Shell
6.4.10 获得帮助
第7章 emacs编辑器
7.1 emacs概述
7.1.1 emacs发展史
7.1.2 启动和退出
7.1.3 新建文本
7.1.4 保存文本
7.2 文本编辑
7.2.1 常用命令键
7.2.2 光标的移动
7.2.3 文本的输入
7.2.4 文本的删除
7.2.5 字符的查找和替换
7.3 缓冲区和窗口
7.3.1 水平与垂直拆分窗口
7.3.2 多个缓冲区同时进行工作
7.3.3 缓冲区中内容的滚动
7.4 emacs的扩展工具
7.4.1 日历显示
7.4.2 执行Shell命令
7.4.3 游戏调用
第四篇 grep命令、gawk与sed,其他常用文本命令
第8章 grep命令
8.1 grep介绍
8.1.1 grep的功能介绍
8.1.2 grep的工作原理
8.2 grep与正则表达式
8.2.1 grep正则表达式的元字符集
8.2.2 grep正则实例
8.2.3 grep的常用参数选项
8.2.4 grep与管道的配合使用
8.2.5 grep的退出状态
8.3 egrep与fgrep
8.3.1 egrep处理复杂字符串
8.3.2 fgrep处理简单字符串
第9章 gawk与sed
9.1 过滤器gawk
9.1.1 gawk发展史
9.1.2 awk的程序处理模式
9.1.3 gawk的语法格式
9.1.4 gawk注释
9.1.5 变量赋值
9.1.6 模式的使用
9.1.7 指定动作
9.1.8 使用重定向输出
9.1.9 字段分隔符输出
9.1.10 记录与字段的介绍
9.2 gawk的编程设计
9.2.1 函数
9.2.2 关联数组
9.2.3 格式化输出命令
9.2.4 关系运算符
9.2.5 算术运算符
9.2.6 流程控制语句
9.2.7 getline:控制输入
9.2. 8 协进程
9.2.9 网络数据交换
9.2.10 gawk的应用示例
9.3 流编辑器sed
9.3.1 sed编辑器介绍
9.3.2 sed的基本语法
9.3.3 地址的作用
9.3.4 指令的作用
9.3.5 删除指令
9.3.6 追加指令
9.3.7 打印指令
9.3.8 修改指令
9.3.9 替换指令
9.3.10 插入指令
9.3.11 退出指令
9.3.12 下一条指令
9.3.13 文件写入指令
9.3.14 文件读入指令
9.3.15 sed的控制结构
9.3.16 Pattern区和Hold区
9.3.17 sed的应用示例
第五篇 Shell编程及编程实战
第10章 其他常用的文本编辑命令
10.1 文本编辑常用命令
10.1.1 cat命令:标准输出设备显示文本内容
10.1.2 ed命令:行文本编辑器
10.1.3 fmt命令:重排文本文件
10.1.4 gedit命令:图形化文本编辑器
10.1.5 ed命令:行文本编辑器
10.1.6 jed命令:jed编辑文本文件
10.1.7 cut命令:文件剪切
10.1.8 colrm命令:删除指定的列
10.1.9 comm命令:对已排序文件逐行进行比较
10.1.10 od命令:格式化输出文件内容
10.1.11 joe命令:ASCII文本编辑器
10.1.12 aspell命令:检查文件的拼写错误
10.1.13 col命令:过滤控制字符
10.1.14 view命令:只读方式查看文件内容
10.1.15 more 命令:分屏显示文本内容
10.1.16 head命令:部分显示文本内容
10.2 其他常用的文本命令与技巧
10.2.1 cmp命令:文件属性比较
10.2.2 diff 命令:文件内容比较
10.2.3 diffstat命令:diff结果的统计信息
10.2.4 patch命令:文件打补丁
10.2.5 csplit命令:按指定行数分割文件
10.2.6 uniq命令:显示文件中重复出现的行
10.2.7 pr命令:编排文件格式
10.2.8 pico命令:编辑文字文件
10.2.9 tail命令:读取文件的末尾部分
10.2.10 tac命令:反序显示文本内容
10.2.11 less 命令:前后翻阅文本内容
10.2.12 sort 命令:文件排序
10.2.13 indent命令:调整c代码文件格式
10.2.14 tr命令:转换文本指定字符串
10.2.15 join命令:连接两个相同字段文件
10.2.16 spell命令:检查文本拼写错误
10.2.17 tee命令:读取标准输入到标准输出或文件
10.2.18 wc命令:统计文本信息
第11章 Shell变量及相关操作
11.1 Shell变量类型
11.1.1 Shell环境变量
11.1.2 位置变量
11.1.3 预定义的特殊变量
11.1.4 用户自定义的变量
11.2 变量的操作
11.2.1 创建和设置变量
11.2.2 区分变量名
11.2.3 删除变量
11.3 变量的赋值
11.3.1 直接给变量赋值
11.3.2 使用read命令赋值
11.3.3 命令行参数赋值
11.3.4 命令的输出结果赋值
11.3.5 文件读入数据实现赋值
11.4 变量的输出
11.4.1 printf命令:格式化输出变量
11.4.2 echo命令:直接输出变量
11.5 数组变量
11.5.1 数组的定义
11.5.2 数组的复制
11.5.3 数组元素的个数
11.5.4 数组元素的长度
11.6 算术运算
11.6.1 expr命令
11.6.2 let命令
11.6.3 浮点算术运算
第12章 条件测试
12.1 Shell的测试命令
12.2 测试文件属性
12.2.1 测试文件存在
12.2.2 测试文件存在且可执行
12.2.3 测试文件存在且是目录
12.2.4 测试文件存在且是字符设备
12.2.5 测试文件存在且是块设备
12.3 测试数值
12.3.1 相等测试
12.3.2 不相等测试
12.3.3 小于测试
12.3.4 小于等于测试
12.3.5 大于测试
12.3.6 大于等于测试
12.4 测试字符串
12.4.1 相等测试
12.4.2 不相等测试
12.4.3 非空测试
12.4.4 长度为0测试
12.4.5 长度不为0测试
12.5 测试逻辑运算符
12.5.1 逻辑与测试
12.5.2 逻辑或测试
12.5.3 逻辑非测试
第13章 Shell的控制结构
13.1 if结构
13.1.1 if结构的语法格式
13.1.2 if…then…fi示例
13.1.3 if…then…else…fi示例
13.1.4 if…then…elif…示例
13.1.5 if嵌套
13.2 case结构
13.2.1 case结构的语法格式
13.2.2 case结构示例
13.2.3 case嵌套
13.3 select结构
13.3.1 select结构的语法格式
13.3.2 select结构示例
13.4 while循环
13.4.1 while语句的语法格式
13.4.2 while循环示例
13.4.3 while的嵌套
13.4.4 避免死循环
13.5 for循环
13.5.1 for循环语法结构
13.5.2 for循环示例
13.6 until循环
13.6.1 until循环的语法结构
13.6.2 until循环示例
13.7 break和continue语句
13.7.1 break语句
13.7.2 continue语句
第14章 函数
14.1 函数的定义
14.2 函数的调用
14.2.1 执行函数
14.2.2 函数参数传递
14.2.3 函数的返回值
14.2.4 载入函数
14.2.5 删除函数
14.3 函数的作用域
14.3.1 全局作用域
14.3.2 局部作用域
14.3.3 应用示例
14.4 函数的嵌套
14.5 函数的递归
第15章 Shell编程实例
15.1 判断文件类型
15.1.1 系统设计
15.1.2 代码实现
15.2 使用if语句编写选择菜单
15.2.1 系统设计
15.2.2 代码实现
15.3 使用while循环编写选择菜单
15.3.1 系统设计
15.3.2 代码实现
15.4 使用until循环编写选择菜单
15.4.1 系统设计
15.4.2 代码实现
15.5 对指定目录定时备份
15.5.1 系统设计
15.5.2 代码实现
15.6 连续对多个目录逐个备份
15.6.1 系统设计
15.6.2 代码实现
15.7 自动下载指定文档
15.7.1 系统设计
15.7.2 代码实现
15.8 自动上传指定文档
15.8.1 系统设计
15.8.2 代码实现
15.9 通过命令连续创建50个用户账号
15.9.1 系统设计
15.9.2 代码实现
15.10 通过操作文件创建多个用户
15.10.1 系统设计
15.10.2 代码实现
15.11 连续创建多个目录
15.11.1 系统设计
15.11.2 代码实现
15.12 检查系统资源使用情况
15.12.1 系统设计
15.12.2 代码实现
15.13 账户的一致性检查
15.13.1 系统设计
15.13.2 代码实现
15.14 文件类型转换
15.14.1 系统设计
15.14.2 代码实现
15.15 对输入的3个数字进行排序
15.15.1 系统设计
15.15.2 代码实现
15.16 计算奇数之和
15.17 使用select命令生成菜单
15.17.1 系统设计
15.17.2 代码实现
15.18 打印图形
15.18.1 系统设计
15.18.2 代码实现
15.19 处理压缩文件
15.19.1 系统设计
15.19.2 代码实现
15.20 数值进制转换
15.20.1 系统设计
15.20.2 代码实现
15.21 使用sed打印指定行
15.21.1 系统设计
15.21.2 代码实现
15.22 使用sed筛选普通文件
15.22.1 系统设计
15.22.2 代码实现
15.23 使用gawk反序输出各列
15.23.1 系统设计
15.23.2 代码实现
15.24 对文件进行大小写转换
15.24.1 系统设计
15.24.2 代码实现
15.25 统计文件中的文本信息
15.25.1 系统设计
15.25.2 代码实现
展开