鸟哥的Linux私房菜基础学习篇第3版.docx
《鸟哥的Linux私房菜基础学习篇第3版.docx》由会员分享,可在线阅读,更多相关《鸟哥的Linux私房菜基础学习篇第3版.docx(24页珍藏版)》请在冰豆网上搜索。
鸟哥的Linux私房菜基础学习篇第3版
第0章计算机概论1
0.1计算机:
辅助人脑的好工具2
0.1.1计算机硬件的五大单元2
0.1.2CPU的种类3
0.1.3接口设备4
0.1.4运作流程4
0.1.5计算机分类5
0.1.6计算机上面常用的计算单位(大小、速度等)6
0.2个人计算机架构与接口设备7
0.2.1CPU7
0.2.2内存9
0.2.3显卡11
0.2.4硬盘与存储设备12
0.2.5PCI适配卡14
0.2.6主板15
0.2.7电源16
0.2.8选购须知16
0.3数据表示方式17
0.3.1数字系统17
0.3.2文字编码系统18
0.4软件程序运行18
0.4.1机器程序与编译程序18
0.4.2操作系统19
0.4.3应用程序22
0.5重点回顾22
0.6本章习题23
0.7参考数据与扩展阅读24
第1章Linux是什么25
1.1Linux是什么26
1.1.1Linux是什么26
1.1.2Linux之前UNIX的历史27
1.1.3关于GNU项目32
1.2Torvalds的Linux开发34
1.2.1Minix34
1.2.2对386硬件的多任务测试35
1.2.3初次释出Linux0.0236
1.2.4Linux的开发:
虚拟团队的产生37
1.2.5Linux的内核版本38
1.2.6Linuxdistributions39
1.3Linux的特色42
1.3.1Linux的特色42
1.3.2Linux的优缺点43
1.3.3关于授权45
1.4重点回顾46
1.5本章习题46
1.6参考数据与扩展阅读47
第2章Linux如何学习48
2.1Linux当前的应用角色49
2.1.1企业环境的利用49
2.1.2个人环境的使用50
2.2鸟哥的Linux苦难经验回忆录51
2.2.1鸟哥的Linux学习之路51
2.2.2学习心态的分别53
2.2.3XWindow的学习54
2.3有心向Linux操作系统学习者学习态度55
2.3.1从头学习Linux基础56
2.3.2选择一本易读的工具书57
2.3.3实践再实践57
2.3.4发生问题怎么处理..58
2.4鸟哥的建议(重点在Solution的学习)59
2.5重点回顾60
2.6本章习题61
2.7参考数据与扩展阅读61
第3章主机规划与磁盘分区62
3.1Linux与硬件的搭配63
3.1.1认识计算机的硬件配置63
3.1.2选择与Linux搭配的主机配置64
3.1.3各硬件设备在Linux中的文件名66
3.2磁盘分区67
3.2.1磁盘连接的方式与设备文件名的关系67
3.2.2磁盘的组成复习68
3.2.3磁盘分区表(partitiontable)69
3.2.4开机流程与主引导分区(MBR)72
3.2.5Linux安装模式下,磁盘分区的选择(极重要)74
3.3安装Linux前的规划76
3.3.1选择适当的distribution76
3.3.2主机的服务规划与硬件的关系77
3.3.3主机硬盘的主要规划79
3.3.4鸟哥说:
关于练习机的安装建议80
3.3.5鸟哥的两个实际案例80
3.3.6大硬盘配合旧主机造成的无法开机问题81
3.4重点回顾82
3.5本章习题82
3.6参考数据与扩展阅读82
第4章安装CentOS5.x与多重引导小技巧83
4.1本练习机的规划(尤其是分区参数)84
4.2开始安装CentOS585
4.2.1调整启动媒体(BIOS)86
4.2.2选择安装结构与开机87
4.2.3选择语系数据89
4.2.4磁盘分区90
4.2.5引导装载程序、网络、时区设置与root密码95
4.2.6软件选择98
4.2.7其他功能:
RAMtesting、安装笔记本电脑的内核参数(Option)99
4.3安装后的首次设置100
4.4多重引导安装流程与技巧104
4.4.1新主机仅有一块硬盘104
4.4.2旧主机有两块以上硬盘105
4.4.3旧主机只有一块硬盘105
4.5关于大硬盘导致无法开机的问题106
4.6重点回顾106
4.7本章习题107
4.8参考数据与扩展阅读107
第5章首次登录与在线求助manpage108
5.1首次登录系统109
5.1.1首次登录CentOS5.x图形界面109
5.1.2GNOME的操作与注销110
5.1.3KDE的操作与注销113
5.1.4XWindow与命令行模式的切换115
5.1.5在终端界面登录linux116
5.2在命令行模式下执行命令117
5.2.1开始执行命令117
5.2.2基础命令的操作118
5.2.3重要的热键,-c,-d121
5.2.4错误信息的查看122
5.3Linux系统的在线求助manpage与infopage122
5.3.1manpage123
5.3.2infopage127
5.3.3其他有用的文件(documents)129
5.4超简单文本编辑器:
nano130
5.5正确的关机方法131
5.5.1数据同步写入磁盘:
sync132
5.5.2惯用的关机命令:
shutdown132
5.5.3重启、关机:
reboot,halt,poweroff133
5.5.4切换执行等级:
init133
5.6开机过程的问题排解134
5.6.1文件系统错误的问题134
5.6.2忘记root密码135
5.7重点回顾136
5.8本章习题136
5.9参考数据与扩展阅读137
第二部分Linux文件、目录与磁盘格式
第6章Linux的文件权限与目录配置138
6.1用户与用户组139
6.2Linux文件权限概念140
6.2.1Linux文件属性141
6.2.2如何改变文件属性与权限144
6.2.3目录与文件的权限意义147
6.2.4Linux文件种类与扩展名150
6.3Linux目录配置152
6.3.1Linux目录配置标准:
FHS152
6.3.2目录树(directorytree)156
6.3.3路径与相对路径158
6.3.4CentOS的查看159
6.4重点回顾159
6.5本章练习160
6.6参考数据与扩展阅读160
第7章Linux文件与目录管理161
7.1目录与路径162
7.1.1相对路径与路径162
7.1.2目录的相关操作162
7.1.3关于执行文件路径的变量:
$PATH165
7.2文件与目录管理167
7.2.1查看文件与目录:
ls167
7.2.2复制、删除与移动:
cp,rm,mv169
7.2.3取得路径的文件名与目录名称173
7.3文件内容查阅173
7.3.1直接查看文件内容173
7.3.2可翻页查看175
7.3.3数据选取176
7.3.4非纯文本文件:
od177
7.3.5修改文件时间或创建新文件:
touch178
7.4文件与目录的默认权限与隐藏权限180
7.4.1文件默认权限:
umask181
7.4.2文件隐藏属性:
chattr,lsattr183
7.4.3文件特殊权限:
SUID,SGID,SBIT184
7.4.4查看文件类型:
file187
7.5命令与文件的查询187
7.5.1脚本文件名的查询187
7.5.2文件名的查找188
7.6权限与命令间的关系(极重要)192
7.7重点回顾193
7.8本章习题194
7.9参考数据与扩展阅读195
第8章Linux磁盘与文件系统管理196
8.1认识EXT2文件系统197
8.1.1硬盘组成与分区的复习197
8.1.2文件系统特性197
8.1.3Linux的EXT2文件系统(inode)199
8.1.4与目录树的关系204
8.1.5EXT2/EXT3文件的访问与日志文件系统的功能206
8.1.6Linux文件系统的操作208
8.1.7挂载点(mountpoint)的意义208
8.1.8其他Linux支持的文件系统与VFS209
8.2文件系统的简单操作210
8.2.1磁盘与目录的容量:
df,du210
8.2.2连接文件:
ln213
8.3磁盘的分区、格式化、检验与挂载217
8.3.1磁盘分区:
fdisk217
8.3.2磁盘格式化223
8.3.3磁盘检验:
fsck,badblocks225
8.3.4磁盘挂载与卸载226
8.3.5磁盘参数修改231
8.4设置开机挂载234
8.4.1开机挂载/etc/fstab及/etc/mtab234
8.4.2特殊设备loop挂载(镜像文件不刻录就挂载使用)236
8.5内存交换空间(swap)的构建238
8.5.1使用物理分区构建swap238
8.5.2使用文件构建swap240
8.5.3swap使用上的限制241
8.6文件系统的特殊查看与操作241
8.6.1bootsector与superblock的关系241
8.6.2磁盘空间的浪费问题243
8.6.3利用GNU的parted进行分区行为243
8.7重点回顾245
8.8本章习题245
8.9参考数据与扩展阅读246
第9章文件与文件系统的压缩与打包248
9.1压缩文件的用途与技术249
9.2Linux系统常见的压缩命令250
9.2.1Compress250
9.2.2gzip,zcat252
9.2.3bzip2,bzcat253
9.3打包命令:
tar253
9.3.1tar254
9.4完整备份工具:
dump259
9.4.1dump259
9.4.2restore262
9.5光盘写入工具265
9.5.1mkisofs:
新建镜像文件265
9.5.2Cdrecord:
光盘刻录工具267
9.6其他常见的压缩与备份工具269
9.6.1dd269
9.6.2Cpio270
9.7重点回顾272
9.8本章习题272
9.9参考数据与扩展阅读273
第三部分学习shell与shellscript
第10章vim程序编辑器274
10.1vi与vim275
10.1.1为何要学vim275
10.2vi的使用276
10.2.1简单执行范例277
10.2.2按键说明278
10.2.3一个案例练习281
10.2.4vim的保存文件、恢复与打开时的警告信息282
10.3vim的功能284
10.3.1块选择(VisualBlock)285
10.3.2多文件编辑286
10.3.3多窗口功能286
10.3.4vim环境设置与记录:
~/.vimrc,~/.viminfo287
10.3.5vim常用命令示意图289
10.4其他vim使用注意事项289
10.4.1中文编码的问题289
10.4.2DOS与Linux的断行字符290
10.4.3语系编码转换290
10.5重点回顾291
10.6本章练习291
10.7参考数据与扩展阅读292
第11章认识与学习bash293
11.1认识bash这个shell294
11.1.1硬件、内核与shell294
11.1.2为何要学命令行界面的shell295
11.1.3系统的合法shell与/etc/shells功能295
11.1.4bashshell的功能296
11.1.5bashshell的内置命令:
type298
11.1.6命令的执行298
11.2shell的变量功能299
11.2.1什么是变量299
11.2.2变量的显示与设置:
echo,unset300
11.2.3环境变量的功能304
11.2.4影响显示结果的语系变量(locale)308
11.2.5变量的有效范围309
11.2.6变量键盘读取、数组与声明:
read,array,declare310
11.2.7与文件系统及程序的限制关系:
ulimit312
11.2.8变量内容的删除、替代与替换313
11.3命令别名与历史命令317
11.3.1命令别名设置:
alias,unalias317
11.3.2历史命令:
history318
11.4BashShell的操作环境320
11.4.1路径与命令查找顺序320
11.4.2bash的登录与欢迎信息:
/etc/issue,/etc/motd320
11.4.3bash的环境配置文件321
11.4.4终端机的环境设置:
stty,set325
11.4.5通配符与特殊符号327
11.5数据流重定向328
11.5.1什么是数据流重定向329
11.5.2命令执行的判断依据:
;,&&,||331
11.6管道命令(pipe)334
11.6.1选取命令:
cut,grep334
11.6.2排序命令:
sort,wc,uniq336
11.6.3双向重定向:
tee338
11.6.4字符转换命令:
tr,col,join,paste,expand338
11.6.5切割命令:
split342
11.6.6参数代换:
xargs342
11.6.7关于减号-的用途343
11.7重点回顾344
11.8本章习题344
11.9参考数据与扩展阅读345
第12章正则表达式与文件格式化处理346
12.1前言:
什么是正则表达式347
12.1.1什么是正则表达式347
12.1.2正则表达式对于系统管理员的用途347
12.1.3正则表达式的广泛用途348
12.1.4正则表达式与Shell在Linux当中的角色定位348
12.1.5扩展的正则表达式348
12.2基础正则表达式348
12.2.1语系对正则表达式的影响349
12.2.2grep的一些高级参数349
12.2.3基础正则表达式练习350
12.2.4基础正则表达式字符(characters)356
12.2.5sed工具357
12.3扩展正则表达式361
12.4文件的格式化与相关处理362
12.4.1格式化打印:
printf362
12.4.2awk:
好用的数据处理工具363
12.4.3文件比较工具366
12.4.4文件打印准备:
pr369
12.5重点回顾369
12.6本章习题370
12.7参考数据与扩展阅读371
第13章学习shellscript372
13.1什么是shellscript373
13.1.1为什么学习shellscript373
13.1.2个script的编写与执行374
13.1.3编写shellscript的良好习惯376
13.2简单的shellscript练习376
13.2.1简单范例377
13.2.2script的执行方式区别(source,shscript,./script)378
13.3善用判断式379
13.3.1利用test命令的测试功能380
13.3.2利用判断符号[]382
13.3.3shellscript的默认变量($0,$1...)383
13.4条件判断式385
13.4.1利用if...then385
13.4.2利用case...esac判断389
13.4.3利用function功能391
13.5循环(loop)393
13.5.1whiledodone,untildodone(不定循环)393
13.5.2for...do...done(固定循环)394
13.5.3for...do...done的数值处理396
13.6shellscript的追踪与调试397
13.7重点回顾398
13.8本章习题398
13.9参考数据与扩展阅读399
第四部分Linux使用者管理
第14章Linux账号管理与ACL权限设置400
14.1Linux的账号与用户组401
14.1.1用户标识符:
UID与GID401
14.1.2用户账号402
14.1.3有效与初始用户组:
groups,newgrp406
14.2账号管理409
14.2.1新增与删除用户:
useradd,相关配置文件,passwd,usermod,userdel409
14.2.2用户功能417
14.2.3新增与删除用户组420
14.2.4账号管理实例422
14.3主机的具体权限规划:
ACL的使用423
14.3.1什么是ACL423
14.3.2如何启动ACL423
14.3.3ACL的设置技巧:
getfacl,setfacl424
14.4用户身份切换427
14.4.1su428
14.4.2sudo429
14.5用户的特殊shell与PAM模块433
14.5.1特殊的shell,/sbin/nologin433
14.5.2PAM模块简介434
14.5.3PAM模块设置语法435
14.5.4常用模块简介437
14.5.5其他相关文件439
14.6Linux主机上的用户信息传递440
14.6.1查询用户:
w,who,last,lastlog440
14.6.2用户对谈:
write,mesg,wall441
14.6.3用户邮件信箱:
mail441
14.7手动新增用户443
14.7.1一些检查工具443
14.7.2特殊账号(如纯数字账号)的手工新建444
14.7.3批量新建账号模板(适用于passwd--stdin参数)445
14.7.4批量新建账号的范例(适用于连续数字,如学号)446
14.8重点回顾448
14.9本章习题449
14.10参考数据与扩展阅读450
第15章磁盘配额(Quota)与高级文件系统管理451
15.1磁盘配额(Quota)的应用与实践452
15.1.1什么是Quota452
15.1.2一个Quota范例454
15.1.3实践Quota流程1:
文件系统支持454
15.1.4实践Quota流程2:
新建Quota配置文件455
15.1.5实践Quota流程3:
Quota启动、关闭与限制值设置456
15.1.6实践Quota流程4:
Quota限制值的报表458
15.1.7实践Quota流程5:
测试与管理459
15.1.8不改动既有系统的Quota实例462
15.2软件磁盘阵列(SoftwareRAID)463
15.2.1什么是RAID463
15.2.2software,hardwareRAID466
15.2.3软件磁盘阵列的设置467
15.2.4仿真RAID错误的救援模式470
15.2.5开机自动启动RAID并自动挂载472
15.2.6关闭软件RAID(重要!
)472
15.3逻辑卷管理器(LogicalVolumeManager)473
15.3.1什么是LVM:
PV,PE,VG,LV的意义473
15.3.2LVM实作流程475
15.3.3放大LV容量479
15.3.4缩小LV容量481
15.3.5LVM的系统快照483
15.3.6LVM相关命令汇整与LVM的关闭488
15.4重点回顾489
15.5本章习题489
15.6参考数据与扩展阅读491
第16章例行性工作(crontab)492
16.1什么是例行性工作493
16.1.1Linux工作调度的种类:
at,cron493
16.1.2Linux上常见的例行性工作493
16.2仅执行一次的工作调度494
16.2.1atd的启动与at运行的方式494
16.2.2实际运行单一工作调度495
16.3循环执行的例行性工作调度498
16.3.1用户的设置498
16.3.2系统的配置文件:
/etc/crontab500
16.3.3一些注意事项501
16.4可唤醒停机期间的工作任务502
16.4.1什么是anacron503
16.4.2anacron与/etc/anacrontab503
16.5重点回顾504
16.6本章习题505
第17章程序管理与SELinux初探506
17.1什么是进程(process)507
17.1.1进程与程序(process&program)507
17.1.2Linux的多用户、多任务环境509
17.2工作管理(jobcontrol)511
17.2.1什么是工作管理511
17.2.2jobcontrol的管理511
17.2.3脱机管理问题515
17.3进程管理515
17.3.1进程的查看516
17.3.2进程的管理521
17.3.3关于进程的执行顺序523
17.3.4系统资源的查看525
17.4特殊文件与程序530
17.4.1具有SUID/SGID权限的命令执行状态530
17.4.2/proc/*代表的意义531
17.4.3查询已打开文件或已执行程序打开的文件532
17.5SELinux初探534
17.5.1什么是SELinux534
17.5.2SELinux的运行模式536
17.5.3SELinux的启动、关闭与查看538
17.5.4SELi