《Linux标准学习教程》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:IT同路人编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2008
  • ISBN:7115170126
  • 页数:440 页
图书介绍:Linux是一个免费、多用户、多任务的操作系统,是目前全球发展速度最快的操作系统,目前已广泛应用于人们生产生活的各个领域。本书详细讲解了Linux系统的基本知识、Linux系统的安装、Linux图形界面、Linux字符界面、Linux常用命令、Linux应用软件、Linux系统启动、Linux系统管理和维护、Linux服务器配置、shell编程、Linux C语言基础、Linux程序编译和调试维护等内容。本书内容丰富、结构清晰、讲解细致、图文并茂,适合作为Linux初学者的入门教程,也可供广大Linux工程技术人员参考使用。

第一篇 Linux基础入门 2

第1章 初识Linux 2

1.1 Linux简介 3

1.1.1 什么是Linux 3

1.1.2 Linux系统的产生 3

1.1.3 Linux系统的发展历程 3

1.1.4 Linux系统的应用 4

1.2 Linux系统的特点和组成 5

1.2.1 Linux系统的特点 5

1.2.2 Linux系统的组成 6

1.2.3 Linux系统与Windows系统的比较 6

1.3 Linux的版本介绍 7

1.3.1 Linux内核版本 7

1.3.2 Linux内核的发展史 8

1.3.3 Linux发行版本 8

1.4 Red Hat Linux操作系统介绍 9

1.4.1 Red Hat Linux的优点 9

1.4.2 Red Hat Linux版本介绍 10

1.4.3 Red Hat Enterprise Linux AS 4简介 11

1.5 课后练习 12

第2章 Linux系统的安装 13

2.1 准备安装Linux系统 14

2.1.1 安装RHEL4系统的软硬件要求 14

2.1.2 Linux系统下硬盘的基本知识 15

2.2 安装Red Hat Enterprise Linux AS 4系统 16

2.2.1 安装Linux的步骤 16

2.2.2 安装后的初始化配置 24

2.3 升级和删除RHEL 4 27

2.3.1 升级RHEL 4 27

2.3.2 删除安装的RHEL 4 28

2.4 RHEL 4安装过程中的故障排除 28

2.4.1 无法引导RHEL 4 28

2.4.2 安装起始部分的问题 29

2.4.3 安装过程中的问题 29

2.4.4 安装后的问题 30

2.5 课后练习 30

第3章 走进Linux图形界面 31

3.1 登录、注销和关闭系统 32

3.1.1 登录系统 32

3.1.2 注销 34

3.1.3 关机 34

3.2 使用GNOME图形化桌面 35

3.2.1 使用桌面 35

3.2.2 使用面板 36

3.3 使用Nautilus文件管理器 37

3.4 使用软盘和光盘 38

3.4.1 使用软盘 38

3.4.2 使用光盘 40

3.5 系统设置 40

3.5.1 系统监视器 40

3.5.2 硬件浏览器 41

3.5.3 显示设置 42

3.5.4 期和时间配置 42

3.5.5 改变桌面背景 44

3.6 KDE桌面简介 45

3.6.1 使用KDE桌面 45

3.6.2 使用面板 46

3.6.3 使用主菜单 47

3.6.4 使用小程序 47

3.6.5 使用多个桌面 47

3.6.6 查看任务栏 48

3.6.7 在面板上添加图标和小程序 48

3.6.8 配置KDE面板 49

3.7 使用Konqueror管理器 49

3.7.1 管理文件 49

3.7.2 导航面板 50

3.7.3 使用Konqueror浏览万维网 50

3.7.4 使用Konqueror来查看图像 50

3.8 定制KDE 51

3.9 课后练习 52

第4章 Linux应用软件的使用 53

4.1 播放音频 54

4.1.1 播放音频光盘 54

4.1.2 播放数码音乐文件 54

4.2 查看图像 55

4.2.1 使用Nautilus查看图像 55

4.2.2 使用gThumb查看图像 56

4.3 上网冲浪 57

4.3.1 配置互联网向导 57

4.3.2 使用Mozilla Firefox浏览万维网 59

4.4 收发电子邮件 60

4.4.1 使用Evolution收发电子邮件 60

4.4.2 使用KMail收发邮件 62

4.5 刻录CD-R和CD-RW 63

4.5.1 使用CD/DVD刻录 63

4.5.2 在命令行中使用CD-R和CD-RW 64

4.6 Linux下常用应用程序介绍 65

4.7 课后练习 66

第5章 Linux字符界面操作 67

5.1 字符界面简介 68

5.1.1 进入Linux字符界面 68

5.1.2 虚拟控制台 68

5.1.3 系统运行级别 68

5.1.4 关闭和启动系统 69

5.2 在Linux下获取帮助 71

5.2.1 使用man手册页 71

5.2.2 使用help命令 73

5.2.3 whereis命令 73

5.3 shell基础 73

5.3.1 shell起步 73

5.3.2 shell类型和功能 74

5.3.3 开始使用bash 75

5.4 shell实用功能 76

5.4.1 命令行自动补全 76

5.4.2 命令历史记录 77

5.4.3 命令的排列、替换和别名 78

5.4.4 文件名匹配和输出重定向 79

5.5 shell变量 83

5.5.1 bash配置文件 83

5.5.2 提示符 83

5.5.3 改变$PATH 84

5.6 vi编辑器的基本使用方法 86

5.6.1 vi的基本概念 86

5.6.2 vi的基本操作 86

5.6.3 命令行模式操作 87

5.6.4 末行模式操作 88

5.7 课后练习 89

第6章 Linux常用操作命令 90

6.1 文件和目录操作 91

6.1.1 显示工作目录路径的命令pwd 91

6.1.2 更改工作目录路径的命令cd 91

6.1.3 列出子目录和文件信息的命令ls 92

6.1.4 创建空文件、更改文件时间的命令touch 93

6.1.5 创建目录的命令mkdir 93

6.1.6 删除空目录的命令rmdir 94

