0%

鸟哥的Linux私房菜-基础学习篇-第四版PDF下载

《鸟哥的Linux私房菜-基础学习篇-第四版》

链接: https://pan.baidu.com/s/1ZX_VTrvla6VzrHwI7tRaNg 提取码: x4ej

本书是知名度颇高的Linux入门书《鸟哥的Linux私房菜基础学习篇》的新版,全面而详细地介绍了Linux操作系统。 全书分为五bu分:bu分着重说明计算机的基础知识、Linux的学习方法,如何规划和安装Linux主机以及CentOS 7.x的安装、登录与求助方法;bu分介绍Linux的文件系统、文件、目录与磁盘的管理;第三bu分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四bu分介绍了对于系统安全非常重要的Linux账号的管理、磁盘配额、文件系统管理、计划任务以及进程管理;第五bu分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。 本书内容丰富全面,基本概念的讲解非常细致,深入浅出。各种功能和命令的介绍,都配以大量的实例操作和详尽的解析。本书是初学者学习Linux的一本入门好书。

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301

目录

第 一bu分 Linux的规则与安装



第0章 计算机概论 2

0.1 电脑:辅助人脑的好工具 3

0.1.1 电脑硬件的五大单元 3

0.1.2 *设计的起点:CPU的架构 5

0.1.3 其他单元的设备 6

0.1.4 运作流程 6

0.1.5 电脑的分类 7

0.1.6 电脑上面常用的计算单位(容量、速度等) 8

0.2 个人电脑架构与相关设备组件 9

0.2.1 执行脑袋运算与判断的CPU 10

0.2.2 内存 12

0.2.3 显卡 15

0.2.4 硬盘与存储设备 16

0.2.5 扩展卡与接口 20

0.2.6 主板 21

0.2.7 主机电源 22

0.2.8 选购须知 22

0.3 数据表示方式 23

0.3.1 数字系统 24

0.3.2 字符编码系统 24

0.4 软件程序运行 25

0.4.1 机器语言程序与编译型程序 25

0.4.2 操作系统 26

0.4.3 应用程序 28

0.5 重点回顾 29

0.6 本章习题 29

0.7 参考资料与扩展阅读 30



第 1章 Linux是什么与如何学习 32

1.1 Linux是什么 33

1.1.1 Linux是什么?操作系统 应用程序? 33

1.1.2 Linux之前,UNIX的历史 34

1.1.3 关于GNU计划、自由软件与开放源代码 40

1.2 托瓦兹的Linux的发展 43

1.2.1 与Minix之间 43

1.2.2 对386硬件的多任务测试 44

1.2.3 初次发布Linux 0.02 45

1.2.4 Linux的发展:虚拟团队的产生 46

1.2.5 Linux的内核版本 47

1.2.6 Linux发行版 48

1.3 Linux当前应用的角色 51

1.3.1 企业环境的使用 52

1.3.2 个人环境的使用 53

1.3.3 云端应用 54

1.4 Linux该如何学习 55

1.4.1 从头学习Linux基础 56

1.4.2 选择一本易读的工具书 57

1.4.3 实践再实践 58

1.4.4 发生问题怎么处理 58

1.4.5 鸟哥的建议(重点在solution的学习) 59

1.5 重点回顾 60

1.6 本章习题 61

1.7 参考资料与扩展阅读 62



第 2章 主机规划与磁盘分区 63

2.1 Linux与硬件的搭配 64

2.1.1 认识计算机的硬件设备 64

2.1.2 选择与Linux搭配的主机设备 65

2.1.3 各硬件设备在Linux中的文件名 67

2.1.4 使用虚拟机学习 68

2.2 磁盘分区 69

2.2.1 磁盘连接方式与设备文件名的关系 69

2.2.2 MBR(MS-DOS)与GPT磁盘分区表(partition table) 70

2.2.3 启动流程中的BIOS与UEFI启动检测程序 76

