当前位置:首页 > 工业技术
鸟哥的Linux私房菜 基础学习篇  第2版
鸟哥的Linux私房菜 基础学习篇  第2版

鸟哥的Linux私房菜 基础学习篇 第2版PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:鸟哥编著;许伟,林彩娥改编
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:7115162212
  • 页数:571 页
图书介绍:本书全面而详细地介绍Linux操作系统。全书分为5个部分:第一部分着重说明Linux的起源及功能,如何规划和安装Linux主机;第二部分讲解Linux的文件系统、文件、目录与磁盘的管理;在第三部分中,将学习文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全非常重要的Linux账号的管理,以及主机系统与程序的管理,如查看进程、任务分配和作业管理;第五部分说明系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份,核心的管理,等等。本书内容丰富全面,基本概念的讲解非常细致,深入浅出。各种功能和命令的介绍,都配以大量的实例操作和详尽的解析,是学习Linux不可多得的一本好书。
《鸟哥的Linux私房菜 基础学习篇 第2版》目录

第一部分 认识Linux及Linux主机规划与安装第1章 什么是Linux 2

1.1 什么是Linux 3

1.1.1 计算机:计算的辅助工具 3

1.1.2 什么是操作系统 3

1.1.3 Linux之前UNIX的历史 5

1.1.4 关于GNU计划 9

1.2 Torvalds的Linux开发 11

1.2.1 与Minix之间 11

1.2.2 386硬件的多任务测试 11

1.2.3 初次发布Linux 0.02 12

1.2.4 Linux的开发:虚拟团队的产生 13

1.2.5 Linux版本 14

1.3 Linux的特性 15

1.3.1 Linux的特性 16

1.3.2 Linux的优缺点 16

1.3.3 其他相关信息 17

1.4 习题 18

1.5 参考资料 19

第2章 如何学习Linux 20

2.1 Linux的应用 21

2.2 基础学习 22

2.2.1 从头学习 22

2.2.2 选择工具书 23

2.2.3 实践再实践 23

2.3 学习方法 23

2.3.1 X Window还是命令行 24

2.3.2 主机/网络数据查询 24

2.3.3 向别人提问 25

2.3.4 笔者的建议 25

2.4 习题 26

第3章 Linux主机的规划 27

3.1 认识主机硬件组件 28

3.1.1 认识计算机的硬件配置 28

3.1.2 选择适合Linux系统的主机配置 33

3.1.3 Linux中的硬件设备号 35

3.2 安装Linux前的规划 36

3.2.1 选择适当的版本 36

3.2.2 主机服务规划与硬件的关系 37

3.2.3 主机硬盘的主要规划 38

3.2.4 练习机的安装建议 39

3.3 实际案例 39

3.4 习题 40

3.5 参考资料 41

第4章 安装FC4与多重启动技巧 42

4.1 安装Linux的第一步:规划 43

4.1.1 练习机的规划 43

4.1.2 硬盘连接与硬盘号 44

4.1.3 识别硬盘分区 45

4.1.4 Linux安装模式中硬盘分区的选择(极重要) 46

4.2 开始安装Fedora Core Release Ⅳ 47

4.2.1 选择启动顺序并启动 47

4.2.2 选择安装模式 48

4.2.3 选择安装程序的语系与键盘配置 49

4.2.4 安装的系统类型与磁盘分区 51

4.2.5 选择引导程序 56

4.2.6 设置网络与防火墙 56

4.2.7 选择时区与设置root密码 58

4.2.8 选择软件包 59

4.2.9 其他注意事项 62

4.3 多重启动安装流程与技巧 62

4.4 大硬盘导致无法启动的问题 64

4.5 习题 64

第5章 启动关机、在线求助与执行命令的方式 65

5.1 首次登入系统 66

5.1.1 首次登入FC图形界面 66

5.1.2 KDE的简单操作 73

5.1.3 切换X Window与命令行模式 76

