Unix & Linux大学教程
✍ Scribed by 哈恩
- Publisher
- 清华大学出版社
- Year
- 2010
- Tongue
- Chinese
- Leaves
- 832
- Series
- 国外经典教材·计算机科学与技术
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
本书作者HarleyHahn从20世纪80年代开始,亲身体验了几平整个UDIX以及Linux操作系统的发展历史。他所著的Unix和Linux教程,秉承了他的一贯风格,幽默风趣而又知识渊博。在本书中,不仅可以全面学习到Unix和Linux操作系统的工作原理和主要命令,还可以知晓Unix和Linux发展史上的许多奇闻趣事。 另外,本书还解释了622个Unix专业术语,许多术语都给出了其历史来源;书中的示例涵盖了Linux、FreeBSD和Solaris等不同类型的操作系统;全书详细阐述了各种shell的异同并用示例加以说明。
✦ Table of Contents
第1章 Unix简介
1.1 使用Unix的原因
1.2 Unix语言
1.3 Unix学习提示
1.4 不知道正在使用Unix的人
1.5 知道正在使用Unix的人
1.6 从本书获取最多的知识
1.7 本书所做的假定
1.8 本书未做 的假定
1.9 本书使用方法
1.10 练习
第2章 什么是Linux?什么是Unix
2.1 什么是操作系统
2.2 什么是内核
2.3 Unix=内核+使用工具股
2.4 "Unix"曾经是一个专用名称
2.5 "Unix"现在是一个通用名称
2.6 自由软件基金会
2.7 GNU宣言摘录
2.8 GPL和开放源代码软件
2.9 20世纪70年代的Unix:由贝尔实验室转向Berkeley
2.10 20世纪80年代的Unix:BSD和system V
2.11 1991年的Unix:等在中
2.12 真命天子:Linus Torvalds
2.13 Linux发行版
2.14 BSD发行版
2.15 你应该使用什么类型的Unix
2.16 获取Linux或者FreeBSD的方式
2.17 什么是Unix,什么是Linux
2.18 练习
第3章 Unix链接
3.1 人、机器和外星人
3.2 价格昂贵的早期计算机
3.3 主机和终端
3.4 终端室和终端服务器
3.5 控制台
3.6 Unix连接
3.7 没有控制台的主机
3.8 客户端/服务器关系
3.9 按下键时发生的事情
3.10 字符终端盒图形终端
3.11 最常见类型的终端
3.12 练习
第4章 开始使用Unix
4.1 系统管理员
4.2 用户标识和口令
4.3 登陆
4.4 登陆之后发生的事情
4.5 着手工作:shell提示
4.6 注销:logout、exit、login
4.7 大写字母和小写字母
4.8 Unix会话样本
4.9 改变口令:passwd
4.10 口令选择
4.11 检查他人是否使用过您的Unix账户:last
4.12 用户标识和用户
4.13 超级用户的用户标识
4.14 安全计算实践中体验快乐
4.15 练习
第5章 GUI图形用户界面
5.1 什么是GUI
5.2 X Window
5.3 谁负责X Window
5.4 抽象层次
5.5 窗口管理器
5.6 桌面环境
5.7 抽象层次:继续
5.8 Unix公司如何发展图形界面
5.9 KDE和Gnome
5.10 CDE和总拥有成本
5.11 桌面环境的选择
5.12 祖母机器
5.13 练习
第6章 Unix工作环境
6.1 同时做不止一件事情:I
6.2 GUI和CLI
6.3 使用GUI登陆和注销
6.4 运行级别
6.5 Microsoft Windows的运行级别
6.6 学习使用GUI
6.7 鼠标和菜单
6.8 调整大小、最小化、最大化
6.9 控制焦点:任务切换
6.10 多桌面工作空间
6.11 终端窗口
6.12 虚拟控制台
6.13 唯一的控制台
6.14 选择与插入
6.15 复制和黏贴
6.16 用超级用户工作:su
6.17 以超级用户执行一条单独的命令:sudo
6.18 配置文件
6.19 浏览配置文件
6.20 系统关闭与重启启动:init、reboot、shutdown
6.21 系统启动或者停止时发生了什么?dmesg
6.22 同时做不止一件事情:II
6.23 练习
第7章 Uinux键盘使用
7.1 最初的Unix终端
7.2 Teletype和Unix文化
7.3Termcap、Terminfo与curses
7.4 Unix如何知道所使用终端的类型
7.5 修饰键:
7.6 Unix键盘信号
7.7 键入过程中使用的信号
7.8
7.9 神奇字符^H
7.10 停止程序:intr
7.11 另一个停止程序的方法:quit
7.12 暂停显示:stop、start
7.13 文件结束信号eof
7.14 shell和eof信号
7.15 Bash:封闭eof信号
7.16 Korn Shell:封闭eof信号
7.17 C-shell:封闭eof信号
7.18 显示键映射:stty -a
7.19 修改键映射:stty
7.20 命令行编辑
7.21 返回和换行
7.22 新行字符的重要性
7.23 ^J的一个重要用途:stty sane、reset
7.24 程序员和工作的神话
7.25 练习
第8章 能够立即使用的程序
8.1 在系统中查找程序:which,type,whence
8.2 如何停止程序
8.3 显示时间和日期:date
8.4 显示日历:cal
8.5 Unix提醒服务:calendar
8.6 查看系统信息:uptime,hostname,uname
8.7 显示自己的信息:whoami、quota
8.8 显示其他用户的信息:users、who、w
8.9 终端临时上锁:lock
8.10 请求Unix提醒何时离开:leave
8.11 内置计算器:bc
8.12 使用bc可进行计算
8.13 在bc使用变量
8.14 在bc中使用不同的基
8.15 逆波兰表示法
8.16 基于栈的计算机:dc
8.17 练习
第9章 文档资料:Unix手册与info
9.1 Unix传统和自学
9.2 RTFM
9.3 什么Unix手册?man
9.4 说明书页
9.5 显示说明书页
9.6 两个有用的说明书页技术
9.7 man的备选方案:xman和Web
9.8 Unix手册的组织方式
9.9 在man命令指定节号
9.10 说明书页的引用方式
9.11 说明书页的格式
9.12 一种快速查询命令作用的方法:whatis
9.13 搜索命令:apropos
9.14 foo、bar和foobar
9.15 info系统
9.16 info和树
9.17 启动inof:info
9.18 学习info
9.19 阅读info文件
9.20 从一个节点跳转到另一个节点
9.21 练习
第10章命令语法
10.1 一次输入多条命令
10.2 输入命令时发生了什么事情
10.3 命令语法
10.4 选项
10.5 -选项--选项
10.6 参数
10.7 空白符
10.8 一个或者多个:零个或多个
10.9 命令的形式描述:语法
10.10 使用Unix手册学习
10.11 如何学习众多的选项
10.12 练习
第11章 Shell
11.1 什么是shell
11.2 Bourne Shell家族:sh,ksh,bash
11.3 C-Shell家族:csh、tcsh
11.4 应该使用哪种shell
11.5 临时改变shell
11.6 口令文件,改变登陆shell:chsh
11.7 练习
第12章 使用shell:变量和选项
12.1 交互shell和非交互式shell
12.2 环境、进程和变量
12.3 环境变量和shell变量
12.4 显示环境变量:env,printenv
12.5 显示shell变量:set
12.6 显示及使用变量的值:echo,print
12.7 Bourme shell家族使用变量:export,unset
12.8 C-Shell家族使用变量:setenv,unsetenv,set,unset
12.9 shell选项:set -o,set +o
12.10 显示shell选项
12.11 机器可读、人类可读
12.12 练习
第13章 使用shell:命令和定制
13.1 元字符
13.2 引用和转义
13.3 强引用和弱引用
13.4 shell内置命令:type
13.5 学习内部命令
13.6 外部命令及搜索路径
13.7 修改搜索路径
13.8 黑客如何使用搜索路径
13.9 shell提示
13.10 修改shell提示
13.11 使用变量的值
13.12 引用变量时使用哪类引号
13.13 使用转义字符的特殊码
13.14 命令替换
13.15 键入命令并进行修改
13.16 历史列表:fc,history
13.17 历史列表:设置大小
13.18 历史列表示例:别名删错文件
13.19 在shell提示中显示事件编号&工作目录
13.20 自动补全
13.21 自动补全:高级应用
13.22 为好玩儿和赌注使用自动补全
13.23 命令行编辑:bindkey
13.24 别名:alias,unalias
13.25 临时挂起别名
13.26 别名示例:避免删错文件
13.27 别名示例:从历史列表中重用命令
13.28 别名示例:在shell提示中显示工作目录名称
13.29 练习
第14章 使用shell:初始化文件
14.1 初始化文件盒注销文件
14.2 初始化文件和注销文件的名称
14.3 点文件和rc文件
14.4 使用简单的文本编辑器
14.5 登陆shell和非登陆shell
14.6 何时执行初始化文件
14.7 shell初始化文件的历史简介
14.8 初始化文件中放置了什么
14.9 显示、创建及编辑初始化文件
14.10 shell脚本注释
14.11 Bourne Shell家族:初始化文件示例
14.12 C-Shell家族:初始化文件示例
14.13 练习
第15章 标准I/O:重定向和管道
15.1 Unix设计准则
15.2 Unix新设计准则
15.3 标准输入、标准输出、标准错误
15.4 重定向标准输出
15.5 防止文件被重定向替换或创建
15.6 重定向标准输入
15.7 文件描述符、bourne shell家族重定向标准错误
15.8 子shell
15.9 在C-shell家族中重定向标准错误
15.10 组合标准输出和标准错误
15.11 抛出输出
15.12 重定向:小结和体验
15.13 管道线
15.14 管道线分流:tee
15.15 管道线的重要性
15.16 条件执行
15.17 练习
第16章 过滤器:简介和基本操作
16.1 命令和选项变体
16.2 过滤器
16.3 是否应该创建自己的过滤器
16.4 问题解决过程
16.5 可能最简单的过滤器:cat
16.6 增强过滤器的功能
16.7 最有用的过滤器列表
16.8 组合文件:cat
16.9 划分文件:split
16.10 组合文件时反转文本行顺序:tac
16.11 反转字符的顺序:rev
16.12 从数据开头或者末尾选择数据行:head、tail
16.13 删除数据列:colrm
16.14 练习
第17章
17.1 比较文件
17.2 比较任意两个文件:cmp
17.3 比较无序文本文件:comm
17.4 比较无序文本文件:diff
17.5 diff使用的选项
17.6 比较文件时的输出格式:diff,sdiff
17.7 差分和补丁
17.8 抽取数据列:cut
17.9 记录、字段和定界符:抽取数据字段cut
17.10 组合数据列:paste
17.11 练习
第18章
18.1 创建行号:nl
18.2 统计行、单词和字符数量:wc
18.3 Unix使用制表符的方式
18.4 可视化制表符和空格
18.5 将制表符转换成空格:expand
18.6 将空格转换制表符:unexpand
18.7 格式化:fold
18.8 80字符行
18.9 格式化段落:fmt
18.10 打印的旧时代
18.11 按页格式化文本:pr
18.12 按列格式化文本:pr
18.13 练习
第19章 过滤器:选取、排序、组合及变换
19.1 选取包括特定模式的行:grep
19.2 最重要的grep选项
19.3 grep的变体:fgrep,egrep
19.4 选择以特定模式开头的行:look
19.5 使用look和grep的时机
19.6 查找以特定模式开头的所有单词:look
19.7 排序数据:sort
19.8 控制数据排序的顺序:sort -dfn
19.9 检查数据是否有效:sort -c
19.10 ASCII码:排序序列
19.11 区域设置和排序序列
19.12 查找重复行:uniq
19.13 合并两个文件中的有序数据:join
19.14 由偏序创建全序:tsort
19.15 在二进制文件中搜索字符串:string
19.16 转换字符:tr
19.17 转换不可显示的字符
19.18 转换字符:高级话题
19.19 非交互式文本编辑:sed
19.20 使用sed进行替换
19.21 告诉sed只对制定行进行操作
19.22 使用非常长的sed命令
19.23 练习
第20章 正则表达式
20.1 正则表达式简介
20.2 正则表达式起源
20.3 基本和扩展正则表达式
20.4 匹配行很单词
20.5 匹配字符:字符类
20.6 预定字符类:范围
20.7 区域设置和排序序列:local;ASCII码
20.8 使用范围和预定义字符类
20.9 重复运算符
20.10 理解复杂正则表达式的方式
20.11 解决3个有趣的难题:字典文件
20.12 练习
第21章 显示文件
21.1 文件显示程序综述
21.2 less简介:启动、停止、帮助
21.3 less和more的故事
21.4 使用less
21.5 使用less在文件中搜索
21.6 原始模式和成熟模式
21.7 less使用选项
21.8 使用less和cat的时机
21.9 使用环境变量定制分页程序
21.10 使用less显示多个文件
21.11 使用more显示文件
21.12 显示文件的开头:head
21.13 显示文件的末尾:tail
21.14 观察不断增长的文件的末尾:tail -f
21.15 二进制、八进制和十六进制
21.16 二进制、八进制和十六进制的读取和写入
21.17 选择使用十六进制而不是八进制的原因
21.18 显示二进制文件:hexdump、od
21.19 众多计算机术语来自数学的原因
21.20 练习
第22章 vi文本编辑器
第23章 Unix文件系统
23.1 什么是文件
23.2 文件类型
23.3 目录和子目录
23.4 特殊文件
23.5 硬件特殊文件
23.6 终端特殊文件:tty
23.7 伪设备特殊文件
23.8 命名管道:mkfifo
23.9 proc文件
23.10 树形结构文件系统:文件系统层次结构标准
23.11 根目录:子目录
23.12 挂载文件系统:mount、umount
23.13 漫游根目录
23.14 漫游/usr 目录
23.15 使用多个目录存放程序的原因
23.16 home目录
23.17 虚拟文件系统
23.18 练习
第24章 目录操作
第25章 文件操作
第26章 进程和作业控制
26.1 内核管理进程的方式
26.2 进程分叉到死亡
26.3 孤儿进程和废弃进程
26.4 区别父进程和子进程
26.5 第一个进程:init
26.6 前台进程和后台进程
26.7 创建延迟:sleep
26.8 作业控制
26.9 在后台运行作业
26.10 挂起作业:fg
26.11 挂起shell:suspend
26.12 作业控制与多窗口
26.13 显示作业列表:jobs
26.14 将作业移至前台:fg
26.15 将作业移至后台:bg
26.16 学习使用ps程序
26.17 ps程序:基本技能
26.18 ps程序:选择选项
26.19 ps程序:状态
26.20 监视系统进程:top,prstat
26.21 显示进程数:pstree,ptree
26.22 思考Unix如何组织进程和文件:fusr
26.23 杀死进程:kill
26.24 向进程发送信号:kill
26.25 设置进程的优先级:nice
26.26 改变现有进程的优先级renice
26.27 守护进程
26.28 结束语
26.29 练习
附录A Unix命令一览表
附录B Unix命令分类表
附录C vi命令小结
附录D ASCII码
附录E 忘记root口令的处理方法
附录F 时区与24小时制时间
附录G shell选项和shell变量
术语表
📜 SIMILAR VOLUMES
操作系统是计算机最重要的系统软件。Unix操作系统历经了几十年,至今仍是主流的操作系统。本书通过解释Unix的工作原理,循序渐进地讲解实现Unix中系统命令的方法,让读者理解并逐步精通Unix系统编程,进而具有编制Unix应用程序的能力。书中采用启发式、举一反三、图示讲解等多种方法讲授,语言生动、结构合理、易于理解。每一章后均附有大量的习题和编程练习,以供参考。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,亦可作为有一定系统编程基础的开发人员的自学教材和参考手册。