6.1.7 复制文件和目录的命令cp 94

6.1.8 文件和目录改名、移动文件和目录路径的命令mv 95

6.1.9 删除文件和目录的命令rm 95

6.1.10 统计文件字节数、字数、行数的命令wc 96

6.2 文本显示和处理 96

6.2.1 显示文本文件的命令cat 96

6.2.2 分页显示文本文件的命令more 97

6.2.3 回卷显示文本文件的命令less 97

6.2.4 显示指定文件前若干行的命令head 98

6.2.5 查看文件末尾数据的命令tail 98

6.2.6 对文件中的数据进行排序的命令sort 99

6.2.7 将重复行从输出文件中删除的命令uniq 99

6.2.8 从文件每个行中写出选定的字节、字符或字段的命令cut 100

6.2.9 比较两个已排过序的文件的命令comm 100

6.2.10 逐行比较两个文本文件,列出其不同之处的命令diff 101

6.3 文件和命令查找 102

6.3.1 查找文件里符合条件字符串的命令grep 102

6.3.2 列出文件系统内符合条件的文件的命令find 102

6.3.3 在数据库中查找文件的命令locate 103

6.3.4 查找指定文件、命令和手册页位置的命令whereis 104

6.3.5 查询文件类型的命令file 104

6.3.6 查询命令功能的命令whatis 105

6.3.7 显示可执行命令路径的命令which 105

6.4 系统信息显示 105

6.4.1 显示计算机及操作系统相关信息的命令uname 105

6.4.2 显示或修改计算机主机名的命令hostname 106

6.4.3 显示开机信息的命令dmesg 106

6.4.4 显示日历的命令cal 107

6.4.5 显示和设置系统日期和时间的命令date 107

6.5 信息交流 109

6.5.1 在显示器上显示文字的命令echo 109

6.5.2 设定是否允许用write命令发送信息的命令mesg 109

6.5.3 对全部已登录用户发送信息的命令wall 110

6.5.4 向用户发送消息的命令write 110

6.5.5 发送信息给其他使用者的命令talk 110

6.6 其他命令 110

6.6.1 清除屏幕上信息的命令clear 110

6.6.2 将缓冲文件写到硬盘中的命令sync 111

6.6.3 显示系统已经运行时间的命令uptime 111

6.6.4 显示近期用户登录情况的命令last 111

6.7 在Linux系统中运行DOS命令 112

6.8 课后练习 113

第二篇 Linux系统管理 116

第7章 文件和目录 116

7.1 Linux文件 117

7.1.1 Linux文件的扩展名 117

7.1.2 Linux文件类型 118

7.2 Linux目录结构 120

7.3 查看Linux系统的软硬件信息 123

7.3.1 查看计算机CPU信息 123

7.3.2 查看主机DMA通道信息 123

7.3.3 查看文件系统信息 123

7.3.4 查看主机中断信息 124

7.3.5 查看主机I/O端口号信息 124

7.3.6 查看计算机内存信息 124

7.3.7 查看Linux版本信息 125

7.3.8 查看板卡信息 125

7.3.9 查看usb设备 126

7.4 链接文件 126

7.4.1 链接文件简介 126

7.4.2 链接文件的使用 127

7.5 课后练习 128

第8章 用户和组群账户管理 129

8.1 用户账户管理 130

8.1.1 Linux用户账户概述 130

8.1.2 Linux用户账户配置文件 130

8.1.3 图形界面下用户账户的设置 132

8.1.4 字符界面下用户账户的设置 134

8.2 组群账户管理 138

8.2.1 Linux组群账户配置文件 138

8.2.2 图形界面下组群账户的设置 139

8.2.3 字符界面下组群账户的设置 140

8.3 账户相关文件或目录 141

8.3.1 /etc/skel目录 141

8.3.2 /etc/login.defs配置文件 142

8.3.3 /etc/default/useradd文件 143

8.4 创建用户和组群的特殊方法 143

8.4.1 修改用户和用户组群配置文件来添加用户和组群 143

8.4.2 大批量添加用户 144

8.5 用户和组群维护命令 145

8.5.1 账户维护命令 145

8.5.2 账户信息显示 150

8.6 账户安全 152

8.7 课后练习 154

第9章 软件包管理 155

9.1 RPM软件包简介 156

9.1.1 什么是RPM软件包 156

9.1.2 RPM软件包的设计目标 156

9.1.3 RPM软件包管理的用途 156

9.2 RPM软件包管理 157

9.2.1 图形界面管理RPM软件包 157

9.2.2 RPM软件包命令的使用 159

9.3 tar包管理 163

9.3.1 tar包简介 164

9.3.2 tar包使用和管理 164

9.3.3 tar包的特殊使用 166

9.4 其他软件包管理命令 168

9.4.1 gzip命令 168

9.4.2 zip和unzip命令 169

9.5 课后练习 170

第10章 磁盘管理 171

10.1 Linux硬盘分区 172

10.1.1 硬盘分区知识 172

10.1.2 使用fdisk进行硬盘分区 172

10.2 逻辑卷管理器(LVM) 177

10.2.1 什么是LVM 177

10.2.2 LVM配置 178

10.3 RAID配置 180

10.3.1 RAID简介 180

10.3.2 软件RAID配置 182

10.4 课后练习 184

第11章 Linux文件系统 185

11.1 Linux文件系统简介 186

11.1.1 Linux文件系统的工作原理 186

11.1.2 Linux主流文件系统 186

11.1.3 查看RHEL 4支持的文件类型 189

11.2 创建文件系统 190

11.2.1 创建文件系统简介 190

11.2.2 创建文件系统 190

11.3 挂载和卸载文件系统 192

11.3.1 挂载文件系统 192

11.3.2 卸载文件系统 194

11.3.3 查看分区挂载情况 195

11.4 检查文件系统的错误 195

11.5 使用交换空间 197

11.5.1 交换空间简介 197

11.5.2 添加交换空间 197

11.5.3 删除交换空间 199

11.6 设置开机自动挂载文件系统 199

11.6.1 /etc/fstab简介 199

11.6.2 /etc/fstab文件详解 200

11.7 课后练习 201

第12章 磁盘配额和权限设置 202

12.1 磁盘配额的设置 203

12.1.1 磁盘配额简介 203

12.1.2 配置磁盘配额 203

12.1.3 管理磁盘配额 205

12.2 权限设置 206

12.2.1 文件和目录权限 206

12.2.2 权限设置 208

12.2.3 更改文件和目录的所有权 212

12.2.4 设置权限掩码 214

12.3 课后练习 215

第13章 Linux系统启动 216

13.1 Linux系统的启动过程 217

13.1.1 BIOS自检 217

13.1.2 启动GRUB/LILO 218

13.1.3 加载内核 218

13.1.4 执行init进程 218

13.1.5 通过/etc/inittab文件进行初始化 219

13.1.6 执行/bin/login程序 220

13.2 init进程 221

13.3 维护GRUB 224

13.3.1 引导加载程序和GRUB 224

13.3.2 GRUB配置文件 225

13.4 课后练习 226

第14章 进程和服务管理 227

14.1 Linux进程管理 228

14.1.1 进程及作业的概念 228

14.1.2 进程管理 228

14.1.3 守护进程工作原理和方式 230

14.2 查看系统进程信息 231

14.2.1 ps命令 231

14.2.2 top命令 233

14.3 管理服务 235

14.3.1 服务配置工具 235

14.3.2 ntsysv命令 238

14.3.3 chkconfig和service命令 239

14.4 课后练习 241

第15章 作业控制和任务计划 242

15.1 作业控制 243

15.1.1 进程的启动方式 243

15.1.2 进程的挂起及恢复 244

15.2 任务计划 245

15.2.1 配置cron实现自动化 246

15.2.2 使用at实现自动化 250

15.2.3 配置batch作业 252

15.3 课后练习 253

第16章 维护Linux系统 254

16.1 Linux日志管理 255

16.1.1 日志简介 255

16.1.2 日志的查看和配置 255

16.1.3 常用的日志文件 257

16.1.4 syslog程序 259

16.2 查看系统信息 260

16.2.1 查看内存信息 260

16.2.2 查看磁盘空间占用情况 262

16.2.3 显示目录或文件的大小 263

16.3 字符界面的中文化 264

16.3.1 zhcon的特点 264

16.3.2 安装和查看zhcon 265

16.3.3 zhcon的使用 266

16.3.4 zhcon配置文件 267

16.4 课后练习 270

第三篇 Linux网络服务 272

第17章 网络基本配置 272

17.1 网络基础知识 273

17.1.1 Internet所提供的服务 273

17.1.2 网络拓扑结构 274

17.1.3 网络互联的方式 276

17.1.4 OSI参考模型 277

17.1.5 TCP/IP 277

17.1.6 IP地址及其分类 279

17.2 Linux网络配置文件 280

17.2.1 /etc/sysconfig/network-scripts/ifcfg-ethN文件 280

17.2.2 /etc/resolv.conf文件 280

17.2.3 /etc/host.conf文件 281

17.2.4 /etc/sysconfig/network文件 281

17.2.5 /etc/hosts文件 281

17.2.6 /etc/services文件 281

17.3 网络测试命令 282

17.3.1 traceroute命令 282

17.3.2 ifconfig命令 284

17.3.3 ping命令 285

17.3.4 netstat命令 286

17.3.5 arp命令 287

17.3.6 tcpdump命令 288

17.4 字符界面的网络客户端 289

17.4.1 使用FTP命令实现远程文件传输 289

17.4.2 使用telnet命令访问远程计算机 293

17.4.3 使用wget命令下载资料 294

17.5 Linux下路由器的配置 295

17.5.1 路由器的基本概念 295

17.5.2 静态路由器的配置 296

17.5.3 静态路由配置举例 298

17.6 ADSL配置 299

17.6.1 ADSL介绍 299

17.6.2 ADSL配置 301

17.7 课后练习 303

第18章 远程管理Linux服务器 304

18.1 架设telnet服务器 305

18.1.1 安装telnet软件包 305

18.1.2 启动telnet服务 305

18.1.3 配置telnet服务器 306

18.2 OpenSSH配置 308

18.2.1 使用SSH的原因 308

18.2.2 配置OpenSSH服务器 308

18.2.3 Linux客户端的连接 309

18.2.4 Windows客户端的连接 311

18.3 使用VNC实现远程管理 314

18.3.1 VNC简介 314

18.3.2 VNC配置 315

18.4 课后练习 318

第19章 使用Samba实现文件共享 319

19.1 Samba简介 320

19.1.1 Samba和SMB 320

19.1.2 Samba的功能 320

19.1.3 安装和查看Samba软件包 320

19.2 图形界面配置Samba服务器 321

19.2.1 配置服务器设置 322

19.2.2 管理Samba用户 323

19.2.3 添加共享 323

19.3 字符界面配置Samba服务器 325

19.3.1 修改/etc/samba/smb.conf文件 325

19.3.2 设置Samba加密口令 325

19.4 控制Samba服务器 327

19.5 访问Samba共享 327

19.5.1 在Linux系统下访问Samba共享 327

19.5.2 在Windows系统下访问Samba共享 330

19.6 课后练习 330

第20章 DHCP和NFS服务器配置 331

20.1 DHCP服务器配置 332

20.1.1 DHCP简介 332

20.1.2 DHCP服务器配置 334

20.2 NFS服务器配置 338

20.2.1 NFS简介 338

20.2.2 NFS服务器配置 339

20.2.3 启动和停止服务器 341

20.2.4 挂载NFS文件系统 342

20.3 课后练习 344

第21章 使用Apache架设Web网站 345

21.1 Apache简介 346

21.2 基本设置 346

21.3 默认设置 347

21.3.1 页码选项 348

21.3.2 记录日志 349

21.3.3 环境变量 350

21.3.4 目录 351

21.4 虚拟主机设置 353

21.4.1 添加和编辑虚拟主机 353

21.4.2 SSL 354

21.4.3 其他虚拟主机选项 355

21.5 服务器设置 355

21.6 调整性能 356

21.7 保存设置 357

21.8 课后练习 357

第22章 实现Linux网络安全 358

22.1 提高Linux系统安全性能 359

22.2 Linux系统安全保护措施 361

22.3 检测Linux系统 363

22.3.1 Linux入侵检测方法 363

22.3.2 查找Linux系统漏洞 365

22.4 网络安全工具 367

22.4.1 TCP Wrappers实现访问控制 367

22.4.2 nmap的使用 368

22.5 课后练习 372

第四篇 Linux程序开发 374

第23章 shell编程 374

23.1 熟悉shell程序的创建 375

23.1.1 语法基本介绍 375

23.1.2 一个简单shell程序的创建过程 375

23.1.3 显示欢迎界面的shell程序 376

23.2 shell变量 376

23.2.1 shell定义的环境变量 377

23.2.2 用户定义的变量 377

23.2.3 位置参数 378

23.2.4 预定义变量 378

23.2.5 参数置换的变量 378

23.3 变量表达式 379

23.3.1 字符串比较 379

23.3.2 数字比较 380

23.3.3 逻辑测试 380

23.3.4 文件操作 381

23.3.5 进行test测试的标准方法 381

23.4 shell程序的执行和跟踪 381

23.4.1 shell程序的执行和调试 381

23.4.2 shell程序的跟踪 383

23.4.3 bash的内部命令 383

23.5 shell流程控制语句 384

23.5.1 条件判断 385

23.5.2 循环控制 387

23.6 函数 391

23.7 shell编程实例 392

23.7.1 检查输入参数和环境变量 392

23.7.2 当出现错误时,提供一个函数终止脚本 393

23.7.3 在每个脚本内捕获每个行命令的返回码 394

23.7.4 远程杀死僵进程 394

23.8 课后练习 395

第24章 Linux C语言编程基础 396

24.1 C语言简介 397

24.2 数据类型 397

24.2.1 整型(int) 397

24.2.2 浮点型(float) 398

24.2.3 字符型(char) 398

24.2.4 指针型(*) 399

24.2.5 无值型(void) 399

24.3 控制流程语句 399

24.3.1 条件语句 399

24.3.2 循环语句 401

24.3.3 break、continue和goto语句 404

24.4 文件的输入输出函数 406

24.4.1 标准文件函数 406

24.4.2 非标准文件函数 411

24.5 变量 412

24.5.1 变量声明 412

24.5.2 变量种类 412

24.5.3 变量存储类型 413

24.5.4 数组变量 415

24.5.5 变量的初始化和赋值 416

24.6 数组与指针 419

24.6.1 结构说明和结构变量定义 420

24.6.2 结构变量的使用 421

24.6.3 结构数组和结构指针 422

24.6.4 结构的复杂形式 424

24.7 课后练习 425

第25章 Linux程序编译和调试维护 426

25.1 C语言编译器GCC 427

25.1.1 GCC应用简介 427

25.1.2 GCC的使用 427

25.1.3 警告提示功能 428

25.1.4 库依赖 429

25.2 用GDB调试程序 430

25.2.1 GDB概述 430

25.2.2 GDB基本命令 431

25.2.3 GDB应用举例 432

25.3 使用make维护程序 435

25.3.1 makefile文件 435

25.3.2 make命令 437

25.3.3 隐含规则 438

25.4 课后练习 440

例5.1:显示当前系统运行级别 69

例5.2:切换运行级别为2,并显示 69

例5.3:关机 69

例5.4:重新启动计算机 69

例5.5:立即关闭系统 70

例5.6:定时45min后关闭系统 70

例5.7:重新启动系统,并发出警告信息 70

例5.8:使用halt命令关机 70

例5.9:使用reboot命令重启计算机 70

例5.10:显示ls命令的man手册页 71

例5.11:查看init命令帮助 73

例5.12:查找ls命令所在目录 73

例5.13:使用功能键 77

例5.14:使用排列命令“;”同时执行两个命令 78

例5.15:使用排列命令“&&”同时执行两个命令 78

例5.16:使用简单的管道 80

例5.17:使用复杂的管道 81

例5.18:将当前目录的内容保存到文件/root/abc 81

例5.19:使用echo命令和输出重定向创建文件 81

例5.20:将文件/root/a的内容作为输入,让cat命令执行 81

例5.21:查看不存在的/root/kk文件,出现报错信息,将其保存到文件/root/b中 82

例5.22:使用追加重定向 82

例5.23:同时使用输出和错误重定向 82

例5.24:同时使用输出和错误重定向 82

例5.25:查看当前定义的环境变量 84

例6.1:显示当前工作目录路径 91

例6.2:更改工作目录为/etc 91

例6.3:改变目录位置至当前目录的父目录 91

例6.4:改变目录位置至用户登录时的工作目录 91

例6.5:改变目录位置至用户tong的宿主目录 91

例6.6:显示/root目录下文件目录的简单信息 92

例6.7:显示当前目录下所有文件目录的详细信息,包括隐藏文件 92

例6.8:显示/etc/sysconfig/networking目录的信息 93

例6.9:显示当前目录下的文件目录信息,用标记标出文件类型 93

例6.10:创建空文件file、file1和file2 93

例6.11:将文件file的时间记录改为5月7日19点30分,时间格式为MMDDHHmm 93

例6.12:建立一个目录newdir1,其权限为755 94

例6.13:建立一个目录newdir2,其权限为777 94

例6.14:先用mkdir命令建立一些空的目录,然后用rmdir删除 94

例6.15:同时删除这两个空目录 94

例6.16:将文件exam1.c复制到/usr/wang这个目录下,并改名为shiyan1.c 95

例6.17:若上例中不希望重新命名,可以使用下面的命令 95

例6.18:将/usr/xu目录中的所有文件及其子目录复制到目录/usr/liu中 95

例6.19:将/root/picture目录下所有的后缀名为“.png”的文件移到/usr/local/share/picture目录下 95

例6.20:把/root/picture目录下的文件kdepic.png改名为life.png 95

例6.21:把整个pitcure目录改为mypicture 95

例6.22:删除当前目录下的Linux123文件 95

例6.23:删除具有下级文件的目录ab 95

例6.24:统计文件file1、file2的字节数、字数和行数 96

例6.25:显示/etc/shells文件的内容 96

例6.26:把textfile1的文件内容加上行号后输入textfile2文件 97

例6.27:把textfile1和textfile2的文件内容加上行号(空白行不加)之后将内容附加到textfile3 97

例6.28:分页显示文件/root/log.txt的内容 97

例6.29:逐页显示testfile文件的内容,如果有连续两行以上的空白行则以一行空白行显示 97

例6.30:从第20行开始显示testfile文件的内容 97

例6.31:一次显示/etc/passwd文件的两行 97

例6.32:显示/root/log.txt的内容 98

例6.33:/mnt/ittongluren目录下有一个文件“study.txt”,查看该文件前3行的内容 98

例6.34:查看文件/mnt/ittongluren/study.txt末尾3行数据 98

例6.35:读取文件file1,显示在屏幕上 99

例6.36:读取文件file1,以倒序排序该文件并显示在屏幕上 99

例6.37:在名为linux.txt的文件中搜索文本“Jones”,并排序搜索结果 99

例6.38:删除名为fruit的文件中的重复行并将其保存到一个名为newfruit的文件中 100

例6.39:显示文件/etc/passwd的登录名称和完整用户名称字段,由冒号隔开 100

例6.40:比较文件file1和file2 101

例6.41:比较文件file1和file2,只显示文件file1和file2中共有的行 101

例6.42:比较文件file1和file2,列出其不同之处 101

例6.43:在文件kkk中搜索匹配字符“test file” 102

例6.44:显示所有以“d”开头的文件中包含test的行 102

例6.45:显示在aa、bb、cc文件中匹配test的行 102

例6.46:显示所有包含至少有5个连续小写字符的字符串的行 102

例6.47:通过管道过滤“ls-l”输出的内容,只显示以“a”开头的行 102

例6.48:查找/boot目录下的启动菜单配置文件grub.conf 103

例6.49:查找/目录下所有以“conf”为扩展名的文件 103

例6.50:列出当前目录及其子目录下所有最近20min内更新过的文件 103

例6.5 1:查找文件MagicLinux-Tools-1.2pre5.iso 104

例6.52:寻找所有文件名为“abc”的100个文件 104

例6.53:查找mv命令的二进制文件所在目录 104

例6.54:查找mv的主要文件所在目录 104

例6.55:查看当前目录下所有文件类型 105

例6.56:查询ls命令的功能 105

例6.57:显示ls命令的可执行命令的路径和它的别名 105

例6.58:显示操作系统的内核版本 106

例6.59:显示计算机名 106

例6.60:显示计算机类型 106

例6.61:显示操作系统的全部信息 106

例6.62:显示计算机主机名 106

例6.63:修改计算机主机名为Linux 106

例6.64:显示开机信息 106

例6.65:显示本月的月历 107

例6.66:显示公元2001年的年历 107

例6.67:显示公元2001年5月的月历 107

例6.68:以星期一为每周的第一天的方式显示本月的月历 107

例6.69:以一月一日起的天数显示今年的年历 107

例6.70:显示当前的日期和时间 108

例6.71:设置日期和时间 108

例6.72:按照指定的格式显示日期和时间 108

例6.73:设置时间为上午9点16分 108

例6.74:设置时间为2004年4月14日 108

例6.75:用指定的格式显示时间 108

例6.76:将一段信息写到标准输出 109

例6.77:将文本“hello Linux”添加到文件notes中 109

例6.78:显示当前的状态 109

例6.79:允许别人给自己发送信息 109

例6.80:只允许别人给自己发送信息 109

例6.81:向所有用户发出“下班以后请关闭计算机”的信息 110

例6.82:向guest用户发送信息 110

例6.83:与机器的使用者tong对话,此时tong只有一个连线 110

例6.84:与linuxfab.cx上的使用者tong对话,使用pts/2来对话 110

例6.85:清除屏幕上的信息 111

例6.86:将缓冲文件写到硬盘中 111

例6.87:显示系统运行时间 111

例6.88:显示用户root在控制台终端的所有登录和注销记录 112

例6.89:显示系统两次重新引导的时间 112

例6.90:显示用户root在控制终端的所有登录和注销的前10行记录 112

例7.1:硬链接文件的使用 127

例7.2:软链接文件的使用 127

例8.1:创建用户账户tong并设置密码 134

例8.2:对用户账户设置密码和不设置密码比较 135

例8.3:创建用户moon,并设置该用户UID号为510 135

例8.4:创建用户newuser,并设置该用户宿主目录为/home/www 135

例8.5:创建用户old,并指定该用户是属于组群pp的成员 135

例8.6:创建用户abc,并设置该用户的shell类型是/bin/ksh 135

例8.7:修改用户tong的宿主目录为/home/kkk,并手动创建/home/kkk目录 136

例8.8:修改用户qq的宿主目录为/home/opop,并自动创建/home/opop目录 136

例8.9:修改用户tong的登录名为sun 136

例8.10:修改用户sun的用户名描述为太阳 136

例8.11:修改用户sun在密码过期后20天就关闭该账号 136

例8.12:修改用户sun所属的组群为ggg,该组群必须事先创建 137

例8.13:锁住用户sun密码,使密码无效 137

例8.14:解除用户sun的密码锁定 137

例8.15:修改用户sun账号的有效期限是2008年12月12号 137

例8.16:修改用户sun的shell类型为/bin/ksh 137

例8.17:删除用户sun 137

例8.18:删除用户zhangsan,并且在删除该用户的同时删除宿主目录 137

例8.19:创建名为hello的组群 140

例8.20:创建名为ou的组群,并且设置该组群GID号为800 140

例8.21:创建名为system的系统组群 140

例8.22:将组群ou的GID号更改为900 141

例8.23:更改组群ou的新组群名称为shanghai 141

例8.24:删除组群shanghai 141

例8.25:设置用户it的密码 146

例8.26:设置当前用户的密码 146

例8.27:锁住用户it的密码 146

例8.28:解锁用户it的密码 146

例8.29:删除用户shanghai的密码 146

例8.30:把用户it添加到组群kk中 147

例8.31:从组群kk中删除用户it 147

例8.32:设置组群kk的密码 147

例8.33:取消组群kk的密码 147

例8.34:更改用户linux的信息 148

例8.35:设置用户it的办公地址是财务室 148

例8.36:设置用户it的全名为张三 148

例8.37:列出当前系统中所有支持的shell类型 148

例8.38:更改用户linux所用的shell为ksh 148

例8.39:更改当前用户的shell类型为/bin/bash 148

例8.40:从root用户切换到用户it的登录系统 149

例8.41:检验用户配置文件/etc/passwd和/etc/shadow文件内容是否合法、完整 149

例8.42:将用户it以组群tong的身份登录系统 150

例8.43:显示所有用户的信息 150

例8.44:显示用户it的信息 150

例8.45:查看用户it所属的组群 151

例8.46:查询beinan用户的UID、GID以及归属用户组群的情况 151

例8.47:显示用户it所属组群的GID 151

例8.48:显示用户it所属附加组的GID 151

例8.49:显示用户it的UID 151

例8.50:详细查询已登录当前计算机的用户 152

例8.51:显示已登录当前计算机用户的简单信息 152

例8.52:设置用户shanghai的最小时间间隔为2天 153

例8.53:设置用户shanghai的最大时间间隔为10天 153

例8.54:设置用户shanghai的警告时间为1天 153

例8.55:设置用户shanghai的不活跃时间为10天 153

例8.56:设置用户shanghai的失效时间为2008-10-10 153

例8.57:查看用户shanghai当前口令失效的信息 153

例8.58:用交互式的方式设置用户shanghai的口令时效 153

例9.1:安装foo-2.0-1.i386.rpm软件包 159

例9.2:在foo-1.0-1.i386.rpm已安装的情况下仍旧安装该软件包 159

例9.3:foo-1.0-1.i386.rpm软件包冲突,忽略错误继续安装 159

例9.4:卸载foo软件包 160

例9.5:升级foo-2.0-1.i386.rpm软件包 160

例9.6:强制升级foo-1.0-1.i386.rpm软件包 160

例9.7:刷新foo-2.0-1.i386.rpm软件包 160

例9.8:查询foo软件包是否安装 161

例9.9:查询foo软件包是否安装 161

例9.10:查询系统内所有已安装的RPM软件包 161

例9.11:查询bind软件包的描述信息 161

例9.12:查询bind软件包所包含的文件列表 162

例9.13:查询bind软件包的依赖关系 162

例9.14:查询/etc/logrotate.d/named文件属于哪个软件包 162

例9.15:校验所有在bind软件包内的文件 162

例9.16:校验包含/etc/rndc.key文件的软件包 163

例9.17:校验所有安装的软件包 163

例9.18:根据readline-devel-4.3-13.i386.rpm软件包进行校验 163

例9.19:把/root/abc目录包括它的子目录全部做备份文件,备份文件名为abc.tar 165

例9.20:查看abc.tar备份文件的内容,并显示在显示器上 165

例9.21:将打包文件abc.tar解包出来 165

例9.22:将文件d增加到abc.tar包里面去 165

例9.23:更新原来tar包abc.tar中的文件a 166

例9.24:在/dev/fd0设备的软盘中创建一个备份文件,并将/home目录中所有的文件都复制到备份文件中 166

例9.25:恢复软盘设备磁盘中的文件。 166

例9.26:在/dev/fd0设备的软盘中创建一个备份文件,并将/home目录中所有的文件都复制到备份文件中,并在软盘已满的时候提醒用户再放入一张新的软盘 166

例9.27:恢复多张软盘设备磁盘中的文件,并在必要时提醒放入第二张软盘 166

例9.28:把/root/abc目录包括其子目录全部做备份文件,并进行压缩,备份文件名为abc.tar.gz 166

例9.29:查看abc.tar.gz备份文件的内容,并显示在显示器上 166

例9.30:将压缩文件abc.tar.gz解压缩出来 167

例9.31:将目录/root/abc及该目录所有文件压缩成abc.tar.bz2文件 167

例9.32:将abc.tar.bz2文件解压缩 167

例9.33:将文件a压缩成a.tar.Z文件 167

例9.34:将文件a.tar.Z解压缩 167

例9.35:将/root/a文件压缩成.gz文件 168

例9.36:详细显示例9.35中压缩的文件的信息 168

例9.37:将/root/a.gz文件解压缩 168

例9.38:将/root/a.tar文件压缩成.gz文件 169

例9.39:详细显示压缩文件/root/a.tar.gz的信息 169

例9.40:解压缩文件/root/a.tar.gz 169

例9.41:将当前目录下的文件a压缩成zip文件 169

例9.42:将/home目录压缩到当前目录下,生成zip文件 169

例9.43:将压缩文件a.zip在当前目录下解压缩 170

例9.44:将压缩文件text.zip在指定目录/tmp下解压缩 170

例9.45:查看压缩文件目录,但不解压缩 170

例11.1:创建文件系统 190

例11.2:使用mkfs.ext3命令将/dev/hda5设备格式化成ext3文件系统 191

例11.3:挂载文件系统/dev/hda5到/mnt/kk目录 193

例11.4:以只读形式挂载/dev/hda5 193

例11.5:将光盘放入光驱,挂载光盘到/media/cdrom目录中 193

例11.6:卸载光盘 193

例11.7:挂载软盘 194

例11.8:卸载软盘 194

例11.9:挂载文件系统是FAT16格式的U盘 194

例11.10:挂载文件系统是FAT32格式的U盘 194

例11.11:挂载U盘并支持中文 194

例11.12:挂载移动硬盘 194

例11.13:卸载/dev/hda5文件系统 194

例11.14:卸载光盘 195

例11.15:卸载软盘 195

例11.16:使用mount命令查看分区挂载情况 195

例11.17:使用/etc/mtab文件查看分区挂载情况 195

例11.18:扫描/dev/hda10分区(基于reiserfs文件系统) 196

例11.19:扫描并自动修复/dev/hda5文件系统为ext3 197

例11.20:添加交换分区 197

例11.21:添加交换文件 198

例11.22:删除交换分区 199

例11.23:删除交换文件 199

例12.1:添加所有者对文件a的写入权限 210

例12.2:取消所有者对文件a的读取权限 210

例12.3:重新分配用户组对文件a的写入权限 210

例12.4:更改文件a的权限,文件所有者有读取、写入权限,用户组有读取权限,其他用户有读取、写入和执行的权限 210

例12.5:取消所有用户的读取、写入和执行权限 210

例12.6:添加文件a的特殊权限为SUID 210

例12.7:添加文件a的特殊权限为SGID 210

例12.8:添加文件a的特殊权限为Sticky 210

例12.9:设置文件a的权限,使文件所有者拥有读取、写入和执行的权限 211

例12.10:设置文件a的权限,使文件所有者拥有读取权限,用户组有读取、写入和执行的权限 211

例12.11:设置文件a的权限,使所有用户拥有读取、写入和执行的权限 211

例12.12:设置文件a的权限,使其他用户拥有读取、写入和执行的权限 212

例12.13:设置文件a,使其具有SUID权限 212

例12.14:设置文件a,使其具有SGID权限 212

例12.15:设置文件a,使其具有Sticky权限 212

例12.16:设置文件a,使其具有SUID、SGID和Sticky权限 212

例12.17:设置/home/user目录及其子文件夹的权限为777 212

例12.18:将文件a的所有者改为it 213

例12.19:将文件a的用户组改为it 213

例12.20:将文件a的所有者和用户组一起改为root 213

例12.21:将文件a的用户组改为it 213

例12.22:将目录b连同它的下级子目录和文件的所有者和用户组一起改变 213

例12.23:更改文件a的用户组为it 214

例12.24:设置权限掩码为444 214

例12.25:设置权限掩码为222 214

例12.26:用umask设置权限为:所有者读取、用户组写入、其他用户读取 215

例12.27:查看系统当前的umask设置 215

例14.1:强制杀死进程号是726的进程 230

例14.2:分屏显示系统进程 232

例14.3:查看less进程是否在运行 232

例14.4:显示系统进程 232

例14.5:显示所有不带控制台终端的进程,并显示用户名和进程的起始时间 232

例14.6:显示用户名和进程的起始时间 233

例14.7:显示用户root的进程 233

例14.8:使用top命令动态显示进程信息 235

例14.9:查看各种不同的运行等级中各项服务的状况 239

例14.10:列出named服务在各个运行级别上的运行状态 239

例14.11:在运行级别3、4、5上启动named服务 239

例14.12:在运行级别3、4上停止named服务 240

例14.13:对httpd服务设置没有选择运行级别的启动 240

例14.14:启动Telnet服务并查看该服务的状态 240

例14.15:停止Telnet服务并查看该服务的状态 240

例14.16:添加一个由chkconfig管理的httpd服务 240

例14.17:停止named服务 240

例14.18:启动named服务 240

例14.19:查看named服务运行状态 240

例14.20:重新启动named服务 241

例15.1:查看前台启动进程 243

例15.2:挂起cat>/root/a作业后将作业放到前台执行 244

例15.3:用户正在使用vi编辑文件,挂起后将作业放到前台执行 244

例15.4:挂起作业后放到后台执行 245

例15.5:挂起作业后指定作业号,恢复作业 245

例15.6:以普通账号it登录系统,创建crontab文件 248

例15.7:以用户it登录恢复丢失的crontab文件 249

例15.8:在5天之后的此时此刻将/root/a文件复制到/home目录下 251

例15.9:使用echo命令向at命令提交作业 251

例15.10:使用“at-l”列出所有作业 251

例15.11:使用atq列出所有作业 252

例15.12:使用“at-l”删除作业 252

例15.13:使用atrm删除作业 252

例16.1:查看free命令帮助信息 261

例16.2:查看系统的物理内存和交换分区的总量 261

例16.3:以MB为单位查看系统的物理内存和交换分区的总量 261

例16.4:显示内存总容量 261

例16.5:显示系统的磁盘空间用量 262

例16.6:以MB和GB为单位显示系统的磁盘空间用量 262

例16.7:显示ext3文件系统类型的磁盘空间用量 262

例16.8:在显示磁盘空间用量时也显示文件系统类型 262

例16.9:以MB和GB为单位显示磁盘空间用量时也显示文件系统类型 263

例16.10:显示磁盘空间i节点使用情况 263

例16.11:分屏显示目录或文件的大小 263

例16.12:显示文件/root/abc的大小 264

例16.13:显示每个文件或目录所占用的数据块总数 264

例16.14:以MB为单位显示每个文件或目录所占用的数据块总数 264

例16.15:以字节为单位显示目录或文件的大小 264

例17.1:追踪从本地计算机网站的路径 283

例17.2:配置eth0的IP地址,同时激活该设备 284

例17.3:配置eth0别名设备eth0:1的IP地址 284

例17.4:激活eth0:1设备 284

例1 7.5:禁用eth0:1设备 284

例17.6:查看eth0网络接口的配置 284

例17.7:查看所有的网络接口配置 284

例17.8:测试与ittongluren.blog.com.cn站点的连通性 285

例17.9:设置ping计算机时每次发送的ICMP数据包大小为128字节 285

例17.10:测试与192.168.0.88计算机的连通性,要求返回4个ICMP数据包 286

例17.11:显示网络接口状态信息 287

例17.12:显示内核路由表信息 287

例17.13:显示TCP/UDP传输协议的连接状态 287

例17.14:显示所有监控的服务器的Socket和正在使用Socket的程序信息 287

例17.15:查看系统ARP缓存 287

例17.16:添加IP地址和MAC地址的对应记录 288

例17.17:删除IP地址和MAC地址的对应缓存记录 288

例17.18:使用指定的网络接口eth0读取数据链路层的数据包头 289

例17.19:对名为it的主机的通信数据包进行监视 289

例17.20:读取主机it发送的所有数据 289

例17.21:监视所有送到主机it的数据包 289

例17.22:监视通过指定网关的数据包 289

例17.23:监视地址到指定端口的TCP或UDP数据包 289

例17.24:ftp命令的使用 291

例17.25:下载ittongluren.blog.163.com的首页 295

例17.26:添加主机路由 297

例17.27:添加网络路由 297

例17.28:添加默认路由 297

例17.29:删除默认路由 297

例17.30:删除指定网络路由 297

例17.31:删除主机路由 297

例17.32:查看Linux系统路由表 297

例18.1:以用户账号it登录IP地址为192.168.1.229的远程ssh计算机 309

例18.2:以root账号连接远程主机192.168.1.229,并执行命令“ls/root” 310

例18.3:用root账号把本地文件root/a传送到192.168.1.229远程主机的/root目录下,并改名为b 310

例18.4:用root账号把本地/home目录下所有文件传送到192.168.1.229远程主机的/root目录 310

例18.5:用root账号把远程主机192.168.1.229上的文件/root/b传送到本地主机/root目录下,并改名为a 310

例18.6:使用sftp打开远程主机192.168.1.229的FTP会话 311

例18.7:查看VNC软件包是否安装 315

例18.8:安装VNC相关软件包 315

例18.9:启动VNC服务器 315

例18.10:设置VNC登录密码 315

例19.1:允许用户tfox和carole从Samba客户端中读写Samba服务器上的目录/home/share 325

例19.2:允许匿名用户从Samba客户端中读写Samba服务器上的目录/home/read 325

例19.3:允许匿名用户从Samba客户端中读取Samba服务器上的目录/home/tong 325

例20.1:挂载远程主机192.168.0.225的NFS目录/it到本地主机/mnt/it 342

例20.2:卸载上例中挂载的远程主机的NFS共享目录 342

例22.1:扫描网站www.163.com的所有TCP端口 370

例22.2:发起对内部计算机192.168.23.1的秘密SYN的扫描,同时还探测操作系统的指纹特征 371

例22.3:发起对tong.com所在网络上的所有255个IP地址的秘密SYN扫描,同时还探测每台主机操作系统的指纹特征 372

例22.4:对192.168.23.1发起圣诞树扫描,确定这些系统是否打开了22.53.110.143和4564端口 372

例22.5:对B类IP地址128.210.*.*中255个可能的8位子网的前半部分发起圣诞树扫描,确定这些系统是否打开了21、80和1433端口 372

例22.6:只扫描指定的IP范围,有时用于对这个Internet进行取样分析nmap将寻找Internet上所有后两个字节是“.2.3”、“.2.4”和“.2.5”的IP地址上的Wep服务器 372

例23.1:查看当前用户shell定义的环境变量的值 377

例23.2:用户定义变量的使用 377

例23.3:字符串比较的使用 379

例23.4:含有空格的变量字符串的比较 380

例23.5:数字相等比较 380

例23.6:数字大于比较 380

例23.7:逻辑测试 380

例23.8:文件操作测试 381

例23.9:简单的if程序 385

例23.10:根据输入的分数,判断分数是否及格 385

例23.11:创建Linux用户的脚本 386

例23.12:使用case语句建立一个菜单选择的shell脚本 387

例23.13:简单的for语句 388

例23.14:使用参数的for语句 388

例23.15:求命令行上所有整数之和 388

例23.16:计算1至5的平方 388

例23.17:根据输入的数值,求累加和(1+2+3+4+…+n) 389

例23.18:使用until结构计算1至5的平方 390

例23.19:输入exit退出的脚本 390

例24.1:简单的for循环语句 401

例24.2:简单的while循环语句 402

例24.3:复杂的while循环语句 402

例24.4:变量是整数型的swith开关语句 403

例24.5:变量是字符型的swith开关语句 404

例24.6:含有break的语句 404

例24.7:含有continue的语句 405

例24.8:goto语句的使用 405

例24.9:文件打开、关闭函数的使用 407

例24.10:文件顺序写函数的使用 408

例24.11:文件顺序读操作函数的使用 409

例24.12:文件随机读写函数的使用 409

例24.13:把一个浮点数组以二进制方式写入文件test_b.dat中 410

例24.14:从test b.dat文件中读100个整型数,并把它们放到dat数组中 410

例24.15:形式参数的定义 413

例24.16:全局变量的定义 413

例24.17:extern变量的使用 414

例24.18:一维数组的定义 415

例24.19:单个变量的初始化 416

例24.20:数组变量的初始化 416

例24.21:指针型变量的初始化 417

例24.22:整型变量和浮点变量的定义 417

例24.23:给多个变量赋同一值 417

例24.24:字符型变量的定义 417

例24.25:指针型变量的定义 417

例24.26:复杂的指针型变量的定义 418

例24.27:3个整型数指针型变量的定义 418

例24.28:整型数组和浮点数组的赋值 418

例24.29:字符串数组的赋值 419

例24.30:长字符串数组的赋值 419

例24.31:指针数组的赋值 419

例24.32:数组的基本使用 420

例24.33:定义结构变量 420

例24.34:结构变量的使用 421