5.2 用命令行模式登入Linux 76

5.3 在命令行模式执行命令 77

5.3.1 开始执行命令 78

5.3.2 基础命令操作 79

5.3.3 重要的热键[Tab]、[Ctrl]-c、[Ctrl]-d 81

5.3.4 查看错误信息 82

5.4 在线帮助:man page/info page 83

5.4.1 man page 83

5.4.2 info page 87

5.4.3 其他有用的文档 88

5.5 正确的关机方法(shutdown、reboot、init、halt) 89

5.5.1 数据同步写入磁盘:sync 89

5.5.2 常用的关机命令:shutdown 90

5.5.3 重新启动和关机:reboot、halt、poweroff 90

5.6 启动过程的故障排除 91

5.6.1 扇区错乱的问题 91

5.6.2 忘记root密码 92

5.7 习题 92

第二部分 Linux文件、目录与磁盘格式第6章 Linux的文件属性与目录配置 95

6.1 用户与用户组 96

6.2 Linux文件权限 97

6.2.1 Linux文件属性 97

6.2.2 更改文件权限 100

6.2.3 目录属性的意义 103

6.2.4 Linux文件类型与扩展名 104

6.3 Linux目录配置 106

6.3.1 Linux目录配置标准FHS 106

6.3.2 目录配置的内容 107

6.3.3 特殊目录 111

6.3.4 一般主机分区与目录的配置 111

6.4 Linux支持的文件系统 112

6.5 参考资料 113

6.6 习题 113

第7章 Linux文件和目录管理 114

7.1 目录与路径 115

7.1.1 相对路径与绝对路径 115

7.1.2 目录的相关操作 115

7.1.3 执行文件路径的变量:$PATH 118

7.2 管理文件与目录 118

7.2.1 查看文件和目录:ls 119

7.2.2 复制、移动和删除:cp、rm、mv 120

7.2.3 获取路径的文件名与目录名 123

7.3 查看文件内容 124

7.3.1 直接查看文件内容 124

7.3.2 翻页查看 126

7.3.3 数据选取 127

7.3.4 非纯文本文件:od 128

7.3.5 修改文件时间与创建新文件:touch 128

7.4 文件与目录的默认权限与隐藏权限 130

7.4.1 文件默认权限:umask 131

7.4.2 文件隐藏属性 132

7.4.3 文件特殊权限:SUID/SGID/Sticky Bit 133

7.4.4 文件类型:file 135

7.5 搜索文件 135

7.6 习题 138

第8章 Linux磁盘与文件系统管理 140

8.1 认识EXT2文件系统 141

8.1.1 硬盘物理组成 141

8.1.2 分区 142

8.1.3 文件系统 142

8.1.4 Linux的EXT2文件系统(inode) 143

8.1.5 EXT2/EXT3文件的访问与日志文件系统的功能 145

8.1.6 Linux文件系统的运行 148

8.1.7 载入点 148

8.1.8 Linux支持的其他文件系统 148

8.2 文件系统的简单操作 149

8.2.1 磁盘与目录的容量 149

8.2.2 连接文件:ln 152

8.3 磁盘的分区、格式化、检验与载入 154

8.3.1 分区:fdisk 155

8.3.2 磁盘格式化 159

8.3.3 磁盘检验:fsck、badblocks 160

8.3.4 磁盘载入与卸载 162

8.3.5 修改磁盘参数 164

8.4 设置启动载入 167

8.4.1 载入磁盘、中文编码和U盘 167

8.4.2 启动载入/etc/fstab和/etc/mtab 168

8.5 建立虚拟内存 170

8.5.1 建立虚拟内存设备 170

8.5.2 建立虚拟内存文件 171

8.6 参考资料 172

8.7 习题 172

第9章 文件的压缩与打包 173

9.1 压缩文件的用途与技术 174

9.2 Linux系统常见的压缩命令 175

9.2.1 compress 175

9.2.2 gzip、zcat 176