2.2.4 Linux安装模式下,磁盘分区的选择(极重要) 79

2.3 安装Linux前的规划 82

2.3.1 选择适当的Linux发行版 82

2.3.2 主机的服务规划与硬件的关系 83

2.3.3 主机硬盘的主要规划 84

2.3.4 鸟哥的两个实际案例 85

2.4 重点回顾 86

2.5 本章习题 87

2.6 参考资料与扩展阅读 87



第3章 安装CentOS 7.x 88

3.1 本练习机的规划(尤其是分区参数) 89

3.2 开始安装 CentOS 7 91

3.2.1 调整BIOS与虚拟机创建流程 91

3.2.2 选择安装模式与启动(inst.gpt) 94

3.2.3 设置时区、语言与键盘布ju 96

3.2.4 安装源设置与软件选择 97

3.2.5 磁盘分区与文件系统设置 99

3.2.6 内核管理与网络设置 104

3.2.7 开始安装、设置root密码与新增可切换身份之一般用户 106

3.2.8 准备使用系统前的授权同意 108

3.2.9 其他功能:RAM测试,安装笔记本电脑的内核参数(可选) 110

3.3 多重引导安装步骤与管理(可选) 111

3.3.1 安装 CentOS 7.x Windows 7的规划 111

3.3.2 *安装 CentOS 7.x与Windows 7 112

3.3.3 恢复MBR内的启动引导程序与设置多重引导选项 113

3.4 重点回顾 114

3.5 本章习题 115

3.6 参考资料与扩展阅读 115



第4章 *次登录与在线求助 116

4.1 *次登录系统 117

4.1.1 *次登录CentOS 7.x图形用户界面模式 117

4.1.2 GNOME的操作与注销 118

4.1.3 X Window与命令行模式的切换 124

4.1.4 在终端登录Linux 125

4.2 命令行模式下命令的执行 127

4.2.1 开始执行命令 127

4.2.2 基础命令的操作 128

4.2.3 重要的几个热键[Tab]、[Ctrl]-c、[Ctrl]-d 131

4.2.4 错误信息的查看 133

4.3 Linux系统的在线求助man page与info page 133

4.3.1 命令的 --help求助说明 134

4.3.2 man page 135

4.3.3 info page 139

4.3.4 其他有用的文件(documents) 141

4.4 超简单的文本编辑器:nano 142

4.5 正确的关机方法 143

4.6 重点回顾 146

4.7 本章习题 146

4.8 参考资料与扩展阅读 147



*bu分 Linux文件、目录与磁盘格式



第5章 Linux的文件权限与目录配置 149

5.1 用户与用户组 150

5.2 Linux文件权限概念 152

5.2.1 Linux文件属性 152

5.2.2 如何修改文件属性与权限 156

5.2.3 目录与文件的权限意义 159

5.2.4 Linux文件种类与扩展名 162

5.3 Linux目录配置 165

5.3.1 Linux目录配置的依据——FHS 165

5.3.2 目录树(directory tree) 169

5.3.3 *路径与相对路径 170

5.3.4 CentOS的观察 172

5.4 重点回顾 173

5.5 本章练习 174

5.6 参考资料与扩展阅读 174



第6章 Linux文件与目录管理 175

6.1 目录与路径 176

6.1.1 相对路径与*路径 176

6.1.2 目录的相关操作 176

6.1.3 关于执行文件路径的变量:$PATH 179

6.2 文件与目录管理 181

6.2.1 文件与目录的查看:ls 181

6.2.2 复制、删除与移动:cp、rm、mv 183

6.2.3 获取路径的文件名与目录名称 186

6.3 文件内容查看 186

6.3.1 直接查看文件内容 187

6.3.2 可翻页查看 188

6.3.3 数据截取 190

6.3.4 非纯文本文件:od 191

6.3.5 修改文件时间或创建新文件:touch 192

6.4 文件与目录的默认权限与隐藏权限 194

6.4.1 文件默认权限:umask 195

6.4.2 文件隐藏属性 196

6.4.3 文件特殊权限:SUID、SGID、SBIT 198

6.4.4 观察文件类型:file 200

6.5 命令与文件的查找 201

6.5.1 脚本文件的查找 201

6.5.2 文件的查找 201

6.6 极重要的复习,权限与命令间的关系 205

6.7 重点回顾 206

6.8 本章习题 207

6.9 参考资料与扩展阅读 208



第7章 Linux磁盘与文件系统管理 209

7.1 认识Linux文件系统 210

7.1.1 磁盘组成与分区的复习 210

7.1.2 文件系统特性 211

7.1.3 Linux的ext2文件系统(inode) 212

7.1.4 与目录树的关系 217

7.1.5 ext2 ext3 ext4文件的存取与日志式文件系统的功能 219

7.1.6 Linux文件系统的运行 220

7.1.7 挂载点的意义(mount point) 221

7.1.8 其他Linux支持的文件系统与VFS 221

7.1.9 XFS文件系统简介 222

7.2 文件系统的简单操作 224

7.2.1 磁盘与目录的容量 224

7.2.2 硬链接与符号链接:ln 227

7.3 磁盘的分区、格式化、检验与挂载 231

7.3.1 观察磁盘分区状态 232

7.3.2 磁盘分区:gdisk fdisk 233

7.3.3 磁盘格式化(创建文件系统) 238

7.3.4 文件系统检验 241

7.3.5 文件系统挂载与卸载 243

7.3.6 磁盘 文件系统参数自定义 246

7.4 设置启动挂载 248

7.4.1 启动挂载 etc fstab及 etc mtab 248

7.4.2 特殊设备loop挂载(镜像文件不刻录就挂载使用) 251

7.5 内存交换分区(swap)之创建 252

7.5.1 使用物理分区创建内存交换分区 253

7.5.2 使用文件创建内存交换文件 254

7.6 文件系统的特殊观察与操作 255

7.6.1 磁盘空间之浪费问题 255

7.6.2 利用GNU的parted 进行分区操作(可选) 256

7.7 重点回顾 257

7.8 本章习题 258

7.9 参考资料与扩展阅读 259



第8章 文件与文件系统的压缩 261

8.1 压缩文件的用途与技术 262

8.2 Linux系统常见的压缩命令 263

8.2.1 gzip,zcat zmore zless zgrep 263

8.2.2 bzip2,bzcat bzmore bzless bzgrep 265

8.2.3 xz,xzcat xzmore xzless xzgrep 265

8.3 打包命令:tar 266

8.4 XFS文件系统的备份与还原 272

8.4.1 XFS文件系统备份xfsdump 272

8.4.2 XFS文件系统还原xfsrestore 275

8.5 光盘写入工具 277

8.5.1 mkisofs:建立镜像文件 277

8.5.2 cdrecord:光盘刻录工具 280

8.6 其他常见的压缩与备份工具 282

8.6.1 dd 282

8.6.2 cpio 284

8.7 重点回顾 285

8.8 本章习题 286

8.9 参考资料与扩展阅读 287



第三bu分 学习shell与shell script



第9章 vim程序编辑器 289

9.1 vi与vim 290

9.2 vi的使用 291

9.2.1 简易执行范例 292

9.2.2 按键说明 293

9.2.3 一个案例练习 296

9.2.4 vim的缓存、恢复与打开时的警告信息 297

9.3 vim的额外功能 299

9.3.1 可视区块(Visual Block) 300

9.3.2 多文件编辑 301

9.3.3 多窗口功能 302

9.3.4 vim的关键词补全功能 303

9.3.5 vim环境设置与记录:~ .vimrc、~ .viminfo 304

9.3.6 vim常用命令示意图 305

9.4 其他vim使用注意事项 305

9.4.1 中文编码的问题 306

9.4.2 DOS与Linux的换行符 306

9.4.3 语系编码转换 307

9.5 重点回顾 308

9.6 本章练习 308

9.7 参考资料与扩展阅读 309



第 10章 认识与学习BASH 310

10.1 认识BASH这个Shell 311

10.1.1 硬件、内核与Shell 311

10.1.2 为何要学命令行模式的Shell? 312

10.1.3 系统的合法shell与 etc shells功能 313

10.1.4 Bash shell的功能 314

10.1.5 查询命令是否为Bash shell的内置命令:type 315

10.1.6 命令的执行与快速编辑按钮 316

10.2 Shell的变量功能 316

10.2.1 什么是变量? 317

10.2.2 变量的使用与设置:echo、变量设置规则、unset 318

10.2.3 环境变量的功能 322

10.2.4 影响显示结果的语系变量(locale) 325

10.2.5 变量的有效范围 327

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

10.2.7 与文件系统及程序的限制关系:ulimit 329

10.2.8 变量内容的删除、取代与替换(可选) 330

10.3 命令别名与历史命令 334

10.3.1 命令别名设置:alias、unalias 334

10.3.2 历史命令:history 335

10.4 Bash shell的操作环境 337

10.4.1 路径与命令查找顺序 337

10.4.2 bash的登录与欢迎信息: etc issue、 etc motd 337

10.4.3 bash的环境配置文件 338

10.4.4 终端的环境设置:stty、set 342

10.4.5 通配符与特殊符号 344

10.5 数据流重定向 345

10.5.1 什么是数据流重定向 345

10.5.2 命令执行的判断根据:;、&&、|| 348

10.6 管道命令(pipe) 350

10.6.1 选取命令:cut、grep 351

10.6.2 排序命令:sort、wc、uniq 353

10.6.3 双向重定向:tee 354

10.6.4 字符转换命令:tr、col、join、paste、expand 355

10.6.5 划分命令:split 357

10.6.6 参数代换:xargs 358

10.6.7 关于减号【-】的用途 359

10.7 重点回顾 359

10.8 本章习题 360

10.9 参考资料与扩展阅读 361



第 11章 正则表达式与文件格式化处理 362

11.1 开始之前:什么是正则表达式 363

11.2 基础正则表达式 364

11.2.1 语系对正则表达式的影响 365

11.2.2 grep 的一些*选项 365

11.2.3 基础正则表达式练习 366

11.2.4 基础正则表达式字符集合(characters) 371

11.2.5 sed工具 373

11.3 扩展正则表达式 376

11.4 文件的格式化与相关处理 377

11.4.1 格式化打印:printf 377

11.4.2 awk:好用的数据处理工具 379

11.4.3 文件比对工具 381

11.4.4 文件打印设置:pr 384

11.5 重点回顾 384

11.6 本章习题 385

11.7 参考资料与扩展阅读 386



第 12章 学习shell脚本 387

12.1 什么是shell脚本 388

12.1.1 为什么要学习shell脚本 388

12.1.2 第 一个脚本的编写与执行 389

12.1.3 建立shell脚本的良好编写习惯 391

12.2 简单的shell脚本练习 392

12.2.1 简单范例 392

12.2.2 脚本的执行方式差异(source、sh script、. script) 394

12.3 善用判断式 395

12.3.1 利用test命令的测试功能 395

12.3.2 利用判断符号[ ] 397

12.3.3 shell脚本的默认变量($0、$1...) 399

12.4 条件判断式 400

12.4.1 利用if…then 401

12.4.2 利用case…esac判断 405

12.4.3 利用function功能 406

12.5 循环(loop) 408

12.5.1 while do done、until do done(不定循环) 408

12.5.2 for...do...done(固定循环) 409

12.5.3 for...do...done的数值处理 411

12.5.4 搭配随机数与数组的实验 412

12.6 shell脚本的跟踪与调试 413

12.7 重点回顾 414

12.8 本章习题 415



第四bu分 Linux使用者管理



第 13章 Linux账号管理与ACL权限设置 417

13.1 Linux的账号与用户组 418

13.1.1 用户标识符:UID与GID 418

13.1.2 用户账号 419

13.1.3 关于用户组:有效与初始用户组, groups, newgr 423

13.2 账号管理 426

13.2.1 新增与删除用户:useradd、相关配置文件、passwd、usermod、

userdel 426

13.2.2 用户功能 434

13.2.3 新增与删除用户组 437

13.2.4 账号管理实例 438

13.2.5 使用外bu身份认证系统 439

13.3 主机的详细权限规划:ACL的使用 440

13.3.1 什么是ACL与如何支持启动ACL 440

13.3.2 ACL的设置技巧:getfacl、setfacl 441

13.4 用户身份切换 444

13.4.1 su 445

13.4.2 sudo 446

13.5 用户的特殊shell与PAM模块 450

13.5.1 特殊的shell, sbin nologin 451

13.5.2 PAM模块简介 451

13.5.3 PAM模块设置语法 452

13.5.4 常用模块简介 454

13.5.5 其他相关文件 456

13.6 Linux主机上的用户信息传递 457

13.6.1 查询用户:w、who、last、lastlog 457

13.6.2 用户对谈:write、mesg、wall 458

13.6.3 用户邮箱:mail 459

13.7 CentOS 7环境下大量创建账号的方法 460

13.7.1 一些账号相关的检查工具 460

13.7.2 大量创建账号模板(适用passwd --stdin选项) 461

13.8 重点回顾 462

13.9 本章习题 463

13.10 参考资料与扩展阅读 464



第 14章 磁盘配额(Quota)与*文件系统管理 465

14.1 磁盘配额(Quota)的应用与实践 466

14.1.1 什么是磁盘配额 466

14.1.2 一个xfs文件系统的磁盘配额实践范例 468

14.1.3 实践磁盘配额流程-1:文件系统的支持与查看 469

14.1.4 实践磁盘配额流程-2:查看磁盘配额报告数据 469

14.1.5 实践磁盘配额流程-3:限制值设置方式 470

14.1.6 实践磁盘配额流程-4:project的限制(针对目录限制)

(Optional) 471

14.1.7 xfs磁盘配额的管理与额外命令对照表 473

14.1.8 不修改既有系统的磁盘配额实例 475

14.2 软件磁盘阵列(Software RAID) 475

14.2.1 什么是RAID 475

14.2.2 硬件RAID,软件RAID 479

14.2.3 软件磁盘阵列的设置 479

14.2.4 模拟RAID错误的恢复模式 482

14.2.5 开机自动启动RAID并自动挂载 483

14.2.6 关闭软件RAID(重要) 484

14.3 逻辑卷管理器(Logical Volume Manager) 484

14.3.1 什么是LVM:PV、PE、VG、LV的意义 485

14.3.2 LVM实践流程 486

14.3.3 放大LV容量 490

14.3.4 使用LVM thin Volume让LVM动态自动调整磁盘使用率 492

14.3.5 LVM的LV磁盘快照 493

14.3.6 LVM相关命令集合与LVM的关闭 496

14.4 重点回顾 497

14.5 本章习题 498

14.6 参考资料与扩展阅读 499



第 15章 计划任务(crontab) 500

15.1 什么是计划任务 501

15.1.1 Linux计划任务的种类:at、cron 501

15.1.2 CentOS Linux系统上常见的例行性工作 501

15.2 仅执行一次的计划任务 502

15.2.1 atd的启动与at运行的方式 502

15.2.2 实际运行单一计划任务 503

15.3 循环执行的计划任务 506

15.3.1 用户的设置 506

15.3.2 系统的配置文件: etc crontab、 etc cron.d * 508

15.3.3 一些注意事项 510

15.4 可唤醒停机期间的工作任务 511

15.4.1 什么是anacron 512

15.4.2 anacron与 etc anacrontab 512

15.5 重点回顾 514

15.6 本章习题 514



第 16章 进程管理与SELinux初探 515

16.1 什么是进程(process) 516

16.1.1 进程与程序(process & program) 516

16.1.2 Linux的多人多任务环境 518

16.2 任务管理(job control) 520

16.2.1 什么是任务管理 520

16.2.2 job control的管理 520

16.2.3 脱机管理问题 523

16.3 进程管理 524

16.3.1 查看进程 524

16.3.2 进程的管理 530

16.3.3 关于进程的执行顺序 531

16.3.4 查看系统资源信息 533

16.4 特殊文件与进程 538

16.4.1 具有SUID SGID权限的命令执行状态 538

16.4.2 proc * 代表的意义 539

16.4.3 查询已使用文件或已执行进程使用的文件 540

16.5 SELinux初探 543

16.5.1 什么是SELinux 543

16.5.2 SELinux的运行模式 544

16.5.3 SELinux 3种模式的启动、关闭与查看 548

16.5.4 SELinux策略内的规则管理 550

16.5.5 SELinux安全上下文的修改 552

16.5.6 一个网络服务案例及日志文件协助 554

16.6 重点回顾 560

16.7 本章习题 561

16.8 参考资料与扩展阅读 561



第五bu分 Linux系统管理员



第 17章 认识系统服务(daemon) 563

17.1 什么是daemon与服务(service) 564

17.1.1 早期System V的init管理操作中daemon的主要分类

(Optional) 564

17.1.2 systemd使用的unit分类 566

17.2 通过systemctl管理服务 568

17.2.1 通过systemctl管理单一服务(service unit)的启动 开机启动与查看状态 568

17.2.2 通过systemctl查看系统上所有的服务 571

17.2.3 通过systemctl管理不同的操作环境(target unit) 572

17.2.4 通过systemctl分析各服务之间的依赖性 574

17.2.5 与systemd的daemon运行过程相关的目录简介 575

17.2.6 关闭网络服务 577

17.3 systemctl针对service类型的配置文件 578

17.3.1 systemctl配置文件相关目录简介 578

17.3.2 systemctl配置文件的设置项目简介 578

17.3.3 两个vsftpd运行的实例 581

17.3.4 多重的重复设置方式:以getty为例 582

17.3.5 自己的服务自己做 585

17.4 systemctl针对timer的配置文件 585

17.5 CentOS 7.x默认启动的服务概要 588

17.6 重点回顾 591

17.7 本章习题 591

17.8 参考资料与扩展阅读 593



第 18章 认识与分析日志文件 594

18.1 什么是日志文件 595

18.1.1 CentOS 7日志文件简易说明 595

18.1.2 日志文件内容的一般格式 597

18.2 rsyslog.service:记录日志文件的服务 598

18.2.1 rsyslog.service的配置文件: etc rsyslog.conf 598

18.2.2 日志文件的安全性设置 603

18.2.3 日志文件服务器的设置 604

18.3 日志文件的轮循(logrotate) 605

18.3.1 logrotate的配置文件 605

18.3.2 实际测试logrotate的操作 608

18.3.3 自定义日志文件的轮循功能 609

18.4 systemd-journald.service简介 610

18.4.1 使用journalctl查看登录信息 611

18.4.2 logger命令的应用 612

18.4.3 保存journal的方式 612

18.5 分析日志文件 613

18.5.1 CentOS默认提供的logwatch 613

18.5.2 鸟哥自己写的日志文件分析工具 615

18.6 重点回顾 616

18.7 本章习题 617

18.8 参考资料与扩展阅读 617



第 19章 启动流程、模块管理与Loader 618

19.1 Linux的启动流程分析 619

19.1.1 启动流程一览 619

19.1.2 BIOS、boot loader与kernel加载 619

19.1.3 第 一个程序systemd及使用default.target进入启动程序分析 625

19.1.4 systemd执行sysinit.target初始化系统、basic.target准备系统 627

19.1.5 systemd启动multi-user.target下的服务 628

19.1.6 systemd启动graphical.target下面的服务 629

19.1.7 启动过程会用到的主要配置文件 629

19.2 内核与内核模块 630

19.2.1 内核模块与依赖性 631

19.2.2 查看内核模块 632

19.2.3 内核模块的加载与删除 632

19.2.4 内核模块的额外参数设置: etc modprobe.d *conf 633

19.3 Boot Loader:Grub2 634

19.3.1 boot loader的两个stage 634

19.3.2 grub2的配置文件 boot grub2 grub.cfg初探 635

19.3.3 grub2配置文件维护 etc default grub与 etc grub.d 638

19.3.4 initramfs的重要性与建立新initramfs文件 642

19.3.5 测试与安装grub2 643

19.3.6 启动前的额外功能修改 645

19.3.7 关于启动画面与终端画面的图形显示方式 647

19.3.8 为个别选项设置密码 647

19.4 启动过程的问题解决 650

19.4.1 忘记root密码的解决之道 650

19.4.2 直接启动就以root执行bash的方法 652

19.4.3 因文件系统错误而无法启动 652

19.5 重点回顾 653

19.6 本章习题 653

19.7 参考资料与扩展阅读 654



第 20章 基础系统设置与备份策略 655

20.1 系统基本设置 656

20.1.1 网络设置(手动设置与DHCP自动获取) 656

20.1.2 日期与时间设置 659

20.1.3 语系设置 660

20.1.4 防火墙简易设置 661

20.2 服务器硬件数据的收集 663

20.2.1 使用dmidecode查看硬件设备 663

20.2.2 硬件资源的收集与分析 664

20.2.3 了解磁盘的健康状态 667

20.3 备份要点 668

20.3.1 备份数据的考虑 668

20.3.2 哪些Linux数据具有备份的意义 669

20.3.3 备份用存储媒介的选择 670

20.4 备份的种类、频率与工具的选择 671

20.4.1 完整备份之累积备份(Incremental backup) 672

20.4.2 完整备份之差异备份(Differential backup) 673

20.4.3 关键数据备份 674

20.5 鸟哥的备份策略 675

20.5.1 每周系统备份的脚本 675

20.5.2 每日备份数据的脚本 676

20.5.3 远程备份的脚本 677

20.6 灾难恢复的考虑 678

20.7 重点回顾 678

20.8 本章习题 679

20.9 参考资料与扩展阅读 679



第 21章 软件安装:源代码与Tarball 680

21.1 开放源码的软件安装与升级简介 681

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

21.1.2 什么是函数库 683

21.1.3 什么是make与configure 683

21.1.4 什么是Tarball的软件 684

21.1.5 如何安装与升级软件 685

21.2 使用传统程序语言进行编译的简单范例 685

21.2.1 单一程序:打印Hello World 686

21.2.2 主、子程序链接:子程序的编译 687

21.2.3 调用外bu函数库:加入链接的函数库 688

21.2.4 gcc的简易用法(编译、参数与连接) 689

21.3 用make进行宏编译 689

21.3.1 为什么要用make 689

21.3.2 makefile的基本语法与变量 690

21.4 Tarball的管理与建议 692

21.4.1 使用源代码管理软件所需要的基础软件 693

21.4.2 Tarball安装的基本步骤 693

21.4.3 一般Tarball软件安装的建议事项(如何删除?升级?) 695

21.4.4 一个简单的范例、利用ntp来示范 696

21.4.5 利用patch更新源代码 697

21.5 函数库管理 699

21.5.1 动态与静态函数库 700

21.5.2 ldconfig与 etc ld.so.conf 701

21.5.3 程序的动态函数库解析:ldd 701

21.6 校验软件正确性 702

21.7 重点回顾 703

21.8 本章习题 704

21.9 参考资料与扩展阅读 705



第 22章 软件安装RPM、SRPM与YUM 706

22.1 软件管理器简介 707

22.1.1 Linux界的两大主流:RPM与DPKG 707

22.1.2 什么是RPM与SRPM 708

22.1.3 什么是i386、i586、i686、noarch、x86_64 709

22.1.4 RPM的优点 710

22.1.5 RPM属性依赖的解决方式:YUM在线升级 711

22.2 RPM软件管理程序:rpm 712

22.2.1 RPM默认安装的路径 712

22.2.2 RPM安装(install) 712

22.2.3 RPM升级与更新(upgrade freshen) 714

22.2.4 RPM查询(query) 714

22.2.5 RPM验证与数字签名(Verify signature) 716

22.2.6 RPM反安装与重建数据库(erase rebuilddb) 719

22.3 YUM在线升级功能 719

22.3.1 利用YUM进行查询、安装、升级与删除功能 720

22.3.2 YUM的配置文件 723

22.3.3 YUM的软件群组功能 725

22.3.4 EPEL ELRepo外挂软件以及自定义配置文件 726

22.3.5 全系统自动升级 728

22.3.6 管理的抉择:RPM还是Tarball 728

22.3.7 基础服务管理:以Apache为例 729

22.4 SRPM的使用:rpmbuild(Optional) 730

22.4.1 利用默认值安装SRPM文件(--rebuid --recompile) 730

22.4.2 SRPM使用的路径与需要的软件 731

22.4.3 配置文件的主要内容(*.spec) 732

22.4.4 SRPM的编译命令(-ba -bb) 735

22.4.5 一个打包自己软件的范例 736

22.5 重点回顾 737

22.6 本章习题 738

22.7 参考资料与扩展阅读 738



第 23章 X Window设置介绍 739

23.1 什么是X Window System 740

23.1.1 X Window System的发展简史 740

23.1.2 主要组件:X Server XClient Window Manager DisplayManager 741

23.1.3 X Window System的启动流程 743

23.1.4 X启动流程测试 746

23.1.5 我是否需要启用X WindowSystem 747

23.2 X Server配置文件解析与设置 748

23.2.1 解析xorg.conf设置 748

23.2.2 字体管理 751

23.2.3 显示器参数微调 753

23.3 显卡驱动程序安装范例 754

23.3.1 NVIDIA 754

23.3.2 AMD(ATI) 756

23.3.3 Intel 756

23.4 重点回顾 757

23.5 本章习题 758

23.6 参考资料与扩展阅读 758



第 24章 Linux内核编译与管理 759

24.1 编译前的任务:认识内核与获取内核源代码 760

24.1.1 什么是内核(Kernel) 760

24.1.2 更新内核的目的 761

24.1.3 内核的版本 762

24.1.4 内核源代码的获取方式 763

24.1.5 内核源代码的解压缩、安装、查看 764

24.2 内核编译前的预处理与内核功能选择 765

24.2.1 硬件环境查看与内核功能要求 765

24.2.2 保持干净源代码:make mrproper 765

24.2.3 开始选择内核功能:make XXconfig 765

24.2.4 内核功能详细选项选择 767

24.3 内核的编译与安装 772

24.3.1 编译内核与内核模块 772

24.3.2 实际安装模块 773

24.3.3 开始安装新内核与多重内核选项(grub) 773

24.4 额外(单一)内核模块编译 774

24.4.1 编译前注意事项 774

24.4.2 单一模块编译 775

24.4.3 内核模块管理 777

24.5 以*新内核版本编译CentOS 7.x的内核 777

24.6 重点回顾 778

24.7 本章习题 778

24.8 参考资料与扩展阅读 778


最后,这里为大家准备了几百本的互联网电子书,有需要的过来取吧。点击获取

本页书籍均来自网络,如有侵权,请联系我立即删除。我的邮箱:yaojianguolq@163.com

------ 全文结束------