捐赠?

Harley Hahn
个人主页

给 Harley
发送留言


来自 Harley Hahn 的
个人寄语

Unix 之书
主页

搜索

章节列表

目录

插图列表

各章...
   1   2   3
   4   5   6
   7   8   9
  10  11  12
  13  14  15
  16  17  18
  19  20  21
  22  23  24
  25  26

术语表

各附录...
  A  B  C
  D  E  F
  G  H

命令
摘要...

• 按字母顺序
• 按类别

Unix-Linux
年表

互联网
资源

错误与
勘误

推荐语


教师
与学生
资料...

主页
与概述

练习
与答案

Unix 模范
课程与
课程大纲

教师用
PowerPoint 文件

详细目录 (Detailed Table of Contents)

  来自 Harley Hahn 的个人寄语
  关于作者
  章节列表
  目录
  插图列表
  致教师的话
  致谢
第 1 章:   Unix 简介
为什么要使用 Unix?
Unix 语言
学习 Unix 的提示
不知不觉中使用着 Unix 的人们
知道自己在使用 Unix 的人们
如何充分利用本书
本书做出的假设
本书不做的前提假设
如何使用本书
第 2 章:   什么是 Unix?什么是 Linux?
什么是操作系统?
什么是内核?
Unix = 内核 + 实用工具
"Unix" 曾经是一个具体的名字
"Unix" 如今是一个通用的名字
自由软件基金会
《GNU 宣言》节选
GPL 与开源软件
20 世纪 70 年代的 Unix:从贝尔实验室到伯克利
20 世纪 80 年代的 Unix:BSD 与 System V
1991 年的 Unix:等待...
...等待意中人,Linus Torvalds
Linux 发行版
BSD 发行版
应该使用哪一种 Unix?
如何获得 Linux 或 FreeBSD?
什么是 Unix?什么是 Linux?
第 3 章:   Unix 连接
人、机器与外星人
从前,计算机贵得离谱
主机与终端
终端室与终端服务器
控制台
Unix 连接
没有控制台的主机
客户端/服务器的关系
按下按键时会发生什么?
字符终端与图形终端
第 4 章:   开始使用 Unix
系统管理员
用户名与密码
登录(开始你的 Unix 工作)
开始工作:Shell 提示符
注销(停止你的 Unix 工作):logout, exit, login
大写与小写
一个 Unix 工作会话示例
更改你的密码:passwd
如何选择密码;黑客与破解者
检查是否有人用过你的 Unix 账户: last
用户名与用户
超级用户的用户名: root
享受乐趣,同时注意计算安全
第 5 章:   GUIs:图形用户界面
什么是 GUI?
X Window
谁在主管 X Window?
抽象的层次
窗口管理器
桌面环境
抽象的层次:再论
Unix 公司是如何搞砸的
KDE 与 Gnome
CDE 与总拥有成本
选择桌面环境
祖母机
第 6 章:   Unix 工作环境
一次同时做多件事:第一部分
图形用户界面与命令行界面
用图形用户界面登录与注销
运行级别
Microsoft Windows 有运行级别吗?
学会使用图形用户界面
鼠标与菜单
窗口的调整、最小化、最大化与关闭
控制焦点:任务切换
多桌面 / 工作区
终端窗口
虚拟控制台
唯一的那个控制台
选择与插入
复制与粘贴
以超级用户身份工作: su
以超级用户身份输入单条命令:sudo
配置文件
查看配置文件的内容
关机与重启:init, reboot, shutdown
系统启动或停止时会发生什么?dmesg
一次同时做多件事:第二部分
第 7 章:   在 Unix 中使用键盘
最早的 Unix 终端
电传打字机与 Unix 文化
Termcap、Terminfo 与 curses
Unix 如何知道你用的是什么类型的终端?
修饰键;<Ctrl> 键
Unix 的键盘信号
打字时使用的信号:erasewerasekill
<Backspace> 与 <Delete> 的古怪之处
神秘的 ^H 事件
停止程序:intr
停止程序的另一种方式:quit
暂停显示:stopstart
文件结束信号:eof
Shell 与 eof 信号
Bash:捕获 eof 信号
Korn Shell:捕获 eof 信号
C-Shell:捕获 eof 信号
显示键位映射:stty -a
更改键位映射:stty
命令行编辑
Return 与 Linefeed
Newline 的重要性
^J 的一个重要用途:stty sanereset
程序员与公主的寓言
第 8 章:   立即可用的程序
在你的系统上找到程序:whichtypewhence
怎样停止一个程序?
显示时间和日期:date
显示日历:cal
Unix 的提醒服务:calendar
关于你系统的信息:uptimehostnameuname
关于你自己的信息:whoamiquota
关于其他用户的信息:userswhow
临时锁定你的终端:lock
让 Unix 提醒你什么时候该走:leave
一个内置计算器:bc
bc 做计算
bc 中使用变量
bc 使用不同的进制
逆波兰表示法
基于栈的计算器:dc
第 9 章:   文档:
Unix 手册与 Info
Unix 的自学传统
RTFM
什么是 Unix 手册?man
手册页
显示手册页
两种实用的手册页技巧
man 的替代选择:xman 与 Web
Unix 手册的组织方式
使用 man 命令时指定节号
手册页的引用方式
手册页的格式
快速了解命令功能的简便方法:whatis
搜索命令:apropos
Foo、Bar 与 Foobar
Info 系统
Info 与树
启动 Info:info
了解 Info
阅读 Info 文件
在节点之间跳转
第 10 章:   命令语法
Unix 的自学传统
一次输入多条命令
输入命令时会发生什么?
命令语法
选项
单横线选项与双横线选项
参数
空白符
一个或多个;零个或多个
命令的形式化描述:语法
从 Unix 手册中学习命令语法
这么多选项怎么学得完?
第 11 章:   Shell
什么是 Shell?
Bourne Shell 家族:sh, ksh, bash
C-Shell 家族:csh, tcsh
你应该使用哪个 Shell?
临时更改你的 Shell
密码文件;更改你的登录 Shell:chsh
第 12 章:   使用 Shell:变量与选项
交互式与非交互式 Shell
环境、进程与变量
环境变量与 Shell 变量
显示环境变量:env, printenv
显示 Shell 变量:set
显示并使用变量的值:echo, print
Bourne Shell 家族:使用变量:export, unset
C-Shell 家族:使用变量:setenv, unsetenv, set, unset
Shell 选项:set -o, set +o
显示 Shell 选项
机器可读,人可读
第 13 章:   使用 Shell:命令与定制
元字符
引用与转义
强引用与弱引用
Shell 内置的命令:type
了解内置命令
外部命令与搜索路径
修改你的搜索路径
黑客如何利用搜索路径
Shell 提示符
修改 Shell 提示符
使用变量的值
引用变量时该用哪种引号
使用转义字符的特殊代码
命令替换
键入命令并做出修改
历史列表:fchistory
历史列表:设置大小
历史列表示例:避免删错文件
在 Shell 提示符中显示事件编号与工作目录
自动补全
自动补全:超出基本用法
用自动补全获取乐趣与实惠
命令行编辑:bindkey
别名:aliasunalias
别名示例:避免删错文件
别名示例:复用历史列表中的命令
别名示例:在 Shell 提示符中显示工作目录名
暂时停用别名
第 14 章:   使用 Shell:初始化文件
初始化文件与注销文件
初始化文件与注销文件的名称
点文件与 rc 文件
使用一个简单的文本编辑器
登录 Shell 与非登录 Shell
初始化文件何时被执行?
Shell 初始化文件小史
你的初始化文件里该放什么
显示、创建和编辑你的初始化文件
Shell 脚本中的注释
Bourne Shell 家族:初始化文件示例
C-Shell 家族:初始化文件示例
第 15 章:   标准输入/输出、重定向与管道
Unix 哲学
新的 Unix 哲学
标准输入、标准输出与标准错误
重定向标准输出
防止重定向替换或创建文件
重定向标准输入
文件描述符;用 Bourne Shell 一族重定向标准错误
子 Shell
用 C-Shell 一族重定向标准错误
合并标准输出与标准错误
丢弃输出
重定向:小结与动手实验
管道线
拆分管道线:tee
管道线的重要性
条件执行
第 16 章:   过滤器:入门与基本操作
命令与选项的变体
过滤器
你该自己编写过滤器吗?
解决问题的过程
最简单的过滤器:cat
增强过滤器的功能
最实用的过滤器一览
合并文件:cat
拆分文件:split
合并文件并倒序排列行:tac
颠倒字符顺序:rev
选取数据开头或结尾的若干行:headtail
删除数据列:colrm
第 17 章:   过滤器:比较与提取
比较文件
比较任意两个文件: cmp
比较已排序的文本文件: comm
比较未排序的文本文件: diff
配合 diff 使用的选项
比较文件时的输出格式:diff, sdiff
差异与补丁
提取数据列: cut
记录、字段与分隔符;提取数据字段: cut
合并数据列: paste
第 18 章:   过滤器:计数与格式化
创建行号:nl
统计行、单词与字符:wc
Unix 如何使用制表符
查看制表符与空格
把制表符改为空格:expand
把空格改为制表符:unexpand
格式化行:fold
80 字符一行
格式化段落:fmt
打印的旧日时光
把文本格式化成分页:pr
把文本格式化成多栏:pr
第 19 章:   过滤器:选择、排序、
合并与修改
选择包含特定模式的行:grep
grep 最重要的几个选项
grep 的变体:fgrepegrep
选择以特定模式开头的行:look
什么时候用 look,什么时候用 grep?
找出所有以特定模式开头的词:look
给数据排序:sort
控制数据排序的依据:sort -dfn
检查数据是否已排序:sort -c
ASCII 码;排序序列
区域设置与排序序列
查找重复行:uniq
合并两个文件中已排序的数据:join
从偏序关系推出全序关系:tsort
在二进制文件中查找字符字符串:strings
转换字符:tr
转换不可打印的字符
转换字符:高级话题
非交互式文本编辑:sed
sed 做替换
sed 只处理指定的行
使用很长的 sed 命令
第 20 章:   正则表达式
正则表达式简介
正则表达式起源
基本正则表达式与扩展正则表达式
匹配行与单词
匹配字符;字符类
预定义字符类;范围
区域设置与排序序列: locale;ASCII 码
使用范围与预定义字符类
重复操作符
如何理解复杂的正则表达式
解答三个有趣的谜题;字典文件
第 21 章:   显示文件
用于显示文件的程序概览
less 简介:启动、退出与帮助
lessmore 的故事
使用 less
less 在文件中搜索
原始模式与规范模式
配合 less 使用的选项
何时用 less,何时用 cat
用环境变量定制你的分页器
less 显示多个文件
more 显示文件
显示文件的开头:head
显示文件的结尾:tail
监视不断增长的文件尾部:tail -f
二进制、八进制与十六进制
读写二进制、八进制与十六进制
为什么我们用十六进制而不是八进制
显示二进制文件:hexdumpod
为什么这么多计算机术语来自数学?
第 22 章:   vi 文本编辑器
为什么 vi 如此重要?
vi 简史
Vim:vi 的替代方案
启动 vi
启动 Vim:vim
命令模式与输入模式
知道自己处于哪种模式
以只读编辑器方式启动 vi:viewvi -R
系统故障后恢复数据
退出 vi
vi 如何使用屏幕
使用 viex 命令
学习 vi 命令的策略
创建练习文件
移动光标
在编辑缓冲区中移动
跳回先前的位置
搜索模式
使用行号
插入文本
修改文本
替换文本
删除文本
撤销或重复一次更改
找回删除的内容
移动文本
复制文本
改变字母的大小写
设置选项
显示选项
在输入时自动折行
折断行与合并行
复制与移动行
输入 Shell 命令
把文件中的数据插入编辑缓冲区
把 Shell 命令的输出插入编辑缓冲区
用程序处理数据:fmt
把数据写入文件
切换到新文件
使用缩写
初始化文件:.exrc.vimrc
使用两个初始化文件
学习使用 Vim
总有个中遗憾
第 23 章:   Unix 文件系统
什么是文件?
文件的类型
目录与子目录
特殊文件
用于硬件的特殊文件
用于终端的特殊文件:tty
用于伪设备的特殊文件
命名管道:mkfifo
Proc 文件
树形文件系统;文件系统层次标准
根目录;子目录
挂载文件系统:mount, umount
根目录巡礼
/usr 目录巡礼
为什么存放程序的目录不止一个?
主目录
虚拟文件系统
第 24 章:   处理目录
路径名与你的工作目录
绝对路径名与相对路径名
三个方便的路径名缩写:.. . ~
在目录树中移动:cd, pwd
创建新目录:mkdir
删除目录:rmdir
移动或重命名目录:mv
使用目录栈:pushd, popd, dirs
最重要的程序:ls
列出目录内容:ls -CrR1
排序序列、区域设置与 ls
辨别文件类型(一):ls -F
辨别文件类型(二):ls --color
辨别文件类型(三):file
跟踪你的磁盘空间使用情况:ls -hs, du, df, quota
文件有多大?块与分配单元:dumpe2fs
用通配符做路径名展开
点文件(隐藏文件):ls -a
长目录列表:ls -dhltu
使用 ls 的实用别名
显示目录树:tree
第 25 章:   文件操作
创建文件: touch
为文件命名
复制文件: cp
把文件复制到别的目录: cp
把一个目录复制到另一个目录: cp -r
移动文件: mv
重命名文件或目录: mv
删除文件: rm
如何避免删错文件: rm -if
删除整棵目录树: rm -r
已删除的文件有可能恢复吗?
文件权限
Setuid 权限
Unix 如何维护文件权限: id, groups
显示文件权限: ls -l
文件模式
修改文件权限: chmod
Unix 如何为新文件指派权限: umask
抹去文件的内容: shred
链接的概念: stat, ls -i
同一个文件的多个链接
创建新链接: ln
基本文件命令是如何工作的
符号链接: ln -s
在目录上使用符号链接
查找与某个 Unix 命令相关的文件: whereis
通过搜索数据库查找文件: locate
通过搜索目录树查找文件: find
find 命令:路径
find 命令:测试
find 命令:用 ! 运算符对测试取反
find 命令:处理文件权限错误消息
find 命令:动作
处理找到的文件: xargs
第 26 章:   进程与作业控制
内核如何管理进程
分叉不止,至死方休
孤儿进程与被遗弃的进程
区分父进程与子进程
最初的第一个进程: init
前台进程与后台进程
制造延迟: sleep
作业控制
在后台运行作业
挂起一个作业: fg
挂起一个 Shell: suspend
作业控制与多窗口
显示你的作业列表: jobs
把作业移到前台: fg
把作业移到后台: bg
学会使用 ps 程序
ps 程序:基本技能
ps 程序:选择选项
ps 程序:状态
监视系统进程: top, prstat
显示进程树: pstree, ptree
思考 Unix 如何组织进程与文件: fuser
终止一个进程: kill
向进程发送信号: kill
设置进程的优先级: nice
改变现有进程的优先级: renice
守护进程
上一章的结尾
附录 A   本书涵盖的 Unix 命令摘要
附录 B   按类别归类的 Unix 命令摘要
附录 C   vi 命令摘要
附录 D   ASCII 码
附录 E   忘记 root 密码时该怎么办
附录 F   时区与 24 小时制
附录 G   Shell 选项与 Shell 变量
附录 H   Unix/Linux 年表
  术语表
  练习与答案

索引   vi 文本编辑器速查索引
    总索引
    Unix 命令速查索引  [封底内]

跳至页首