第1篇 文件与目录管理指令 2
第1章 目录的基本操作 2
命令1 Is命令 2
实例1 显示当前目录下非隐藏文件与目录 3
实例2 显示当前目录下包括隐藏文件在内的所有文件列表 3
实例3 输出长格式列表 4
实例4 显示文件的inode信息 4
实例5 水平输出文件列表 5
实例6 修改最后一次编辑的文件 5
实例7 递归显示文件 6
实例8 打印文件的UID和GID 6
实例9 列出文件和文件夹详细信息 6
实例10 列出可读文件和文件夹详细信息 7
实例11 显示文件夹信息 7
实例12 按时间列出文件和文件夹信息 8
实例13 按修改时间列出文件和文件夹详细信息 8
实例14 按照特殊字符对文件进行分类 9
实例15 列出文件并标记颜色分类 9
命令2 cd命令 10
实例1 改变工作目录 10
实例2 快速返回用户的宿主目录 11
实例3 “-P”选项的用法 11
实例4 “-L”选项的用法 12
命令3 cp命令 13
实例1 复制单个文件 13
实例2 复制多个文件 14
实例3 使用通配符简化文件名的输入 14
实例4 创建符号连接 14
实例5 创建硬连接 15
命令4 mv命令 15
实例1 文件改名 16
实例2 批量移动文件 16
命令5 pwd命令 17
实例1 显示当前工作目录 17
命令6 rm命令 17
实例1 删除普通文件 18
实例2 强制删除文件 18
实例3 使用通配符删除文件 18
实例4 删除目录 19
实例5 强制删除目录 19
命令7 mkdir命令 20
实例1 创建目录 20
实例2 在当前路径创建多级目录 21
实例3 指定新建目录的权限 21
命令8 rmdir命令 22
实例1 删除空目录 22
实例2 删除非空目录 23
实例3 递归删除目录树 23
命令9 dirs命令 24
实例1 显示目录堆栈内容 24
命令10 pushd命令 25
实例1 目录堆栈操作 25
命令11 popd命令 25
实例1 显示目录中堆栈中的内容 26
命令12 tree命令 26
实例1 显示所有文件和目录 27
实例2 显示目录而不显示内容 28
实例3 显示指定的目录 28
第2章 文件创建、移动、删除与处理 30
命令1 cat命令 30
实例1 压缩文件中多余的空行 30
实例2 显示非空行的行号 31
实例3 显示文件中所有内容 31
实例4 查看文件 31
实例5 对所有行进行编号输出显示 32
命令2 touch命令 33
实例1 设置文件的时间属性 33
实例2 创建空文件 34
实例3 大批量的创建空文件 34
命令3 In命令 35
实例1 为文件和目录创建连接 35
实例2 对指定文件创建连接 37
命令4 dd命令 37
实例1 复制文件并转换文件内容 37
实例2 制作光盘ISO映像文件 38
实例3 制作软盘映像文件 39
命令5 updatedb命令 39
实例1 更新指定目录的slocate数据库 39
命令6 dirname命令 40
实例1 仅显示文件的目录信息 40
命令7 pathchk命令 40
实例1 检查路径的有效性 41
命令8 unlink命令 41
实例1 删除文件 41
实例2 删除目录 42
命令9 basename命令 42
实例1 去掉文件名中的路径信息 42
实例2 去掉文件名中的路径信息和后缀 43
命令10 rename命令 43
实例1 批量重命名文件 43
第3章 文件编辑器应用 46
命令1 vi命令 46
实例1 显示文件行号 48
命令2 emacs命令 48
实例1 启动emacs编辑器 49
命令3 ed命令 49
实例1 以行为单位编辑文本文件 50
命令4 ex命令 51
实例1 使用vi的ex模式编辑文件 51
命令5 jed命令 52
实例1 编辑shell脚本文件 52
命令6 pico命令 53
实例1 编辑文本文件 54
命令7 sed命令 54
实例1 删除指定行 55
实例2 删除文件中以#开头的行 56
实例3 替换指定内容 57
实例4 添加行 58
命令8 joe命令 58
实例1 使用joe编辑文本文件 59
第4章 文件查看与文件权限、属性设置 62
命令1 more命令 62
实例1 分屏显示指定文件 62
实例2 分屏显示其他指令的输出信息 62
命令2 less命令 63
实例1 分屏查看文件文件内容 64
实例2 分屏查看其它指令的输出 64
命令3 head命令 65
实例1 显示文件的头部内容 66
实例2 显示多个文件的头部内容 66
实例3 显示文件头部指定行数的内容 66
命令4 tail命令 67
实例1 显示文件尾部内容 68
实例2 监视日志文件的变化 68
命令5 cut命令 68
实例1 显示指定字段的内容 69
实例2 显示指定字符的内容 70
命令6 od命令 70
实例1 以指定编码显示文件 71
命令7 file命令 71
实例1 探测单个文件类型 72
实例2 批量探测文件的类型 73
命令8 stat命令 73
实例1 显示文件系统状态 74
命令9 chown命令 74
实例1 使用chown指令改变文件的所有者 75
实例2 改变文件所有者和所属工作组 75
实例3 递归改变目录下所有文件的所有者 76
实例4 使用通配符改变文件的所有者 76
实例5 使用模板文件改变文件的所有者和所属工作组 76
命令10 chgrp命令 77
实例1 改变文件所属组 77
命令11 chmod命令 78
实例1 使用“+”和“-”设置权限 79
实例2 使用“=”设置权限 80
实例3 使用数字方式设置权限 81
实例4 特殊权限位suid的应用 81
实例5 不可执行文件的特殊权限suid 82
实例6 用4位数修改特殊权限位 83
命令12 umask命令 83
实例1 权限掩码的应用 84
命令13 chattr命令 84
实例1 防止文件被修改 85
命令14 whereis命令 85
实例1 定位指令以及相关文件 86
命令15 which命令 87
实例1 显示指令绝对路径 87
命令16 locate/slocate命令 88
实例1 查找文件路径 88
实例2 统计符合条件的文件数 89
命令17 lsattr命令 89
实例1 查看磁盘的属性 90
第5章 文件查找与比较 92
命令1 find命令 92
实例1 显示目录及子目录内容列表 94
实例2 按文件名查找 94
实例3 查找文件并执行相关操作 95
命令2 grep命令 95
实例1 搜索并显示含有指定字符串的行 97
实例2 搜索并显示不含指定字符串的行 97
实例3 使用正则表达式进行搜索 97
实例4 统计匹配的行数 98
命令3 cmp命令 98
实例1 比较两个二进制文件 99
命令4 diff命令 99
实例1 比较两个文本文件的不同 101
实例2 比较两个目录下的文件的不同 102
命令5 diff3命令 102
实例1 比较3个文件的不同 103
第6章 文件过滤、分割与合并 106
命令1 col命令 106
实例1 过滤控制字符 106
命令2 colrm命令 107
实例1 删除文件中的指定列 107
命令3 uniq命令 108
实例1 删除有序文件的重复行 109
实例2 仅显示重复行内容 110
实例3 uniq指令与其他指令的整合 110
命令4 csplit命令 111
实例1 从指定行号处分割文件 112
实例2 自定义输出文件名 112
实例3 指定文件分割模式 113
命令5 wc命令 113
实例1 统计单个文件的行数、单词数和字节数 114
实例2 对多个文件进行统计 114
实例3 wc指令与管道符号连用 114
命令6 sort命令 115
实例1 排序文件 115
命令7 join命令 116
实例1 合并文件中的相同字段 117
命令8 unexpand命令 117
实例1 将文件中的空白转换为TAB 118
命令9 tr命令 118
实例1 转换特定字符 119
实例2 转换大小写 120
实例3 数字转换 120
实例4 删除指定字符 121
实例5 利用tr进行格式优化 121
命令10 tee命令 121
实例1 保存文件的多个副本 122
命令11 tac命令 122
实例1 以行为单位反序显示文件内容 123
命令12 spell命令 123
实例1 对文件进行拼写检查 123
命令13 paste命令 124
实例1 合并两个文件 124
命令14 look命令 125
实例1 显示以指定字符串开头的行 125
实例2 查字典 126
命令15 ispell命令 126
实例1 对文件拼写检查并纠正错误 127
命令16 fold命令 127
实例1 设置文件显示的行宽 128
命令17 fmt命令 128
实例1 设置文件的显示格式 129
命令18 expand命令 130
实例1 将文件中的TAB转换为空白 130
命令19 comm命令 130
实例1 比较两个文件 131
命令20 diffstat命令 132
实例1 显示diff输出的统计信息 133
实例2 统计linux内核补丁程序的操作记录 133
命令21 printf命令 134
实例1 格式化输出 134
命令22 pr命令 135
实例1 格式化文本内容 135
命令23 rev命令 136
实例1 以字符为单位反序输出每行的内容 136
第7章 文件传输 138
命令1 ftp命令 138
实例1 ftp指令的内部指令的基本应用 138
命令2 ncftp命令 139
实例1 从FTP服务器上下载文件 139
命令3 rcp命令 140
实例1 使用普通用户在两台主机间复制文件 140
命令4 scp命令 141
实例1 复制本地文件到远程主机 142
实例2 在两台主机之间复制文件 142
命令5 tftp命令 143
实例1 用tftp指令向tftp服务器上传与下载文件 143
第8章 文件压缩与解压缩 146
命令1 tar命令 146
实例1 打包目录 146
实例2 打包文件 147
实例3 打包并用gzip压缩 147
实例4 打包并使用compress压缩 148
实例5 打包并使用bzip2压缩 148
实例6 显示tar包中的文件 148
实例7 显示压缩后的tar包中文件 149
实例8 解开tar包 149
实例9 解开压缩过的tar包 149
命令2 gzip命令 150
实例1 压缩单个文件 151
实例2 指定压缩文件的后缀 151
实例3 显示压缩文件信息 151
命令3 gunzip命令 152
实例1 解压缩.gz文件 152
实例2 解压缩非标准后缀的压缩文件 153
命令4 bzip2命令 153
实例1 压缩单个文件 154
实例2 显示压缩比率 155
实例3 一次压缩多个文件 155
实例4 压缩打包文件 156
命令5 bunzip2命令 156
实例1 解压单个“.bz2”压缩包 157
实例2 解压缩多个“bz2”压缩包 157
命令6 comp ress命令 158
实例1 压缩文件 158
命令7 uncompress命令 159
实例1 解压缩.Z文件 159
命令8 zip命令 160
实例1 创建zip压缩包 162
命令9 unzip命令 162
实例1 解压缩.zip压缩包 163
实例2 显示解压缩包内的文件信息 164
命令10 arj命令 164
实例1 创建arj压缩包 165
实例2 压缩整个目录 166
命令11 unarj命令 166
实例1 解压缩.arj文件 166
实例2 解压缩文件并保持原始路径 167
命令12 bzcat命令 167
实例1 显示.bz2压缩包中文件内容 168
命令13 bzcmp命令 168
实例1 比较两个.bz2压缩包中文件的不同 169
命令14 bzdiff命令 170
实例1 比较压缩包内文件的不同 170
命令15 bzgrep命令 171
实例1 在.bz2压缩包中搜索匹配模式的行 171
命令16 bzip2recover命令 172
实例1 恢复.bz2压缩包中的文件 172
命令17 bzmore命令 173
实例1 分屏查看压缩包中的文件 173
命令18 bzless命令 174
实例1 分屏查看压缩包中的文件 174
命令19 zipinfo命令 174
实例1 显示zip压缩包细节信息 175
实例2 显示压缩包内文件列表 175
实例3 显示压缩文件的冗长信息 176
命令20 zipsplit命令 176
实例1 分割较大的zip压缩包 177
命令21 zfore命令 178
实例1 为gzip格式的文件添加“.gz”后缀 178
命令22 znew命令 179
实例1 将.Z文件转换为“.gz”文件 179
命令23 zcat命令 180
实例1 显示压缩包中文件的内容 180
命令24 gzexe命令 181
实例1 压缩可执行程序 181
第9章 文件备份、归档与恢复 184
命令1 cpio命令 184
实例1 备份etc目录 185
命令2 dump命令 186
实例1 备份目录 187
实例2 备份文件系统 187
命令3 restore命令 188
实例1 完全还原 189
实例2 交互式还原 189
第2篇 Linux系统管理指令 192
第10章 系统关机与重新启动 192
命令1 ctrlaltdel命令 192
实例1 设置组合键“ctrl+alt+del”的功能 192
命令2 halt命令 192
实例1 关闭操作系统并切断电源 193
命令3 powerozff命令 193
实例1 安全的关闭系统 193
命令4 reboot命令 194
实例1 重新启动linux操作系统 194
命令5 shutdown命令 195
实例1 立即重新启动计算机 195
实例2 立即关闭计算机 196
实例3 10分钟后关闭系统 196
第11章 用户和工作组管理 198
命令1 useradd命令 198
实例1 创建新用户 198
命令2 userdel命令 198
实例1 删除用户 199
命令3 passwd命令 199
实例1 显示用户密码概述信息 199
实例2 修改用户密码 200
实例3 脚本中改变用户密码 200
命令4 groupadd命令 201
实例1 创建新工作组 201
命令5 groupdel命令 201
实例1 删除工作组 201
命令6 su命令 202
实例1 切换用户身份 202
实例2 以指定用户执行指令 203
命令7 usermod命令 203
实例1 修改用户宿主目录 204
命令8 chfn命令 204
实例1 改变用户finger信息 205
命令9 chsh命令 205
实例1 改变默认shell 206
命令10 finger命令 206
实例1 显示用户详细信息 207
命令11 gpasswd命令 207
实例1 管理工作组成员 208
命令12 groupmod命令 208
实例1 修改工作组的组ID 209
命令13 groups命令 209
实例1 打印用户所属组 209
命令14 pwck命令 210
实例1 检查密码文件 210
命令15 grpck命令 211
实例1 验证组文件完整性 211
命令16 logname命令 211
实例1 shell脚本中使用logname 211
命令17 newusers命令 212
实例1 批处理创建用户 212
命令18 chpasswd命令 213
实例1 批量修改用户密码 213
命令19 nologin命令 213
实例1 礼貌的拒绝用户登录 213
命令20 pwconv命令 214
实例1 创建用户影子文件 215
命令21 pwunconv命令 215
实例1 将密码从shadow文件内回存到passwd文件里 215
命令22 grpconv命令 216
实例1 创建工作组影子文件 216
命令23 grpunconv命令 216
实例1 还原组密码到“group”文件 217
第12章 文件系统管理 220
命令1 mount命令 220
实例1 加载文件系统 220
实例2 显示已加载的所有文件系统 221
命令2 umount命令 221
实例1 卸载文件系统 221
命令3 mkfs命令 222
实例1 创建文件系统 222
命令4 mke2fs命令 223
实例1 创建文件系统 223
命令5 fsck命令 224
实例1 检查文件系统 224
命令6 dumpe2fs命令 225
实例1 显示指定分区超级块信息 225
命令7 e2fsck命令 226
实例1 检查文件系统 227
命令8 chattr命令 227
实例1 修改文件的ext2文件系统属性 227
命令9 mountpoint命令 228
实例1 判读目录是否是加载点 229
命令10 edquota命令 229
实例1 设置软限制宽限期限 230
命令11 quotacheck命令 230
实例1 配置磁盘配额 231
命令12 quotaoff命令 232
实例1 关闭文件系统的磁盘配额 232
命令13 quotaon命令 232
实例1 显示磁盘配额的激活状态 233
实例2 激活磁盘配额 233
命令14 quota命令 233
实例1 显示用户的磁盘配额 234
命令15 quotastats命令 234
实例1 显示内核磁盘配额运行状态 234
命令16 repquota命令 235
实例1 打印分区的磁盘配额报表 235
命令17 swapoff命令 236
实例1 关闭交换分区 236
命令18 swapon命令 236
实例1 激活交换分区 237
实例2 显示交换空间汇总信息 238
命令19 sync命令 238
实例1 手动刷新缓冲区 238
命令20 e2image命令 238
实例1 生成ext2文件系统元数据映像 239
命令21 e2label命令 239
实例1 设置分区卷标 240
命令22 tune2fs命令 240
实例1 修改文件系统被加载次数 241
命令23 resize2fs命令 241
实例1 调整文件系统大小 242
命令24 findfs命令 242
实例1 查找卷标所对应的分区 242
第13章 进程与作业管理 244
命令1 at命令 244
实例1 提交任务文件 244
实例2 交互式提交任务 244
实例3 禁止用户使用at指令 245
命令2 atq命令 245
实例1 查询用户待执行任务 246
命令3 atrm命令 246
实例1 删除待执行任务 247
命令4 batch命令 247
实例1 提交任务列表 247
实例2 交互式提交任务 248
实例3 禁止用户使用batch指令 248
命令5 crontab命令 249
实例1 添加计划任务 249
实例2 显示任务计划 250
实例3 禁止用户使用crontab指令 251
命令6 init命令 251
实例1 切换到单用户模式 252
实例2 关闭计算机 252
命令7 killall命令 252
实例1 显示所有已知信号 253
实例2 按照名称杀死进程 253
实例3 杀死指定用户的进程 253
命令8 nice命令 253
实例1 以指定优先级运行指令 254
命令9 nohup命令 254
实例1 退出登录时程序继续运行 254
命令10 pkill命令 255
实例1 基于名称杀死进程 255
命令11 pstree命令 255
实例1 显示进程树 256
命令12 ps命令 256
实例1 显示系统进程信息 257
命令13 renice命令 257
实例1 调整进程优先级 258
命令14 skill命令 258
实例1 杀死进程 258
命令15 watch命令 259
实例1 监控目录的变化 259
命令16 w命令 259
实例1 显示的登录用户及正在执行的指令 260
实例2 监控用户登录及其他行为 260
命令17 teilnt命令 261
实例1 切换运行等级 261
命令18 runlevel命令 261
实例1 显示运行等级 261
命令19 service命令 262
实例1 控制系统服务 262
命令20 ipcs命令 263
实例1 显示进程间通信状态 263
命令21 pgrep命令 264
实例1 按照名称查找进程 264
命令22 pidof命令 265
实例1 显示进程的ID号 265
命令23 pmap命令 266
实例1 显示进程的内存映射关系 266
第14章 X Window系统 268
命令1 startx命令 268
实例1 启动XWindow 268
命令2 xauth命令 268
实例1 显示授权文件信息 269
实例2 列出显示设备 269
实例3 进入交互模式 270
命令3 xhost命令 270
实例1 控制X服务器的访问授权 270
命令4 xinit命令 271
实例1 启动X Window初始化程序 271
命令5 xlsatoms命令 272
实例1 显示X服务器定义的原子成分 272
命令6 xlsclients命令 272
实例1 列出X服务器上的X程序列表 273
命令7 xlsfonts命令 273
实例1 显示X服务器使用的字体列表 274
命令8 xset命令 274
实例1 显示当前的xset相关信息 274
第15章 系统安全 276
命令1 chroot命令 276
实例1 切换根目录环境 276
命令2 lastb命令 276
实例1 显示用户的错误登录列表 277
命令3 last命令 277
实例1 显示用户登录信息 278
命令4 lasflog命令 278
实例1 显示用户上次登录的信息 278
命令5 logsave命令 279
实例1 保存指令运行日志 279
命令6 logwatch命令 279
实例1 报告服务日志 280
命令7 logrotate命令 281
实例1 轮转日志 281
命令8 sudo命令 281
实例1 以root身份执行指令 282
第3篇 硬件、磁盘、性能与shell内部指令 284
第16章 硬件相关 284
命令1 arch命令 284
实例1 显示当前主机的硬件架构 284
命令2 cdrecord命令 284
实例1 刻录光盘映像 285
命令3 eject命令 285
实例1 显示默认的设备名称 286
实例2 卸载并弹出光驱 286
命令4 volname命令 287
实例1 显示设备的卷名 287
命令5 lsusb命令 288
实例1 显示系统中的USB设备列表 288
实例2 显示USB设备的层次关系 288
命令6 Ispci命令 289
实例1 显示PCI设备 289
实例2 显示PCI设备层次关系 290
命令7 setpci命令 290
实例1 配置PCI设备 291
命令8 hwclock命令 291
实例1 同步硬件时钟为系统时钟 292
实例2 显示硬件时钟 292
实例3 设置硬件时钟 292
命令9 systool命令 292
实例1 显示USB总线信息 293
第17章 磁盘管理 296
命令1 df命令 296
实例1 显示磁盘空间使用情况 296
实例2 定制df指令的输出 297
命令2 fdisk命令 297
实例1 显示硬盘分区列表 298
实例2 使用fdisk指令进行硬盘分区 298
命令3 parted命令 299
实例1 进入交互式模式 300
实例2 显示分区列表 300
实例3 创建分区 300
命令4 mkfs命令 301
实例1 创建ext3文件系统 301
命令5 badblocks命令 302
实例1 检查磁盘坏块 302
命令6 partprobe命令 303
实例1 确认分区改变 303
命令7 convertquota命令 303
实例1 转换磁盘配额数据文件 304
命令8 grub命令 304
实例1 进入grub命令行 304
命令9 lilo命令 305
实例1 卸载lilo 306
命令10 mkbootdisk命令 306
实例1 创建引导软盘 306
命令11 hdparm命令 307
实例1 设置硬盘预读功能 308
命令12 mkinitrd命令 308
实例1 创建初始化RAM磁盘映像文件 308
命令13 mkisofs命令 309
实例1 创建光盘映像文件 309
命令14 mknod命令 310
实例1 创建块设备文件 310
命令15 mkswap命令 310
实例1 创建交换分区 311
命令16 blockdev命令 312
实例1 获取磁盘的只读状态 312
命令17 pvcreate命令 312
实例1 创建物理卷 313
命令18 pvscan命令 313
实例1 扫描物理卷 314
命令19 pvdisplay命令 314
实例1 显示物理卷信息 314
命令20 pvremove命令 315
实例1 删除物理卷 315
命令21 pvck命令 315
实例1 检查物理卷 316
命令22 pvchange命令 316
实例1 禁止分配物理卷的PE 316
命令23 pvs命令 317
实例1 输出物理卷报表 317
命令24 vgcreate命令 317
实例1 创建物理卷 318
命令25 vgscan命令 318
实例1 扫描系统中的卷组 318
命令26 vgdisplay命令 319
实例1 显示卷组信息 319
命令27 vgextend命令 319
实例1 向卷组中添加物理卷 320
命令28 vgreduce命令 320
实例1 输出物理卷 321
命令29 vgchange命令 321
实例1 设置卷组活动状态 321
命令30 vgremove命令 322
实例1 删除LVM卷组 322
命令31 vgconvert命令 322
实例1 转换卷组格式 323
命令32 lvcreate命令 323
实例1 创建逻辑卷 324
命令33 lvscan命令 324
实例1 扫描逻辑卷 324
命令34 lvdisplay命令 324
实例1 显示逻辑卷属性 325
命令35 Ivextend命令 325
实例1 为逻辑卷增加空间 325
命令36 Ivreduce命令 326
实例1 为逻辑卷减少空间 326
命令37 Ivremove命令 327
实例1 删除指定的逻辑卷 327
命令38 Ivresize命令 327
实例1 调整逻辑卷大小 328
第18章 性能监测与优化 330
命令1 top命令 330
实例1 显示系统总体运行情况 330
命令2 uptime命令 330
实例1 显示系统总体运行时间 331
实例2 显示版本信息 331
命令3 free命令 331
实例1 显示内存使用情况 332
实例2 内存使用情况精确计算 332
命令4 iostat命令 332
实例1 显示CPU和外设的I/O状态 333
实例2 显示扩展状态 333
实例3 显示分区状态 334
实例4 显示扩展信息并将磁盘数据改为每兆显示 334
命令5 mpstat命令 335
实例1 显示CPU的状态 335
命令6 sar命令 335
实例1 显示CPU状态 336
实例2 显示上设备状态 336
命令7 vmstat命令 337
实例1 显示系统汇总统计信息 338
实例2 显示系统整体运行状态 338
命令8 time命令 338
实例1 统计指令运行时间 339
命令9 tload命令 339
实例1 显示平均负载显示到终端 339
命令10 lsof命令 340
实例1 显示已打开的文件列表 340
实例2 显示已打开所有c开头的文件列表 340
命令11 fuser命令 341
实例1 显示使用80端口的进程 341
实例2 显示文件的进程信息 342
第19章 内核与模块 344
命令1 sysctl命令 344
实例1 显示当前内核参数的值 344
实例2 修改内核运行参数 345
命令2 lsmod命令 345
实例1 显示已加载模块 346
命令3 insmod命令 346
实例1 加载模块 346
命令4 modprobe命令 347
实例1 智能加载与移除模块 347
实例2 显示模块依赖关系 348
命令5 rmmod命令 348
实例1 从内核中移除模块 349
命令6 bmodinfo命令 349
实例1 显示内核模块详细信息 350
实例2 显示内核模块详细作者 350
命令7 depmod命令 350
实例1 产生内核模块依赖的映射文件 351
命令8 uname命令 351
实例1 打印主机信息 352
实例2 打印内核发行版本号 352
命令9 dmesg命令 352
实例1 查看内核环形缓冲区 353
命令10 kexec命令 353
实例1 快速启动linux内核 353
命令11 get_module命令 354
实例1 获取模块信息 354
命令12 kernelversion命令 354
实例1 打印内核主版本号 355
命令13 slabtop命令 355
实例1 显示内核的slab缓冲区信息 355
第20章 shell内部指令 358
命令1 echo命令 358
实例1 打印变量的值 358
实例2 打印提示信息 358
命令2 kill命令 359
实例1 显示系统支持的信号 359
实例2 杀死作业 359
命令3 alias命令 360
实例1 设置命令别名 361
实例2 显示命令别名 361
命令4 unalias命令 361
实例1 取消命令别名 362
命令5 jobs命令 362
实例1 显示任务列表 362
命令6 bg命令 363
实例1 将任务放到后台执行 363
命令7 fg命令 364
实例1 将后台作业放到前台运行 364
命令8 unset命令 364
实例1 输出环境变量 365
命令9 env命令 365
实例1 在新环境中执行指令 366
命令10 type命令 366
实例1 显示给定指令的类型 367
命令11 logout命令 367
实例1 退出登录 367
命令12 exit命令 368
实例1 退出shell 368
命令13 export命令 368
实例1 将变量输出为环境变量 369
命令14 wait命令 369
实例1 等待任务完成后返回终端 370
命令15 history命令 370
实例1 显示历史命令 370
命令16 read命令 371
实例1 读取变量值 371
命令17 enable命令 372
实例1 关闭与激活内部指令 372
命令18 exec命令 373
实例1 在空环境变量中执行shell脚本 373
命令19 ulimit命令 374
实例1 列出所有限制选项 375
实例2 显示与设置最多打开的文件数目 375
命令20 shopt命令 376
实例1 显示shell选项 376
实例2 显示并验证shell行为选项 376
命令21 help命令 377
实例1 显示内部命令帮助 377
命令22 bind命令 378
实例1 查询指定功能对应的键 378
命令23 builtin命令 378
实例1 执行shell内部命令 379
命令24 command命令 379
实例1 调用Linux指令并执行 379
命令25 declare命令 380
实例1 定义shell变量 380
实例2 定义只读shell变量 381
实例3 定义环境变量 381
实例4 定义整型变量 381
实例5 显示当前shell变量 382
命令26 dris命令 383
实例1 显示目录堆栈的内容 383
命令27 readonly命令 383
实例1 定义只读变量 384
实例2 显示所有只读变量 384
命令28 fc命令 384
实例1 编辑历史命令 385
实例2 显示历史命令 386
第4篇 实用工具、软件包与其他相关指令 388
第21章 实用工具 388
命令1 man命令 388
实例1 显示指令帮助手册 388
实例2 显示配置文件帮助 388
命令2 info命令 389
实例1 保存指定节点的帮助信息 389
命令3 cksum命令 390
实例1 计算机文件的校验和 390
实例2 判断文件是否被篡改 390
命令4 bc命令 391
实例1 交互式计算 391
实例2 成批计算 392
命令5 cal命令 393
实例1 显示当前月的日历 393
实例2 显示最近3个月的日历 393
实例3 显示指定年月的日历 394
命令6 sum命令 394
实例1 计算文件的校验和 395
命令7 md5sum命令 395
实例1 计算md5校验和 395
实例2 检查文件的md5校验和 396
命令8 hostid命令 396
实例1 打印主机数字标识 396
命令9 date命令 397
实例1 显示当前日期时间 397
实例2 显示文件的最后修改时间 398
实例3 设置系统日期时间 398
命令10 dircolors命令 398
实例1 显示shell当前的颜色设置 399
命令11 gpm命令 399
实例1 启动鼠标服务器 399
命令12 sleep命令 400
实例1 shell暂停指定的时间 400
命令13 whatis命令 400
实例1 查询指定关键字 400
命令14 who命令 401
实例1 打印当前登录用户信息 401
实例2 打印最全面的信息 402
命令15 whoami命令 402
实例1 打印当前用户名 402
命令16 wall命令 403
实例1 发送广播通知 403
命令17 write命令 403
实例1 向登录用户终端发送信息 404
命令18 mesg命令 404
实例1 显示与设置当前终端写权限 404
命令19 talk命令 405
实例1 向指定用户发起聊天请求 405
命令20 login命令 406
实例1 重新登录用户 406
命令21 mtools命令 406
实例1 显示mtools指令显示其支持的DOS指令 407
命令22 stty命令 407
实例1 显示当前命令行设置 408
实例2 修改命令行组合键的功能 408
命令23 tee命令 408
实例1 双向重定向输出 409
命令24 users命令 409
实例1 显示登录用户列表 409
命令25 clear命令 410
实例1 清屏 410
命令26 consoletype命令 410
实例1 显示终端类型 410
命令27 yes命令 411
实例1 重复打印指定字符串 411
第22章 软件包管理 414
命令1 rpm命令 414
实例1 安装rpm软件包 414
实例2 检查软件包 415
实例3 卸载软件包 416
命令2 yum命令 416
实例1 安装软件包 417
实例2 更新软件包 417
命令3 chkconfig命令 418
实例1 查询服务的启动状态 418
实例2 设置服务器启动状态 418
实例3 添加系统服务 418
实例4 删除系统服务 419
命令4 ntsysv命令 419
实例1 配置系统服务 419
命令5 apt-get命令 420
实例1 安装软件包 420
实例2 删除软件包 421
实例3 更新本机的软件包索引 421
命令6 aptitude命令 421
实例1 显示软件包详细信息 422
实例2 查询可用的软件包 422
实例3 安装软件包 422
实例4 删除软件包 423
命令7 apt-key命令 423
实例1 显示被信任的密钥列表 423
命令8 apt-sortpkgs命令 424
实例1 排序软件包索引文件 424
命令9 dpkg命令 424
实例1 显示软件包内文件列表 425
实例2 安装“.deb”软件包 425
实例3 卸载软件包 426
命令10 dpkg-deb命令 426
实例1 安装deb软件包 427
命令11 dpkg-divert命令 427
实例1 添加转移文件 427
命令12 dpkg-preconfigure命令 428
实例1 安装前询问问题 428
命令13 dpkg-query命令 428
实例1 查询本地dpkg数据库中的软件包信息 429
命令14 dpkg-reconfigure命令 429
实例1 重新配置软件包 430
命令15 dpkg-split命令 430
实例1 分割软件包 430
实例2 合并软件包 431
命令16 dpkg-statoverride命令 432
实例1 显示所有改写列表 432
命令17 dpkg-trigger命令 432
实例1 在命令行运行软件包触发器 433
命令18 patch命令 433
实例1 为内核打补丁 434
命令19 rcconf命令 434
实例1 配置系统服务 435
命令20 rpm2cpio命令 435
实例1 转换rpm包为cpio文件 435
命令21 rpmbuild命令 436
实例1 从rpm源码包创建rpm二进制包 436
命令22 rpmdb命令 436
实例1 创建RPM数据库 437
命令23 rpmquery命令 437
实例1 查询RPM软件包 437
命令24 rpmsign命令 438
实例1 为软件包添加签名 439
命令25 rpmverify命令 439
实例1 验证软件包 440
第23章 打印相关 442
命令1 Ip命令 442
实例1 打印文件 442
命令2 lpr命令 442
实例1 打印文件 443
命令3 Iprm命令 443
实例1 删除打印任务 444
命令4 Ipc命令 444
实例1 运行Ipc指令 444
命令5 Ipq命令 445
实例1 显示打印队列 445
命令6 Ipstat命令 445
实例1 显示CUPS中的打印机状态 446
命令7 accept命令 446
实例1 接受打印任务 447
命令8 reject命令 447
实例1 拒绝打印任务 447
命令9 cancel命令 448
实例1 取消打印任务 448
命令10 cupsdisable命令 448
实例1 停止指定打印机 449
命令11 cupsenable命令 449
实例1 启动打印机 449
命令12 lpadmin命令 450
实例1 添加打印机 450
实例2 管理打印机 451
第24章 编程开发 454
命令1 test命令 454
实例1 条件测试 454
实例2 测试普通文件 455
实例3 shell脚本使用test指令 455
命令2 expr命令 455
实例1 算数表达式求值 456
实例2 字符串操作 456
命令3 gcc命令 457
实例1 编译C语言源文件 457
实例2 分析执行编译操作 458
命令4 gdb命令 459
实例1 调试程序 459
命令5 ld命令 460
实例1 将目标文件连接为可执行程序 460
命令6 Idd命令 461
实例1 显示程序所依赖的共享库 462
命令7 make命令 462
实例1 安装源代码软件 462
命令8 as命令 463
实例1 编译汇编程序 464
命令9 gcov命令 464
实例1 测试代码的覆盖率 465
命令10 nm命令 466
实例1 显示目标文件符号表 466
命令11 perl命令 467
实例1 运行perl程序 467
命令12 php命令 468
实例1 运行perl程序 468
命令13 protoize命令 469
实例1 C语言源代码文件添加函数原型 469
命令14 unprotoize命令 470
实例1 删除函数原型 471
命令15 mktemp命令 472
实例1 在bash脚本中使用临时文件 472
第5篇 Linux网络管理指令 474
第25章 网络配置 474
命令1 ifconfig命令 474
实例1 设置网络接口的IP地址 474
实例2 查看网络接口的配置 475
命令2 route命令 475
实例1 添加路由记录 476
实例2 显示路由表 476
命令3 ifcfg命令 477
实例1 停用指定网络接口的IP地址 477
实例2 为网络接口设置IP地址 477
命令4 ifdown命令 478
实例1 禁用网络接口 478
命令5 ifup命令 478
实例1 激活网络接口 478
命令6 hostname命令 479
实例1 显示主机名称 479
实例2 设置主机名称 480
命令7 dhclient命令 480
实例1 获取IP地址 481
命令8 dnsdomainname命令 481
实例1 打印DNS域名 482
命令9 domainname命令 482
实例1 设置NIS域名 482
命令10 nisdomainn ame命令 483
实例1 显示主机的NIS域名 483
命令11 usernetctl命令 483
实例1 禁用网络接口 484
命令12 ypdomainname命令 484
实例1 显示主机的NIS域名 484
第26章 网络测试 486
命令1 ping命令 486
实例1 测试到目标主机网络连通性 486
实例2 显示报文经过的路由器 487
实例3 不显示指令的执行过程 487
命令2 netstat命令 487
实例1 显示系统核心路由器 488
实例2 以数字方式显示全部socket信息 489
实例3 显示网络接口的状态信息 489
实例4 显示协议运行状态 489
实例5 显示开启socket的进程信息 490
命令3 nslookup命令 491
实例1 非交互式方式查询域名 491
实例2 交互式域名解析查询 491
命令4 traceroute命令 492
实例1 追踪到目的主机的路由 493
命令5 arp命令 494
实例1 显示arp缓冲区的所有条目 494
实例2 以数字方式显示主机 494
实例3 查询指定主机的arp条目 495
命令6 dig命令 495
实例1 查询指定域名的IP地址 496
实例2 域名反向解析查询 496
实例3 批处理域名查询 497
实例4 查询MX类型的域名信息 498
命令7 host命令 498
实例1 正向域名解析查询 499
实例2 显示域名解析的详细过程 499
实例3 查询MX记录 500
命令8 nc/netcat命令 500
实例1 模拟TCP连接并传输文本内容 501
实例2 手动与HTTP器建立连接 501
实例3 端口号扫描 502
命令9 arping命令 502
实例1 测试目的主机是否存活 503
实例2 向目的主机发送指定书目的ARP报文 503
实例3 从指定网络接口发送ARP报文 503
命令10 arpwatch命令 504
实例1 使用arpwatch指令监控arp缓冲区 504
实例2 以调试模式运行 504
命令11 tracepath命令 505
实例1 追踪报文经过的路由信息 505
第27章 网络应用 508
命令1 elinks命令 508
实例1 访问Web站点 508
命令2 elm命令 508
实例1 使用elm管理电子邮件 509
命令3 ipcalc命令 509
实例1 IP地址计算举例 509
命令4 lftp命令 510
实例1 使用ftp协议下载文件 510
实例2 使用sftp协议下载文件 511
实例3 使用http协议下载网页 511
命令5 Iftpget命令 511
实例1 使用Iftpget指令下载文件 512
命令6 Iynx命令 512
实例1 使用文本模式访问网站 512
命令7 mailq命令 513
实例1 显示待发送的邮件队列 513
命令8 mailstat命 514
实例1 显示邮件状态 514
命令9 mail命令 515
实例1 显示mail指令的内部命令 515
实例2 管理邮件 516
命令10 rlogin命令 517
实例1 使用rlogin指令登录远程主机 517
命令11 rsh命令 518
实例1 使用rsh指令在远程主机上执行shell命令 518
命令12 rexec命令 519
实例1 远程执行指令 520
命令13 telnet命令 520
实例1 以普通用户登录远程主机 521
实例2 以超级用户登录远程主机 522
命令14 wget命令 522
实例1 下载一个网页 523
实例2 下载指定主页及其下的3层网页 524
实例3 指定保存文件的目录 524
实例4 指定忽略下载的文件类型 524
第28章 高级网络指令 526
命令1 iptables命令 526
实例1 显示iptables规则 526
实例2 filter表基本操作 527
实例3 配置端口映射 528
命令2 iptables-save命令 529
实例1 保存iptables表 529
实例2 保存iptables表的计数器值 530
命令3 iptables-restore命令 530
实例1 还原备份的iptables表内容 531
命令4 ip6tables命令 532
实例1 显示ip6tables规则 533
实例2 filter表基本操作 533
命令5 ip6tables-save命令 534
实例1 保存ip6tables表 535
实例2 保存ip6tables表的计数器值 535
命令6 ip6tables-restore命令 535
实例1 还原备份的ip6tables表内容 536
命令7 ip命令 537
实例1 显示网络状态 537
实例2 关闭和激活网络设备 538
实例3 修改网卡MAC地址 539
实例4 显示命令的帮助信息 539
命令8 tcpdump命令 540
实例1 监听网卡收到的数据包 541
实例2 以快速方式运行tcpdump指令 541
命令9 arpd命令 541
实例1 启动arpd收集免费ARP 542
命令10 arptables命令 542
实例1 添加并显示内核的ARP包过滤规则 543
命令11 Instat命令 543
实例1 显示支持的统计文件 544
实例2 显示网络状态 544
命令12 nstat/rtacct命令 545
实例1 显示网络统计信息 545
命令13 ss命令 545
实例1 显示套接字信息 546
命令14 iptraf命令 547
实例1 监视网络接口的明细信息 548
实例2 监视网络接口IP流量 548
实例3 监视网络接口的TCO/CDP流量 548
实例4 监视网络接口的工作站 548
第29章 网络服务器 550
命令1 ab命令 550
实例1 测试web服务器性能 550
命令2 apachectl命令 551
实例1 测试配置文件语法 552
实例2 显示服务器状态 552
命令3 exportfs命令 553
实例1 输出NFS共享目录 553
命令4 ftpcount命令 554
实例1 显示proftpd服务器当前用户数 555
命令5 ftpshut命令 555
实例1 指定时间停止proftpd服务 555
命令6 ftptop命令 556
实例1 显示proftpd服务器连接状态 556
命令7 ftpwho命令 556
实例1 显示每个FTP会话信息 557
命令8 htdigest命令 557
实例1 实现访问Web目录输入密码 557
命令9 htpasswd命令 558
实例1 实现访问web目录输入密码 558
命令10 httpd命令 559
实例1 显示httpd的内置模块 559
实例2 测试配置文件语法 560
实例3 输出虚拟主机配置列表 560
命令11 mailq命令 561
实例1 显示邮件发送队列 561
命令12 mysqldump命令 561
实例1 备份MySQL数据库 562
命令13 mysqladmin命令 562
实例1 创建数据库 563
实例2 刷新权限表 563
命令14 mysqlimport命令 563
命令15 mysqlshow命令 564
实例1 显示数据库信息 564
命令16 mysql命令 565
实例1 连接MySQL服务器 565
命令17 nfsstat命令 565
实例1 显示NFS状态 566
实例2 显示已加载的NFS文件系统状态 566
命令18 sendmail命令 567
实例1 启动邮件服务器 567
命令19 showmount命令 568
实例1 显示NFS服务器的所有共享目录 568
命令20 smbclient命令 568
实例1 上传文件到samba服务器 569
命令21 smbpasswd命令 570
实例1 添加samba用户 570
命令22 squidclient命令 571
实例1 显示squidclient支持的管理指令 571
命令23 squid命令 572
实例1 创建交换目录 572
第30章 网络安全 574
命令1 sftp命令 574
实例1 显示sftp内部命令 574
实例2 上传下载文件 574
命令2 ssh命令 575
实例1 登录远程ssh服务器 576
实例2 在远程服务器上执行命令 576
命令3 sshd命令 577
实例1 以调试模式运行ssh服务器 577
命令4 ssh-keygen命令 577
实例1 生成RSA密钥 578
实例2 显示公钥文件指纹数据 578
命令5 ssh-keyscan命令 579
实例1 收集主机ssh公钥 579
命令6 sftp-server命令 579
实例1 配置ssh服务器的sftp子系统 580
命令7 iptstate命令 580
实例1 以易读方式显示iptables状态 581
命令8 nmap命令 581
实例1 扫描目标主机开放的端口 582
实例2 探测目标主机的服务和操作系统版本 582
实例3 扫描目标主机的指定端口 583
实例4 扫描目标网络的主机列表 583