9.2.3 bzip2、bzcat 177

9.2.4 tar 177

9.2.5 dd 179

9.2.6 cpio 180

第三部分 学习Shell和Shell脚本 183

第10章 vi文字处理器 183

10.1 vi与vim 184

10.2 vi的使用 184

10.2.1 简单执行范例 185

10.2.2 命令行内容说明 186

10.2.3 案例练习 190

10.2.4 文件的恢复与暂存盘 190

10.3 vim的附加功能 191

10.3.1 块选择(Visual Block) 191

10.3.2 多文件编辑 192

10.3.3 多窗口功能 193

10.3.4 vim环境设置 194

10.4 使用vi进行编辑的练习 195

10.5 DOS与Linux的换行符 196

10.6 本章与LPI的关系 196

10.7 参考资料 197

10.8 习题 197

第11章 认识Bash Shell 198

11.1 Bash Shell 199

11.1.1 什么是Shell 199

11.1.2 系统的shell与/etc/shells功能 200

11.1.3 Bash Shell的功能 201

11.1.4 Bash Shell的内置命令:type 202

11.1.5 执行命令 203

11.2 Shell的变量功能 204

11.2.1 变量的获取与设置:echo、变量设置规则、unset 205

11.2.2 变量的用途 207

11.2.3 环境变量的功能 208

11.2.4 语系文件的变量(locale) 211

11.2.5 变量的有效范围 213

11.2.6 变量键盘读取、数组与声明:read、array、declare 213

11.2.7 与文件系统及程序的限制关系:ulimit 215

11.2.8 附加的变量设置功能 215

11.3 命令别名与历史命令 217

11.3.1 命令别名设置:alias、unalias 217

11.3.2 历史命令:history 218

11.4 Bash Shell使用环境 220

11.4.1 绝对路径与相对路径 220

11.4.2 登录消息显示数据:/etc/issue、/etc/motd 221

11.4.3 环境设置文件:bashrc、~/.bashrc、~/.profile、profile...、/etc/inputrc、source 222

11.4.4 终端的环境设置:stty、set 224

11.4.5 通配符与特殊符号 226

11.4.6 数据流重导向 228

11.4.7 什么是数据流重导向 228

11.4.8 命令执行的判断根据:;、&&、丨丨 231

11.5 管道命令(pipe) 232

11.5.1 选取命令:cut、grep 232

11.5.2 排序命令:sort、wc、uniq 234

11.5.3 双向重导向:tee 236

11.5.4 字符转换命令:tr、col、join、paste、expand 236

11.5.5 拆分命令:split 239

11.5.6 参数代换:xargs 240

11.5.7 减号(-)的用途 241

11.6 参考资料 241

11.7 习题 241

第12章 正则表达式 242

12.1 简介 243

12.1.1 什么是正则表达式 243

12.1.2 系统管理员使用正则表达式 243

12.1.3 正则表达式的广泛用途 243

12.1.4 正则表达式与Shell在Linux中的角色定位 244

12.1.5 扩展的正则表达式 244

12.2 基础正则表达式 244

12.2.1 通过grep选取字符串 244

12.2.2 重要特殊字符(characters) 250

12.3 扩展正则表达式 251

12.4 格式化显示:printf 252

12.5 sed工具简介 254

12.6 awk工具简介 255

12.7 文件数据比较与显示的相关功能 258

12.7.1 文件比较 258

12.7.2 文件打印准备:pr 260

12.8 重点回顾 261

12.9 参考资料 261

12.10 习题 261

第13章 学习Shell脚本 262

13.1 什么是Shell脚本 263

13.1.1 为什么学习Shell脚本 263

13.1.2 第一个脚本的编写与执行 264

13.1.3 编写Shell脚本的良好习惯 265

13.2 简单的Shell脚本练习 265

13.3 善用判断条件 267

13.3.1 使用test命令的测试功能 267

13.3.2 使用判断符号[] 270

