鸟哥的Linux私房菜,基础学习篇

副标题:无

作   者:鸟哥编著;许伟,林彩娥改编

分类号:

ISBN:9787115162212

微信扫一扫,移动浏览光盘

简介

本书全面而详细地介绍了Linux操作系统。全书分为5个部分:第一部分着重说明Linux的起源及功能,如何规划和安装Linux主机;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全非常重要的Linux账号的管理,以及主机系统与程序的管理,如查看进程、任务分配和作业管理;第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。 本书内容丰富全面,基本概念的讲解非常细致,深入浅出。各种功能和命令的介绍,都配以大量的实例操作和详尽的解析。本书是初学者学习Linux不可多得的一本入门好书。

目录

第一部分 认识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 IV 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脚本

第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 239
11.5.7 减号(-)的用途 240
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用户管理

第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 acccount) 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系统管理员

第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 安装旧版与新版的核心成
多重启动系统 559
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

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

鸟哥的Linux私房菜,基础学习篇
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon