UNIX 入门经典
内容简介:
Unix操作系统是目前一些常用平台(如Mac OS X 和Linux)的基础。本书将讨论Unix的基础知识以及日益流行的Sun Solaris和BSD平台的基础知识。 首先,读者将学习Unix术语、核心概念、方法以及怎样登陆和退出系统,然后开始定制工作环境并学习命令,最后将学习如何管理进程、处理安全事务、使用Perl脚本自动处理任务,以及如何安装Unix程序和备份数据等内容。 本书涵盖了Unix操作系统的各个方面的内容,其独特之处在于包含了Unix的派生系统和一个独有的转换章节,深入讨论了Unix的基础知识以及日益流行的Sun Solaris和BSD平台的基础知识。 本书适用于任何对Unix操作系统感兴趣的读者。虽然本书是一本入门级图书,但对于那些已经具有一定Unix知识的读者,仍颇具实用价值,另外,如果读者希望将Mac OS或Windows中的相关知识转换到Unix或其派生版本中,本书也可以作为一本优秀的参考手册。
目录:
第1章 Unix基础 1 1.1 简史 1 1.2 Unix的版本 1 1.3 操作系统组件 3 1.3.1 Unix内核 3 1.3.2 shell 4 1.3.3 其他组件 5 1.4 小结 5 第2章 起步 6 2.1 系统启动 6 2.2 登录和退出Unix 9 2.2.1 GUI登录 9 2.2.2 命令行登录 11 2.2.3 远程登录 13 2.2.4 shell 16 2.2.5 退出 16 2.3 关闭系统 16 2.4 使用联机帮助页 17 2.5 小结 19 第3章 用户和组 20 3.1 账户基础知识 20 3.1.1 根账户 20 3.1.2 系统账户 20 3.1.3 用户账户 21 3.1.4 组账户 21 3.2 管理用户和组 21 3.2.1 /etc/passwd 21 3.2.2 /etc/shadow 24 3.2.3 /etc/group 26 3.2.4 Mac OS X的不同之处 28 3.3 管理账户和组 29 3.3.1 账户管理 29 3.3.2 组管理 32 3.3.3 使用图形用户界面工具进行用户管理 32 3.4 变成另一个用户 34 3.5 与用户和组相关的命令 35 3.6 小结 37 3.7 练习 37 第4章 文件系统 38 4.1 文件系统基础 38 4.1.1 目录结构 39 4.1.2 根的基本目录 40 4.2 路径和大小写 41 4.3 文件系统导航 41 4.3.1 pwd 42 4.3.2 cd 42 4.3.3 which和whereis 43 4.3.4 find 44 4.3.5 file 44 4.3.6 ls 44 4.4 文件类型 46 4.5 链接 46 4.6 文件和目录权限 51 4.7 修改权限 52 4.7.1 以符号模式使用chmod 52 4.7.2 以绝对模式使用chmod 53 4.8 查看文件 54 4.9 创建、修改和删除文件 55 4.9.1 删除文件 55 4.9.2 创建和删除目录 56 4.10 基本的文件系统管理 57 4.11 使文件系统可访问 58 4.12 小结 61 4.13 练习 61 第5章 定制工作环境 62 5.1 环境变量 62 5.1.1 PS1变量 62 5.1.2 其他环境变量 63 5.2 路径 64 5.2.1 PATH环境变量 65 5.2.2 相对路径和绝对路径 66 5.2.3 切换文件系统 66 5.3 选择shell 67 5.3.1 临时修改shell 67 5.3.2 修改默认的shell 68 5.3.3 各种shell 68 5.4 配置shell 72 5.4.1 运行控制文件 73 5.4.2 环境变量 78 5.4.3 别名 80 5.4.4 选项 80 5.5 动态共享库路径 81 5.5.1 LD_LIBRARY_PATH 82 5.5.2 LD_DEBUG 82 5.6 小结 83 5.7 练习 83 第6章 深入Unix命令 84 6.1 命令的剖析 84 6.2 查找命令的相关信息 87 6.2.1 man 87 6.2.2 info 88 6.2.3 apropos 88 6.3 命令的修改 89 6.3.1 元字符 89 6.3.2 输入和输出重定向 90 6.3.3 管道 91 6.3.4 命令置换 92 6.4 操作文件和目录 93 6.4.1 ls 93 6.4.2 cd 94 6.5 常用的文件操作命令 94 6.5.1 cat 94 6.5.2 more/less 94 6.5.3 mv 95 6.5.4 cp 95 6.5.5 rm 95 6.5.6 touch 96 6.5.7 wc 96 6.6 文件所有权和权限 96 6.6.1 文件所有权 96 6.6.2 文件权限 97 6.6.3 umask 98 6.6.4 执行文件 99 6.7 保持文件系统配额 99 6.8 小结 101 6.9 练习 101 第7章 用vi编辑文件 102 7.1 使用vi 102 7.2 在文件中移动 104 7.3 搜索文件 108 7.4 退出并保存文件 109 7.5 编辑文件 110 7.5.1 删除字符 111 7.5.2 修改命令 113 7.5.3 高级命令 114 7.6 帮助 116 7.6.1 运行命令 117 7.6.2 替换文本 117 7.7 vi的版本 120 7.8 小结 121 7.9 练习 121 第8章 高级工具 122 8.1 正则表达式和元字符 122 8.1.1 理解元字符 123 8.1.2 正则表达式 127 8.2 使用SFTP和FTP 128 8.3 更高级的命令 132 8.3.1 grep 132 8.3.2 find 133 8.3.3 sort 134 8.3.4 tee 136 8.3.5 script 136 8.3.6 wc 136 8.4 小结 137 8.5 习题 137 第9章 高级Unix命令:Sed和AWK 138 9.1 sed 138 9.1.1 使用-e选项 140 9.1.2 sed文件 140 9.1.3 sed命令 142 9.2 AWK 143 9.2.1 用AWK提取数据 144 9.2.2 使用模式 145 9.3 利用AWK编程 146 9.4 小结 148 9.5 练习 148 第10章 作业控制和进程管理 149 10.1 进程 149 10.2 shell脚本 150 10.3 正在运行的进程 151 10.3.1 ps语法 152 10.3.2 进程状态 152 10.4 系统进程 153 10.5 进程属性 156 10.6 停止进程 156 10.6.1 进程树 158 10.6.2 僵死进程 159 10.7 top命令 159 10.8 /proc文件系统 161 10.9 SETUID和SETGID 162 10.10 shell作业控制 163 10.11 小结 165 第11章 在指定时间运行程序 166 11.1 系统时钟 166 11.1.1 使用date检查和设置系统时钟 167 11.1.2 在Linux上利用hwclock同步时钟 167 11.1.3 利用NTP同步系统时钟 168 11.2 安排将来运行的命令 168 11.2.1 利用cron执行程序 169 11.2.2 使用at命令进行一次性执行 174 11.3 小结 177 11.4 练习 177 第12章 安全性 178 12.1 安全性的基础知识 178 12.1.1 资产价值保护 178 12.1.2 潜在的问题 179 12.2 保护Unix系统 180 12.2.1 口令的安全性 180 12.2.2 口令破译程序 181 12.3 限制管理访问 181 12.3.1 UID 0 181 12.3.2 根用户管理选项 182 12.3.3 设置sudo 183 12.4 系统管理的预防性任务 185 12.4.1 删除不需要的账户 185 12.4.2 修补、限制或删除程序 186 12.4.3 禁用不需要的服务 186 12.4.4 监控并限制对服务的访问 187 12.4.5 实现内置防火墙 188 12.4.6 其他的安全程序 188 12.5 小结 188 12.6 练习 189 第13章 基本shell脚本编程 190 13.1 注释脚本 190 13.2 开始脚本编程 192 13.2.1 调用shell 192 13.2.2 变量 193 13.2.3 从键盘读取输入 194 13.2.4 特殊变量 194 13.2.5 退出状态 195 13.3 流程控制 195 13.3.1 条件流程控制 195 13.3.2 迭代流程控制 201 13.4 选择脚本编程shell 202 13.5 小结 202 13.6 练习 203 第14章 高级shell脚本编程 204 14.1 高级脚本编程的概念 204 14.1.1 输入和输出重定向 205 14.1.2 命令替换:反引号和圆括号扩展 206 14.1.3 使用环境变量和shell变量 207 14.2 shell函数 208 14.2.1 返回值 209 14.2.2 嵌套函数和递归 209 14.2.3 作用域 210 14.2.4 函数库 212 14.2.5 信号和陷阱 214 14.2.6 文件处理 214 14.2.7 数组 217 14.3 shell的安全性 219 14.3.1 攻击可能来自何处 220 14.3.2 采取预防措施 220 14.3.3 受限shell 220 14.4 系统管理 222 14.4.1 收集信息 222 14.4.2 执行任务 223 14.4.3 调试脚本 224 14.5 小结 225 14.6 练习 225 第15章 系统日志 226 15.1 日志文件 226 15.2 syslogd 226 15.2.1 syslog.conf 227 15.2.2 消息 230 15.2.3 日志记录器 231 15.3 轮循日志 231 15.4 监视系统日志 232 15.4.1 logwatch 232 15.4.2 swatch 234 15.5 小结 236 15.6 练习 236 第16章 Unix网络互联 237 16.1 TCP/IP 237 16.1.1 TCP 237 16.1.2 IP 238 16.1.3 与TCP/IP一起使用的其他协议 238 16.1.4 网络地址、子网、子网掩码和TCP/IP路由选择 240 16.2 为Unix系统设置TCP/IP网络 243 16.2.1 TCP/IP网络请求配置 243 16.2.2 动态设置 245 16.2.3 发送TCP/IP网络请求 246 16.2.4 回应TCP/IP网络请求 248 16.2.5 inetd 249 16.3 网络管理工具 251 16.3.1 通过Traceroute跟踪网络的性能 251 16.3.2 防火墙 252 16.3.3 例行检查网络延迟 253 16.4 小结 255 16.5 练习 255 第17章 Perl编程实现Unix自动化 256 17.1 Perl的优点 257 17.2 一些有用的Perl命令 258 17.2.1 变量 258 17.2.2 运算符 259 17.2.3 基本函数 259 17.3 更多Perl代码的示例 265 17.4 检修Perl脚本 269 17.5 小结 272 17.6 练习 272 第18章 备份工具 273 18.1 备份基础知识 273 18.1.1 决定备份什么数据 273 18.1.2 备份介质类型 274 18.1.3 备份类型 275 18.1.4 备份时间 275 18.1.5 验证备份 276 18.1.6 保存备份 276 18.2 备份命令 276 18.2.1 tar 277 18.2.2 使用gzip和bzip2压缩 279 18.2.3 cpio 283 18.2.4 dump、backup和restore 284 18.2.5 其他备份命令 289 18.3 备份套件 289 18.4 小结 289 18.5 练习 289 第19章 从源代码安装软件 290 19.1 源代码 290 19.2 开放源代码许可证 291 19.2.1 BSD许可证 291 19.2.2 GNU公共许可证 292 19.3 寻找和下载Unix软件 292 19.3.1 选择软件 292 19.3.2 下载文件 293 19.3.3 验证源代码 294 19.4 编译和安装 296 19.4.1 提取文件 297 19.4.2 开始编译 297 19.5 make、Makefile和make目标 304 19.5.1 Makefile 304 19.5.2 帮助创建Makefile的工具 306 19.5.3 GNU编译工具 307 19.5.4 diff和patch 308 19.6 利于维护的安装技术 309 19.7 排查编译问题 311 19.8 预编译软件包 311 19.9 小结 313 19.10 练习 313 第20章 转换:适用于Mac OS用户的Unix 315 20.1 Mac OS X简史 315 20.2 Mac OS 9与Mac OS X之间的差别 316 20.3 文件夹也是目录 317 20.3.1 必需的文件夹 317 20.3.2 主目录 319 20.3.3 管理 321 20.3.4 预置文件 321 20.4 Unix和Mac OS X/Mac OS 9命令与GUI的对等命令 322 20.5 Mac OS X和其他Unix系统之间的差别 324 20.5.1 目录服务和NetInfo 324 20.5.2 nidump和niload 325 20.5.3 NetInfo数据库的备份和恢复 327 20.5.4 系统启动 327 20.5.5 文件结构上的差别 327 20.5.6 根用户账户 328 20.6 小结 329 20.7 练习 329 第21章 转换:适用于Windows用户的Unix 330 21.1 结构上的比较 330 21.2 主要管理工具之间的比较 334 21.3 流行应用程序的比较 335 21.4 在Windows中使用Unix 337 21.5 在Unix中使用Windows 344 21.6 小结 344 附录A 练习题答案 345 附录B 一些有用的Unix网站 354
评论