13.3.3 Shell脚本的默认变量($0,$1...) 271

13.4 条件判断 272

13.4.1 使用if...then 272

13.4.2 使用case...esac判断 275

13.4.3 使用函数功能 277

13.5 循环 279

13.5.1 while do done、until do done 279

13.5.2 for...do...done 280

13.6 Shell脚本的追踪与调试 282

13.7 习题 283

第四部分 Linux用户管理 285

第14章 Linux账号与身份管理 285

14.1 Linux的账号与用户组 286

14.1.1 用户识别:UID与GID 286

14.1.2 用户账号:/etc/passwd,/etc/shadow 287

14.1.3 关于用户组:有效与初始用户组、groups、newgrp 289

14.2 账号管理 291

14.2.1 新增与删除用户:useradd、相关设置文件、passwd、usermod、userdel 291

14.2.2 用户功能:chfn,chsh 296

14.2.3 新增与删除用户组 298

14.2.4 密码管理:passwd 300

14.3 切换用户身份 301

14.3.1 su 302

14.3.2 sudo 303

14.4 用户的特殊Shell与PAM模块 306

14.4.1 特殊的shell、/sbin/nologin 306

14.4.2 PAM模块:/etc/nologin、/etc/securetty 306

14.5 Linux系统的用户对话与邮件的使用 309

14.5.1 查询用户:w、who、last、lastlog 309

14.5.2 用户对话:talk、mesg、wall 309

14.5.3 用户邮件信箱:mail 310

14.6 手动增加用户 312

14.6.1 一些检查工具 312

14.6.2 特殊账号,如纯数字账号的建立 313

14.6.3 不开放终端登录的账号(ex>mail account) 314

14.6.4 建立账号的范例 315

14.7 习题 316

第15章 Linux磁盘配额 317

15.1 什么是磁盘配额 318

15.2 基本磁盘配额命令 319

15.3 磁盘配额实例 322

15.4 不更改现有系统的磁盘配额实例 326

15.5 习题 327

第16章 例行性命令的建立 328

16.1 什么是例行性命令 329

16.1.1 Linux工作任务分配的种类:at、cron 329

16.1.2 系统常见的例行性命令 329

16.2 仅进行一次的工作任务分配:at 330

16.3 循环执行的例行性命令 332

16.3.1 用户的设置:crontab 332

16.3.2 系统的设置:/etc/crontab 334

16.4 一些使用特性 335

16.5 习题 336

第17章 程序与资源管理 337

17.1 什么是进程 338

17.1.1 进程与程序 338

17.1.2 Linux的多用户、多任务环境 339

17.2 作业管理:&、[ctrl]-z、jobs、fg、bg、kill 341

17.3 进程管理 344

17.3.1 进程的观察 344

17.3.2 进程的删除 349

17.3.3 系统资源的观察 350

17.4 进程的执行顺序 354

17.5 特殊文件与进程 355

17.5.1 SUID/SGID/SBIT的概念 355

