第1章 Linux基础 1
1.1 Linux版本 1
1.1.1 Red Hat/RHEL/Fedora 1
1.1.2 Debian/Ubuntu 2
1.1.3 CentOS 3
1.1.4 SUSE/openSUSE 3
1.2 Linux安装前的准备工作 4
1.2.1我能从哪里获得Linux 4
1.2.2硬件要求 5
1.2.3虚拟机的使用 5
1.3安装Linux至硬盘 15
1.3.1第一步:从光驱启动 16
1.3.2关于硬盘分区 16
1.3.3选择软件包 17
1.3.4设置用户和口令 17
1.3.5第一次启动 18
1.4 Linux系统管理 18
1.4.1登录系统 18
1.4.2用户管理 19
1.4.3进程管理 19
1.4.4软件包管理 19
1.4.5退出系统 19
1.5命令行模式 19
1.5.1使用命令行 19
1.5.2使用命令技巧 20
1.5.3 VI编辑器 22
第2章 硬件管理 23
2.1设备管理 23
2.1.1 arch指令:显示主机架构类型 23
2.1.2 hwclock指令:查询与设置硬件时钟 24
2.1.3 Ispci指令:显示PCI设备列表 25
2.1.4 setpci指令:配置PCI设备 28
2.1.5 lsusb指令:显示USB设备列表 29
2.1.6 eject指令:弹出可移动媒体 31
2.2磁盘管理 33
2.2.1 df指令:报告磁盘空间使用情况 33
2.2.2 mdu指令:显示MS-DOS目录所占用的磁盘空间 35
2.2.3 mlabel指令:显示或设置MS-DOS磁盘驱动器的标签名称 36
2.2.4 mzip指令:zip/jaz磁盘驱动器控制指令 37
2.2.5 quota指令:显示磁盘已使用的空间与限制 39
2.2.6 quotacheck指令:检查磁盘的使用空间与限制 40
2.2.7 quotaoff指令:关闭磁盘空间限制 42
2.2.8 quotaon指令:开启磁盘空间限制 43
2.2.9 repquota指令:检查磁盘空间限制的状态 44
2.2.10 edquota指令:编辑磁盘配额 46
2.3系统杂项 47
2.3.1 chkconfig指令:设置系统的服务 47
2.3.2 last指令:显示登录系统的用户信息 50
2.3.3 lastb指令:列出登录系统失败的用户相关信息 52
2.3.4 service指令:Linux服务管理工具 53
2.3.5 cal指令:显示日历 56
2.3.6 date指令:显示或设置系统日期和时间 58
2.3.7 clear指令:清除屏幕信息 62
2.3.8 hostid指令:显示主机数字标识 62
2.3.9 be指令:计算任意精度的算数语言 64
2.3.10 sudo指令:用另一个用户执行指令 65
2.3.11 yes指令:反复输出指定字符串 69
2.3.12 shutdown指令:关闭计算机 70
第3章 文件系统管理 73
3.1创建文件系统 73
3.1.1 mke2fs指令:创建第二扩展文件系统 73
3.1.2 mkfs指令:创建各种文件系统 76
3.1.3 dump指令:文件系统备份 78
3.1.4 mknod指令:创建块设备或字符设备文件 80
3.1.5 mkswap指令:创建交换分区文件系统 82
3.1.6 mktemp指令:创建一个临时文件或目录 83
3.1.7 restore指令:还原由dump备份的文件或文件系统 85
3.1.8 mkisofs指令:创建光盘映像文件 87
3.2文件系统加载 90
3.2.1 mount指令:加载文件系统 90
3.2.2 umount指令:卸载已经加载的文件系统 92
3.2.3 mmount指令:挂入MS-DOS文件系统 94
3.2.4 grub指令:Linux系统下的引导加载器 95
3.2.5 lilo指令:Linux加载器 96
3.3检查文件系统 98
3.3.1 swapoff指令:关闭交换空间 98
3.3.2 swapon指令:激活交换空间 99
3.3.3 fsck指令:检查文件系统 101
3.3.4 e2fsck指令:检查ext2/ext3/ext4文件系统 103
3.4文件系统信息管理 106
3.4.1 dumpe2fs指令:显示ext2/ext3/ext4文件系统信息 106
3.4.2 sync指令:强制将缓存数据存入磁盘 109
3.4.3 e21abel指令:改变ext2/ext3/ext4文件系统的标签 110
3.4.4 volname指令:显示卷名 111
3.4.5 tune2fs指令:调整ext2/ext3/ext4文件系统参数 112
3.4.6 resize2fs指令:调整ext2/ext3/ext4文件系统大小 115
3.4.7 findfs指令:通过卷标或UUID查找文件系统 117
3.4.8 e2image指令:保存ext2/ext3/ext4元数据到文件 117
3.4.9 convertquota指令:转换磁盘空间限制的文件格式 118
第4章 目录管理 120
4.1创建目录 120
4.1.1 mmd指令:在MS-DOS文件系统中建立目录 120
4.1.2 mkdir指令:建立目录 121
4.2复制目录 122
4.2.1 rcp指令:远程复制文件或者目录 122
4.2.2 In指令:链接文件或者目录 123
4.2.3 lndir指令:链接目录内容 125
4.3移动目录 126
4.3.1 mren指令:更名MS-DOS文件或目录,移动文件或目录 126
4.3.2 my指令:移动或更名现有的文件或目录 127
4.4显示目录 129
4.4.1 find指令:查找文件或者目录 129
4.4.2 mdir指令:显示MS-DOS目录 133
4.4.3du指令:显示目录或文件的大小 134
4.4.4 pwd指令:显示工作目录 140
4.4.5 ls指令:列出目录内容 141
4.5更改目录权限 144
4.5.1 chgrp指令:变更文件或目录的所属群组 144
4.5.2 chmod指令:变更文件或目录的权限 146
4.5.3 chown指令:变更文件或目录的拥有者或所属群组 148
4.6切换目录 150
4.6.1 cd指令:切换目录 150
4.6.2 mcd指令:在MS-DOS文件系统中切换工作目录 151
4.7删除目录 151
4.7.1 mrd指令:删除MS-DOS文件系统中的目录 151
4.7.2 rmdir指令:删除目录 152
4.7.3 mdeltree指令:删除MS-DOS目录 154
第5章 文件管理 156
5.1文件程序 156
5.1.1 mc指令:提供菜单式的文件管理程序 156
5.1.2 git指令:文字模式下的文件管理员 158
5.1.3 gitview指令:Hex/ASCII的文件查看程序 160
5.2比较文件 161
5.2.1 diff指令:比较并显示两个文件的不同 161
5.2.2 cmp指令:比较两个文件是否有差异 163
5.2.3 comm指令:比较两个有序文件的不同 165
5.2.4 diff3指令:比较3个文件的不同 167
5.2.5 diffstat指令:根据diff的比较结果显示统计数字 168
5.2.6 file指令:识别文件的类型 170
5.3文件属性 171
5.3.1 chattr指令:修改文件的属性 171
5.3.2 lsattr指令:显示文件属性 173
5.3.3 mattrib指令:变更或显示MS-DOS文件的属性 175
5.4复制文件 176
5.4.1 mcopy指令:复制MS-DOS文件 176
5.4.2 cat指令:连接文件并显示到标准输出 177
5.5查找文件 179
5.5.1 whereis指令:查找命令的位置 179
5.5.2 which指令:查找文件 180
5.5.3 sort指令:排序数据文件 182
5.6检查文件 184
5.6.1 cksum指令:检查文件的CRC是否正确 184
5.6.2 sum指令:计算并显示文件的校验码 185
5.6.3 stat指令:显示文件状态 187
5.7更改文件 189
5.7.1 paste指令:合并文件的列 189
5.7.2 patch指令:修补文件 191
5.7.3 split指令:切割文件 194
5.7.4 fold指令:设置文件显示的行宽 195
5.7.5 tr指令:转换或删除文件中的字符 197
5.7.6 csplit指令:分割文件 198
5.7.7 touch指令:修改文件或目录的时间 201
5.7.8 indent指令:调整C源代码文件的格式 203
5.7.9 umask指令:指定在建立文件时预设的权限掩码 206
5.8删除文件 207
5.8.1 mdel指令:删除MS-DOS文件 207
5.8.2 tmpwatch指令:删除缓存文件 208
第6章 文件压缩备份 210
6.1创建归档文件 210
6.1.1 ar指令:创建、修改归档文件和从归档文件中提取文件 210
6.1.2 tar指令:创建备份档案文件 212
6.2压缩文件 215
6.2.1 gzip指令:GNU的压缩和解压缩工具 216
6.2.2 arj指令:“.arj”文件压缩命令 218
6.2.3 compress指令:压缩数据文件 220
6.2.4 cpio指令:存取归档包中的文件 222
6.2.5 bzip2指令:创建“.bz2”格式的压缩文件 226
6.2.6 zforce指令:强制gzip格式的文件加上“.gz”后缀 227
6.2.7 zip指令:压缩文件 228
6.2.8 zipinfo指令:显示zip压缩文件详细信息 230
6.2.9 znew指令:将.Z文件转换成.gz文件 232
6.2.10 lha指令:压缩和解压缩指令 233
6.2.11 gzexe指令:压缩可执行程序 235
6.2.12 bzip2recover指令:修复损坏的.bz2文件 237
6.3解压缩文件 238
6.3.1 bunzip2指令:解压缩bzip2格式的压缩文件 238
6.3.2 gunzip指令:解压缩由gzip压缩的文件 239
6.3.3 bzcat指令:解压缩文件到标准输出 241
6.3.4 bzless/bzmore指令:解压缩.bz2文件并分屏显示内容 242
6.3.5 unarj指令:解压缩.arj文件 243
6.3.6 uncompress指令:解压缩.Z文件 245
6.3.7 unzip指令:解压缩.zip文件 247
6.3.8 zcat指令:解压缩文件并送到标准输出 249
第7章 文本编辑 252
7.1显示文本内容 252
7.1.1 grep/egrep/fgrep指令:显示文件中匹配的行 252
7.1.2 head指令:输出文件开头部分内容 255
7.1.3 less指令:分屏查看文本文件 257
7.1.4 more指令:分屏查看文本文件 260
7.1.5 look指令:显示文件中以特定字符串开头的行 262
7.1.6 cut指令:显示文件中每行的指定内容 264
7.1.7 od指令:以数字编码输出文件内容 266
7.1.8 tac指令:反序显示文件内容 268
7.1.9 tail指令:输出文件尾部部分内容 269
7.2文本编辑器 272
7.2.1 vi指令:全屏文本编辑器 272
7.2.2 ed指令:行文本编辑器 275
7.2.3 emacs指令:全屏文本编辑器 278
7.2.4 ex指令:文本编辑器 280
7.2.5 jed指令:文本编辑器 282
7.2.6 pico指令:文本编辑器 284
7.2.7 sed指令:流文件编辑器 287
7.2.8 joe指令:编辑文本文件 289
7.3检查文本内容 292
7.3.1 ispell指令:交互式拼写检查程序 292
7.3.2 join指令:合并两文件的相同字段 294
7.3.3 spell指令:拼写检查 296
7.4过滤文本内容 297
7.4.1 col指令:过滤控制字符 297
7.4.2 colrm指令:从输入中过滤掉指定的列 298
7.5统计文本内容 299
7.5.1 paste指令:合并文件的行 299
7.5.2 we指令:计算文件的字节数、单词数和行数 301
7.6转换文本格式 302
7.6.1 expand指令:将TAB转换为空白(space) 302
7.6.2 unexpand指令:将空白(space)转换为TAB 303
7.6.3 fmt指令:最优化文本格式 304
7.7删除文本内容 307
7.7.1 uniq指令:删除文件中的重复行 307
7.7.2 tee指令:读取标准输入的数据,并将其内容输出成文件 309
第8章 用户管理 311
8.1用户基本操作 311
8.1.1 su指令:切换用户 311
8.1.2 useradd指令:创建用户 313
8.1.3 userdel指令:删除用户 315
8.1.4 logname命令:显示登录用户名 316
8.1.5 passwd指令:设置用户密码 317
8.1.6 pwck指令:验证用户密码文件的完整性 319
8.1.7 usermod指令:修改用户的配置信息 320
8.1.8 users指令:显示当前登录系统的所有在线用户 322
8.1.9 finger指令:用户信息查询程序 323
8.2改变用户的信息 325
8.2.1 chfn指令:改变用户的finger信息 325
8.2.2 chsh命令:改变用户登录时的默认shell 327
8.3用户组的管理 329
8.3.1 gpasswd指令:管理组文件/etc/group 329
8.3.2 groupadd指令:创建组 330
8.3.3 groupdel指令:删除组 332
8.3.4 groupmod指令:修改组信息 332
8.3.5 groups指令:显示用户所属的组 333
8.3.6 grpck指令:验证组文件/etc/group的完整性 334
8.4用户组的口令文件 335
8.4.1 grpconv指令:开启群组的影子口令文件 336
8.4.2 grpunconv指令:关闭组的影子口令文件 337
第9章 进程管理 338
9.1启动进程 338
9.1.1 init指令:进程初始化控制 338
9.1.2 nice指令:设置进程优先级 340
9.1.3 renice指令:调整进程优先级 341
9.1.4 pkill指令:向指定的进程发送信号 343
9.1.5 nohup指令:以忽略挂起信号方式运行程序 345
9.2显示进程相关信息 346
9.2.1 ps指令:显示系统当前的进程状态 346
9.2.2 pgrep指令:基于名字查询并显示进程号 351
9.2.3 pidof指令:查找正在运行程序的进程号 353
9.2.4 w指令:显示当前登录用户的相关信息 355
9.2.5 watch指令:全屏方式显示指定命令的输出信息 356
9.2.6 pstree指令:用树形图显示进程的父子关系 358
9.2.7 killall指令:根据名称结束进程 362
第10章 网络配置 364
10.1基本配置 364
10.1.1 ifcfg指令:配置网络接口 364
10.1.2 ifconfig指令:配置网络接口的网络参数 365
10.1.3 ifup指令:启动指定网络接口 370
10.2显示网络信息 371
10.2.1 dnsdomainname指令:显示系统的DNS域名 371
10.2.2 domainname指令:显示和设置主机域名 372
10.2.3 nisdomainname指令:显示和设置主机域名 373
10.2.4 ypdomainname指令:显示和设置主机域名 375
10.2.5 route指令:显示与管理本机的IP路由表 376
10.2.6 hostname指令:显示或设置系统主机名 379
10.2.7 ifdown指令:关闭指定网络接口 381
10.3测试网络 382
10.3.1 arp指令:管理本机ARP缓冲区 382
10.3.2 arping指令:向邻居主机发送ARP请求报文 385
10.3.3 arpwatch指令:监听网络上的ARP信息 386
10.3.4 ipcalc指令:IP地址计算器 388
10.3.5 netstat指令:显示网络状态 389
10.3.6 ping指令:测试到达目标主机的网络是否通畅 392
10.3.7 tracepath指令:追踪数据经过的路由 394
10.3.8 traceroute指令:追踪数据包到达目的主机经过的路由 395
10.3.9 ip指令:强大的多功能网络配置工具 397
10.3.10 iptables指令:IP包过滤与NAT管理工具 405
10.3.11 iptables-save指令:保存内核中iptables的配置 413
10.3.12 iptables-restore指令:还原iptables的配置信息 416
第11章 打印管理 418
11.1配置打印机 418
11.1.1 lpadmin指令:配置CPUS打印机和类 418
11.1.2 pr指令:打印前转换文本格式 419
11.2打印基本指令 421
11.2.1 accept指令:接受打印请求 421
11.2.2 reject指令:拒绝打印请求 422
11.2.3 enable指令:启动打印机 422
11.2.4 lpc指令:控制打印机 423
11.2.5 lpr指令:打印文件 424
11.2.6 lp指令:打印文件 426
11.2.7 lprm指令:删除当前打印队列中的作业 427
11.2.8 cancel指令:取消打印任务 428
11.3显示打印 429
11.3.1 lpq指令:显示当前打印队列 429
11.3.2 lpstat指令:显示CUPS的状态信息 431
第12章 内核管理 432
12.1处理内核依赖关系 432
12.1.1 depmod指令:处理内核可加载模块的依赖关系 432
12.1.2 modprobe指令:加载内核模块并解决依赖关系 434
12.1.3 insmod指令:加载模块到内核 438
12.2显示内核信息 440
12.2.1 dmesg指令:显示内核的输出信息 440
12.2.2 free指令:显示内存使用情况 442
12.2.3 ipcs指令:显示进程间通信的状态信息 443
12.2.4 kemelversion指令:显示内核主版本号 445
12.2.5 Ismod指令:显示已加载的模块 446
12.2.6 modinfo指令:显示内核模块信息 448
12.2.7 mpstat指令:显示进程相关状态信息 449
12.2.8 sar指令:收集、显示和保存系统活动信息 450
12.2.9 top指令:显示和管理系统进程 452
12.2.10 uname指令:显示系统信息 454
12.2.11 uptime指令:显示系统运行时间及平均负载 455
12.2.12 vmstat指令:显示虚拟内存的状态 456
12.2.13 slabtop指令:实时显示内核的slab缓存信息 459
12.3监视内核 461
12.3.1 tload指令:监视系统平均负载情况 461
12.3.2 iostat指令:报告CPU、I/O设备及分区状态 462
12.3.3 sysctl指令:运行时修改内核参数 464
12.3.4 rmmod指令:从内核中删除模块 465
第13章 FTP远程文件管理 468
13.1登录服务器 468
13.1.1ftp指令:登录FTP服务器 468
13.1.2 ftpcount指令:显示目前以FTP登录的用户人数 470
13.1.3 ftpwho指令:显示目前登录FTP服务器的用户信息 471
13.2传送文件 472
13.2.1 ncftp指令:传输文件 472
13.2.2 tftp指令:传输文件 473
13.2.3 uucp指令:在系统之间传送文件 474
13.2.4 uucico指令:UUCP文件传输服务程序 476
13.3处理文件 477
13.3.1 uupick指令:处理传送过来的文件 477
13.3.2 uuto指令:将文件传送到远程的UUCP主机 478
13.4中断服务器 479
13.4.1 bye指令:中断FTP连接并结束程序 479
13.4.2 ftpshut指令:在指定的时间关闭FTP服务器 480
第14章 网络服务管理 482
14.1 Samba服务 482
14.1.1 nfsstat指令:显示网络文件系统状态 482
14.1.2 smbclient指令:Samba服务器客户端工具 485
14.1.3 smbmount指令:加载samba文件系统 488
14.1.4 smbpasswd指令:改变Samba用户的密码 489
14.2 NF S服务 490
14.2.1 exportfs指令:管理NFS服务器共享的文件系统 490
14.2.2 showmount指令:显示NFS服务器上的加载信息 492
14.3 Apache服务 493
14.3.1 apachectl指令:Apache HTTP服务器控制程序 493
14.3.2 httpd指令:Apache HTTP服务器主程序 495
14.3.3 htdigest指令:管理用于摘要认证的用户文件 499
14.3.4 htpasswd指令:管理用于基本认证的用户文件 501
14.3.5 ab指令:Apache HTTP服务器性能测试 503
14.3.6 elinks指令:纯文本网页浏览器 507
14.3.7 lynx指令:纯文本网页浏览器 509
14.3.8 wget指令:从指定URL地址下载文件 510
14.4 MySQL服务 514
14.4.1 mysql指令:MySQL服务器客户端工具 514
14.4.2 mysqladmin指令:MySQL服务器管理工具 518
14.4.3 msqldump指令:MySQL服务器备份工具 521
14.4.4 mysqlimport指令:MySQL数据库导入工具 524
14.4.5 mysqlshow指令:显示MySQL数据库、表和字段信息 526
14.5邮件服务 529
14.5.1 mailq指令:显示待发送的邮件队列 530
14.5.2 sendmail指令:电子邮件传送代理程序 531
14.5.3 mail指令:启动E-mail管理程序 533
14.6 DNS服务 535
14.6.1 dig指令:域名查询工具 536
14.6.2 nslookup指令:DNS域名查询工具 538
14.6.3 host指令:DNS域名查询工具 541
14.7 LDAP服务 543
14.7.1 ldapadd指令:LDAP添加条目工具 543
14.7.2 Idapsearch指令:LDAP查找工具 544
14.7.3 Idapmodify指令:LDAP修改条目工具 547
14.7.4 ldapdelete指令:LDAP删除条目工具 549
14.8 NTP服务 550
14.8.1 ntpdate指令:使用网络计时协议(NTP)设置日期和时间 550
14.8.2 ntpq指令:标准的NTP查询程序 552
14.8.3 ntpstat指令:显示网络时间同步状态 553
14.9其他服务 553
14.9.1 sshd指令:OpenSSH守护进程 553
14.9.2 squid指令:HTTP代理服务器程序 555
第15章 Shell管理 559
15.1 Shell编程基础 559
15.1.1 enable指令:激活与关闭Shell内部命令 559
15.1.2 echo指令:打印子符串到标准输出 562
15.1.3 kill指令:杀死进程或作业 563
15.2 Shell设置 566
15.2.1 alias指令:定义命令别名 566
15.2.2 unalias指令:取消由alias定义的命令别名 568
15.2.3 set指令:设置Shell的执行方式 570
15.2.4 ulimit指令:设置Shell的资源限制 573
15.3显示Shell指令 575
15.3.1 dirs指令:显示Shell目录堆栈中的记录 575
15.3.2 bind指令:显示或设置键盘配置 577
15.3.3 hash指令:显示与清除指令运行时查询的哈希表 580
15.3.4 history指令:显示与操纵历史命令 582
15.3.5 jobs指令:显示Shell的作业信息 584
15.4变量及相关操作 585
15.4.1 declare指令:声明Shell变量 585
15.4.2 shopt指令:设置控制Shell行为变量的开关 590
15.4.3 export指令:设置与显示环境变量 593
15.4.4 unset指令:删除定义的Shell变量或函数 596
15.4.5 eval指令:执行指定指令并返回结果 597
15.4.6 fc指令:编辑并执行历史命令 598
15.4.7 popd指令:从Shell目录堆栈中删除记录 600
15.4.8 pushd指令:向Shell目录堆栈中添加记录 602
15.5作业(或任务)运行 604
15.5.1 bg指令:将作业(或任务)放到后台运行 604
15.5.2 fg指令:将后台任务(或作业)切换到前台运行 606
15.6退出Shell环境 607
15.6.1 exec指令:执行给定指令后退出登录 607
15.6.2 exit指令:退出当前Shell 608
15.6.3 logout指令:退出登录Shell 609
索引目录 611