17.5.2 /proc/*的意义 356

17.5.3 查询已打开的文件或已执行进程打开的文件 357

17.6 参考资料 360

17.7 习题 360

第五部分 Linux系统管理员 362

第18章 启动关机的流程与加载程序 362

18.1 启动流程 363

18.1.1 引导加载程序与核心载入 363

18.1.2 第一个程序init及设置文件/etc/inittab与runlevel 364

18.1.3 init处理系统初始化流程(/etc/rc.d/rc.sysinit) 366

18.1.4 启动系统服务与相关启动设置文件(/etc/rc.d/rc.n与/etc/sysconfig) 367

18.1.5 用户自定义引导启动程序(/etc/rc.d/rc.local) 368

18.1.6 根据/etc/inittab设置加载终端或X-Window界面 368

18.1.7 其他启动相关事项 369

18.1.8 变换运行等级 370

18.2 核心与核心模块 371

18.2.1 核心模块与依赖性 371

18.2.2 核心模块的观察:lsmod、modinfo 372

18.2.3 核心模块的加载与删除:insmod、modprobe、rmmod 373

18.2.4 核心模块的额外参数设置:/etc/modprobe.conf 374

18.3 引导加载程序:Grub 374

18.3.1 引导加载程序的功能与意义 374

18.3.2 grub的设置文件/boot/grub/menu.lst与安装类型 375

18.3.3 测试与安装grub 378

18.3.4 启动前的额外功能修改 380

18.3.5 核心功能中的vga设置 382

18.3.6 大硬盘的问题 382

18.4 引导加载程序:LILO 382

18.4.1 LILO的设置文件/etc/lilo.conf 383

18.4.2 测试与安装LILO引导加载程序 384

18.4.3 问题与解决方法 385

18.5 解决启动过程的问题 386

18.5.1 忘记root密码的解决方案 386

18.5.2 设置错误无法启动 387

18.5.3 利用chroot切换到另一个硬盘 387

18.6 参考资料 388

18.7 习题 388

第19章 源码与Tarball套件管理程序 389

19.1 简介 390

19.1.1 什么是开放源码、编译器与可执行文件 390

19.1.2 什么是函数库 391

19.1.3 什么是make与configure 392

19.1.4 什么是Tarball的套件 392

19.1.5 安装与升级套件 392

19.2 一个简单的范例 393

19.2.1 显示Hello World 393

19.2.2 编译子程序 394

19.2.3 加入函数库 395

19.2.4 使用gcc 396

19.3 make的简单用法 397

19.3.1 为什么要用make 397

19.3.2 make的基本语法与变量 398

19.4 Tarball的管理与建议 400

19.4.1 使用源码管理套件所需要的基础套件 400

19.4.2 Tarball安装的基本步骤 401

19.4.3 Tarball套件安装的注意事项(如何删除、升级) 402

19.4.4 简单的范例:使用ntp 403

19.4.5 使用patch更新源码 404

19.5 函数库管理 406

19.5.1 动态与静态函数库 406

19.5.2 ldconfig与/etc/ld.so.conf 407

19.5.3 ldd 407

19.6 检验软件正确性:md5sum 408

19.7 重点回顾 409

19.8 参考资料 410

第20章 RPM与SRPM套件管理程序 411

20.1 简介 412

20.1.1 什么是RPM与SRPM 412

20.1.2 什么是i386、i586、i686、noarch 413

20.1.3 RPM的优点 414

20.1.4 解决RPM属性依赖问题 414

20.2 RPM套件管理程序 414

20.2.1 RPM的默认安装路径 414

20.2.2 RPM安装(install) 415

20.2.3 RPM升级与更新 416

20.2.4 RPM查询 417

20.2.5 RPM验证与数字签名 419

20.2.6 RPM卸载与重建数据库 421

20.3 SRPM的使用 421

20.3.1 使用系统默认值安装SRPM文件 421

20.3.2 SRPM使用的路径与需要的套件 422

20.3.3 配置文件的主要内容 422

20.3.4 SRPM的编译命令 425

20.4 范例:打包套件 426

20.5 选择RPM还是Tarball 427

20.6 重点回顾 428

20.7 参考资料 429

20.8 习题 429

第21章 系统服务守护程序 430

21.1 什么是守护程序与服务 431

21.1.1 守护程序的主要分类 431

21.1.2 与服务有关的端口信息:/etc/services 432

21.1.3 守护程序的命名规则 433

21.1.4 系统的守护程序位置 433

21.1.5 守护程序的启动方式:service 434

21.2 解析超级守护程序的设置文件 435

21.2.1 解析xinetd.conf 435

21.2.2 简单的telnet范例设置 438

21.3 TCP_Wrappers 440

21.4 系统打开的服务 442

21.4.1 观察系统启动的服务 442

21.4.2 设置开机后立即启动服务 443

21.4.3 一个服务的简单说明 445

21.5 习题 450

第22章 认识与分析登录文件 451

22.1 什么是登录文件 452

22.2 登录文件的记录:syslogd 453

22.2.1 登录文件内容的一般格式 453

22.2.2 登录文件的配置文件:/etc/syslog.conf 454

22.2.3 登录文件的安全性设置 458

22.2.4 登录文件主机的简单设置 459

22.3 登录文件的轮替(logrotate) 459

22.3.1 logrotate的设置文件 460

22.3.2 实际测试logrotate的操作 462

22.4 分析登录文件 464

22.4.1 常见命令:last、lastlog、dmesg 464

22.4.2 登录文件分析工具 465

第23章 Linux备份策略 467

23.1 谁需要备份数据 468

23.2 备份哪些Linux数据 468

23.3 选择备份设备 469

23.4 备份的种类 470

23.5 选择备份工具 471

23.6 备份策略实例 472

23.6.1 日常备份行为 472

23.6.2 每日备份数据脚本 475

23.6.3 远程备份系统 475

23.7 还原系统的考虑因素 476

23.8 习题 477

第24章 X Window简单设置 478

24.1 什么是X Window系统 479

24.1.1 是否需要启用X Window系统 479

24.1.2 X Window的发展历史 479

24.1.3 X服务器/X客户端/窗口管理器的关系 480

24.1.4 X Window启用的流程 482

24.2 与X服务器有关的设置文件 484

24.2.1 手动修改xorg.conf或XF86Config 485

24.2.2 X字体服务器(Font Server,XFS) 488

24.2.3 /etc/inittab 489

24.2.4 使用Xorg/XFree86设置默认的设置文件 489

24.3 更新显卡驱动程序的范例:NVidia驱动程序 489

24.4 解决问题 491

24.5 参考资料 491

24.6 习题 492

第25章 Linux硬件检测与维护 493

25.1 准备硬件 494

25.1.1 硬件信息的收集:lspci、iostat 494

25.1.2 驱动USB设备 496

25.1.3 使用lm_sensors取得温度、电压等信息 497

25.2 FC4的系统操作:setup功能 500

25.3 利用CUPS架构打印机 507

25.4 特殊的文件系统:LVM 517

25.4.1 什么是LVM:PV、PE、VG、LV 517

25.4.2 制作LVM磁盘的流程 519

25.4.3 加大原有的LVM磁盘:resize2fs 524

25.4.4 注意事项 526

25.5 额外的存储设备iSCSI协议的磁盘阵列 527

25.5.1 什么是磁盘阵列 527

25.5.2 iSCSI磁盘阵列的架设与使用 528

25.6 参考资料 533

25.7 习题 533

第26章 Linux核心编译与管理 534

26.1 简介 535

26.1.1 什么是核心 535

26.1.2 更新核心的原因 536

26.1.3 核心的版本与下载最新核心的位置 537

26.2 核心源码的获取与升级 538

26.2.1 获取原版本提供的核心源码 538

26.2.2 获取最新的核心 539

26.2.3 保留原设置:利用补丁升级核心源码 539

26.2.4 核心目录下的子目录信息 539

26.3 设置核心的编译设置(Makefile) 539

26.3.1 编辑核心的生成文件 540

26.3.2 设置核心内容与模块 541

26.4 核心的编译与安装 558

26.4.1 编译的流程 559

26.4.2 模块安装注意事项 559

26.4.3 安装旧版与新版的核心成多重启动系统 560

26.5 额外(单一)模块编译 560

26.5.1 单一模块编译 561

26.5.2 核心模块管理:lsmod、modinfo、modprobe、insmod、rmmod 562

附录A GNU的GPL条款 564

A.1 序言 565

A.2 GNU通用公共许可证有关复制、发布和修改的条款和条件 565

附录B ext2/ext3文件系统 569

B.1 第二扩展文件系统(EXT2) 570

B.2 为何选择EXT3 571

相关图书
作者其它书籍
返回顶部