图书介绍

UNIX系统与软件开发PDF|Epub|txt|kindle电子书版本网盘下载

UNIX系统与软件开发
  • 邵国金主编;耿永军,张俊峰副主编 著
  • 出版社: 北京:中国铁道出版社
  • ISBN:9787113168988
  • 出版时间:2013
  • 标注页数:478页
  • 文件大小:87MB
  • 文件页数:493页
  • 主题词:UNIX操作系统-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

UNIX系统与软件开发PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

基 础篇1

第1章 入门知识1

1.1 UNIX系统简介1

1.1.1 UNIX系统的产生及演变1

1.1.2 UNIX系统的特点3

1.2所用系统简介5

1.2.1 Linux和 Fedora5

1.2.2 BSD与FreeBSD5

1.2.3 Sun OS和Solaris6

1.3系统的开关机7

1.3.1系统的开启与用户登录7

1.3.2用户的注销9

1.3.3系统关闭与重启动9

1.4在线帮助12

1.4.1 man手册12

1.4.2 info13

习题14

第2章shell与shell命令15

2.1 shell基本功能与基本概念15

2.1.1 shell基本功能15

2.1.2字符与保留字16

2.1.3文件命名及文件类型18

2.1.4目录结构与路径19

2.1.5 shell命令解释及执行21

2.1.6命令行编辑特性21

2.1.7环境变量与变量22

2.1.8标准流与输入输出重定向23

2.1.9管道25

2.1.10引号机制、命令替换与参数替换25

2.1.11 shell种类26

2.1.12 shell命令的返回值27

2.2基本操作命令27

2.2.1目录基本操作命令27

2.2.2文件操作基本命令29

2.2.3文本文件内容处理与编辑基本命令33

2.2.4进程管理基本命令42

2.2.5时间管理命令43

2.2.6文件或目录比较命令45

2.2.7其他操作命令47

2.3 shell的启动51

2.3.1 shell的启动流程和工作过程51

2.3.2用户登录控制与shell定制52

习题52

管 理篇53

第3章 用户管理和密码管理53

3.1 UNIX系统的用户和组53

3.1.1用户与uid53

3.1.2用户组53

3.2与用户、组和密码管理相关的文件53

3.2.1 /etc/passwd53

3.2.2 /etc/shadow54

3.2.3 /etc/group54

3.2.4 skel55

3.2.5其他文件55

3.2.6 FreeBSD 9的/etc/masterpasswd文件55

3.3用户管理命令56

3.3.1 Fedora和Solaris的用户管理命令56

3.3.2 FreeBSD 9的用户管理命令57

3.3.3更改用户的登录shell58

3.4组管理命令58

3.4.1 Fedora和Solaris的组管理命令58

3.4.2 FreeBSD 9的组管理59

3.5密码管理59

3.5.1综述59

3.5.2密码管理命令(passwd)60

3.5.3用户上锁与解锁60

3.6与用户身份和位置相关的其他命令61

3.6.1显示与用户和组相关的信息(id)61

3.6.2显示已登录用户的信息(who)及本用户名信息(whoami)61

3.6.3终端接收信息控制(mesg)62

3.6.4向系统中已登录的所用户发信息(wall)62

3.6.5显示用户所使用的终端设备(tty)62

3.6.6不退出系统而将自己切换成其他用户或以其他用户身份工作(su)63

3.6.7以其他用户身份执行程序(sudo)64

3.6.8改变进程的根目录(chroot)66

习题67

第4章 文件系统及管理68

4.1硬盘存储结构与分区划分68

4.2 UNIX文件系统内部结构71

4.2.1 UNIX文件系统的特点71

4.2.2 UNIX文件系统的结构71

4.3文件系统权限及表示73

4.3.1三类人73

4.3.2三种权限73

4.3.3权限表示74

4.3.4文件默认权限与umask74

4.4权限管理命令75

4.4.1 umask75

4.4.2 chmod75

4.4.3 chown76

4.4.4 chgrp76

4.4.5 ext2+文件系统的新增属性及其管理76

4.5文件系统管理及使用77

4.5.1 UNIX/Linux支持的文件系统77

4.5.2 UNIX/Linux系统使用的存储设备79

4.5.3文件系统创建81

4.5.4文件系统的使用90

4.5.5文件系统的检查、修复与同步94

4.6.与文件系统管理相关的其他命令96

4.6.1文件查找命令(find)96

4.6.2文件复制命令(dd)98

4.6.3创建文件连接(In)98

4.6.4特别文件创建(mknod/mkfifo)99

4.6.5统计磁盘空间和文件系统的使用情况(df)99

4.6.6统计目录使用磁盘空间情况(du)100

4.7数据备份与压缩100

4.7.1数据备份的任务100

4.7.2文件的压缩与解压缩101

4.7.3磁盘文件归档管理命令(tar)103

4.7.4文件系统备份与复制命令(cpio)105

习题107

第5章 进程与作业管理108

5.1程序和进程的概念108

5.1.1程序、进程、作业和任务108

5.1.2三类进程108

5.1.3系统的启动与进程树的形成109

5.1.4 0#进程与1#进程109

5.1.5进程状态及转换110

5.2 UNIX/Linux的进程调度与信号110

5.2.1调度策略与优先级的计算111

5.2.2信号与软中断111

5.3 setuid、 setgid和sticky属性112

5.3.1 suid和sgid属性113

5.3.2 sticky属性114

5.4进程管理与调度命令114

5.4.1进程或作业的挂起及前/后运行切换(fg/bg/jobs)114

5.4.2查询进程状态(ps)115

5.4.3按名称终止进程或所有进程(killall)116

5.4.4进程查找(pgrep)117

5.4.5查找进程并向它们发信号(pkill)118

5.4.6确定使用指定文件或文件系统的进程(fuser)118

5.4.7让进程抗信号HUP运行(nohup)119

5.4.8设置程序运行的优先级(nice)119

5.4.9改变进程的优先级(renice)120

5.5作业和任务调度120

5.5.1 at和batch120

5.5.2 crontab122

习题124

第6章 系统安装、启动与管理125

6.1系统安装125

6.1.1安装任务与准备125

6.1.2系统安装和运行所需的基本分区126

6.1.3安装过程128

6.1.4虚拟机的安装与使用128

6.2引导器128

6.2.1 Linux和Solaris的GRUB引导器128

6.2.2 GRUB常用术语129

6.2.3操作界面129

6.2.4 GRUB 1及其配置130

6.2.5 GRUB2及其配置133

6.2.6系统的启动及启动参数修改136

6.2.7 FreeBSD 9的启动137

6.3系统的启动过程分析138

6.3.1 Linux系统的启动过程分析138

6.3.2 Solaris 11系统的启动过程分析142

6.3.3 FreeBSD 9系统的启动过程分析142

6.4服务管理144

6.4.1 Linux系统的服务管理144

6.4.2 Fedor 15+ Linux的服务管理145

6.4.3 Solaris 11的服务管理150

6.4.4 FreeBSD 9的服务管理153

6.4.5超级服务器(inetd/xinetd)154

6.5日志管理156

6.5.1日志配置文件156

6.5.2常见日志文件156

6.5.3文本型日志157

6.5.4非文本型日志157

6.5.5内核启动日志158

6.5.6日志滚动158

6.6系统管理158

6.6.1系统管理的任务158

6.6.2系统管理工具与命令159

6.6.3内核参数调整161

习题162

第7章 软硬件管理及系统的扩充与升级163

7.1软件包管理163

7.1.1 UNIX的传统软件包管理163

7.1.2 Red Hat Linux和Fedora的软件包管理163

7.1.3 FreeBSD 9的软件包管理166

7.1.4 Solaris 11的软件包管理168

7.2系统的升级173

7.2.1软件包源及升级设置173

7.2.2软件包管理图形界面173

7.2.3系统升级174

7.3硬件管理概述及常见设备174

7.3.1硬件管理概述174

7.3.2 Fedora系统说明175

7.3.3 FreeBSD 9说明175

7.3.4 Solaris 11说明176

7.4打印机的管理与使用176

7.4.1 CUPS软件包安装与服务管理176

7.4.2 CUPS打印机浏览器管理178

7.4.3 CUPS打印机的命令界面管理与使用180

7.4.4打印机使用示例183

7.5交换区管理184

7.5.1 Fedora的交换区管理184

7.5.2 FreeBSD 9的交换设备管理185

7.5.3 Solaris 11的交换设备管理186

7.6串口与终端管理188

7.6.1综述188

7.6.2串口管理188

7.6.3 stty与终端设置188

7.6.4终端类型与能力190

习题193

第8章 网络管理与网络应用194

8.1 TCP/IP概述194

8.1.1 TCP/IP协议体系结构194

8.1.2 IP地址194

8.1.3网络掩码196

8.1.4端口及服务196

8.1.5物理地址、逻辑地址和主机名196

8.2与网络有关的配置文件197

8.2.1 /etc/hosts197

8.2.2 /etc/services198

8.2.3 /etc/resolv.conf198

8.2.4 /etc/networks199

8.3 TCP/IP配置199

8.3.1 TCP/IP网络配置参数与配置方式199

8.3.2一个通用的TCP/IP网络工具(ifconfig)199

8.3.3 Fedora 16的网络配置200

8.3.4 Solaris 11的网络配置203

8.3.5 FreeBSD 9的网络配置208

8.4网络管理通用命令210

8.4.1 ping210

8.4.2 netstat211

8.4.3 arp213

8.4.4 hostname213

8.4.5 route214

8.4.6 traceroute215

8.5网络应用常用命令介绍216

8.5.1 telnet与ssh216

8.5.2 ftp217

8.5.3 mail/mailx219

8.5.4 nslookup和host221

8.5.5 finger221

8.5.6 write222

8.5.7 talk222

8.5.8 r-命令222

8.6常用的网络服务223

8.6.1 telnet服务器223

8.6.2 ssh服务器223

8.6.3 ftp服务器223

习题225

编程基础篇226

第9章bshell编程226

9.1正则表达式简介226

9.1.1字符集226

9.1.2 bshell的模式表达式229

9.2流编辑(sed)229

9.2.1功能及用法229

9.2.2 sed的命令230

9.2.3 sed示例231

9.3模式搜索与处理(awk)232

9.3.1功能及用法232

9.3.2记录和域232

9.3.3变量232

9.3.4操作符233

9.3.5控制语句233

9.3.6函数234

9.3.7 awk程序及执行235

9.3.8 awk使用示例235

9.4 Bourne shell及其编程237

9.4.1特殊字符237

9.4.2 I/O重定向237

9.4.3变量与参数239

9.4.4 shell的状态240

9.4.5 shell的调用与变量传递241

9.4.6 shell程序设计242

9.4.7命令行参数与选项的处理251

9.4.8 shell脚本程序格式及注意事项253

9.4.9 shell程序调试255

9.5 bash简介255

9.5.1 bash的特色255

9.5.2 bash部分特点介绍255

习题258

第10章C编程基础和方法259

10.1基本知识259

10.1.1头文件259

10.1.2库文件259

10.1.3系统调用和库函数260

10.1.4基本数据类型260

10.1.5错误处理261

10.2编译器262

10.2.1 gcc/g++++用法262

10.2.2 gcc/g++++的工作过程263

10.2.3 C/C++++程序编译示例264

10.3静态库及管理265

10.3.1一个多模块工程示例265

10.3.2管理静态库265

10.4共享库的管理267

10.4.1共享库的搜索及控制267

10.4.2共享库的配置与查询267

10.4.3共享库的构建与安装267

10.4.4共享库的使用268

10.4.5共享库的使用示例268

10.5 make与makefile269

10.5.1 make命令的用法简介270

10.5.2 makefile文件270

10.5.3 makefile示例271

10.6调试器gdb273

10.6.1 gdb功能273

10.6.2 gdb的基本内部命令273

10.6.3程序调试示例273

10.7其他编程工具简介274

10.7.1常用库与GNOME/GTK274

10.7.2 Kdevelop/Qt开发274

10.7.3 Java开发275

10.7.4 Perl开发275

10.7.5数据库开发276

10.7.6 PHP开发276

习题276

开 发篇277

第11章 文件部分系统调用与标准I/O277

11.1文件部分系统调用277

11.1.1文件打开与关闭277

11.1.2文件的读/写279

11.1.3简单I/O示例279

11.1.4文件指针及移动281

11.1.5文件的共享283

11.1.6文件的互斥与锁285

11.1.7 fcntl286

11.1.8 ioctl287

11.1.9原子操作287

11.1.10文件低级I/O示例287

11.2标准I/O290

11.2.1流和文件对象290

11.2.2流的打开与关闭290

11.2.3标准I/O的缓冲区类型及更改291

11.2.4格式化I/O292

11.2.5字符I/O294

11.2.6行I/O294

11.2.7二进制I/O295

11.2.8流定位295

11.2.9错误判断及清除296

11.2.10获得文件描述符296

11.3 FILE对象与文件整数描述符296

11.3.1 FILE对象与文件整数描述符的关系296

11.3.2将文件作为标准I/O297

11.4临时文件297

11.4.1临时文件的命名规则297

11.4.2临时文件的使用297

11.4.3临时文件示例298

习题300

第12章UNIX系统进程环境301

12.1命令行参数301

12.1.1 C程序的入口:main()301

12.1.2命令参数处理:getopt()302

12.1.3命令行参数处理示例302

12.2环境变量304

12.2.1环境变量表304

12.2.2环境变量的访问及设置304

12.3进程的终止306

12.3.1 exit和_exit306

12.3.2 atexit306

12.4主机信息307

12.4.1获得系统信息(uname)307

12.4.2获得或设置主机名308

12.5用户标识信息308

12.5.1根据用户标识或用户名获取passwd信息308

12.5.2搜索passwd文件309

12.5.3根据组标识或组名获取组信息309

12.5.4搜索group文件309

12.5.5用户信息获取示例310

12.6用户进程标识信息311

12.6.1获得进程标识信息(getpid和getppid)311

12.6.2获得用户标识信息(getuid和geteuid)311

12.6.3获得组标识信息(getgid和getegid)311

12.6.4用户进程标识信息示例311

12.7时间和日期信息312

12.7.1获取系统时间312

12.7.2显示与转换时间格式312

12.7.3设置时间314

12.8日志信息314

12.8.1日志记录314

12.8.2日志操作示例315

习题315

第13章 文件属性与目录编程317

13.1文件属性317

13.1.1文件属性查询(stat、 fstat和lstat)317

13.1.2文件权限管理(access、 umask、chmod和fchmod)319

13.2文件链接321

13.2.1创建硬链接link()321

13.2.2创建符号链接symlink()321

13.2.3读取符号链接的内容readlink()321

13.2.4文件链接示例321

13.3文件删除322

13.3.1删除文件unlink()322

13.3.2删除文件或空目录remove()323

13.3.3文件删除示例323

13.4文件主、组管理323

13.5文件长度及截取325

13.5.1文件长度325

13.5.2文件的截取325

13.6更改文件的时间属性325

13.6.1 utime()325

13.6.2 utimes()326

13.6.3文件长度与时间示例326

13.7文件的更名与移动328

13.8目录编程328

13.8.1获得当前工作目录(getcwd和getwd)328

13.8.2目录的改变(chdir和fchdir)328

13.8.3目录的创建(mkdir)329

13.8.4目录的删除(rmdir)329

13.8.5目录的其他操作329

13.8.6目录操作综合示例330

习题333

第14章 进程关系与进程控制334

14.1进程的创建与程序的执行334

14.1.1进程创建系统调用(fork和vfork)334

14.1.2 exec()系列函数336

14.1.3 shell程序的执行及示例337

14.1.4 system()339

14.1.5更改用户的uid和gid340

14.1.6 suid、 sgid与安全程序设计问题340

14.2子进程退出与进程等待341

14.2.1子进程退出与僵尸进程342

14.2.2进程等待(wait和waitpid)342

14.2.3孤儿进程344

14.3信号编程344

14.3.1信号344

14.3.2信号通信(kill、 signal和raise)345

14.3.3进程的睡眠、闹钟与非正常终止347

14.3.4信号集348

14.4用户登录、进程组与会话期355

14.4.1进程组355

14.4.2会话355

14.4.3控制终端356

14.4.4作业控制356

14.5 chroot()编程357

习题358

第15章 进程间通信359

15.1进程间通信简介359

15.1.1管道359

15.1.2 IPC360

15.2管道编程363

15.2.1匿名管道(PIPE)363

15.2.2命名管道(FIFO)366

15.2.3将管道用作标准I/O369

15.2.4进程管道popen()和pclose()370

15.3消息队列编程371

15.3.1消息队列操作函数371

15.3.2消息队列编程示例373

15.4共享内存编程375

15.4.1共享内存操作函数375

15.4.2共享内存编程示例376

15.5信号量集编程378

15.5.1信号量集概述378

15.5.2信号量的定义及操作378

15.5.3 UNIX信号量操作函数379

15.5.4信号量编程示例380

习题383

第16章 线程编程基础384

16.1基本知识384

16.1.1线程基础384

16.1.2可重入函数与线程安全385

16.2线程操作基本函数及简单示例386

16.2.1线程操作基本函数386

16.2.2线程操作简单示例388

16.3线程属性390

16.3.1线程的属性结构390

16.3.2属性结构的初始化与清理391

16.3.3线程属性及修改391

16.4线程同步392

16.4.1用信号量实现线程间同步392

16.4.2使用互斥量实现线程间同步395

16.4.3使用条件变量实现线程间同步399

16.5线程参数与多线程并发服务器402

16.5.1线程参数402

16.5.2线程返回值402

16.5.3并发服务器框架402

习题403

第17章 终端与curses库编程404

17.1终端编程404

17.1.1 temios结构与终端属性404

17.1.2查询和改变终端设备属性406

17.1.3波特率设置408

17.1.4行控制函数408

17.1.5规范模式408

17.1.6非规范模式408

17.1.7规范模式下的密码读取示例409

17.2终端数据库访问编程411

17.2.1相关函数411

17.2.2终端类型设置与性能访问编程示例412

17.3 curses库编程414

17.3.1 curses简介414

17.3.2 curses程序结构414

17.3.3 curses库及应用415

17.3.4窗口与子窗体420

17.3.5键盘与功能键421

习题424

第18章 数据库的使用及编程425

18.1 DBM数据库编程425

18.1.1 DBM简介425

18.1.2库函数426

18.1.3 DBM使用示例427

18.2 MySQL数据库的使用432

18.2.1 MySQL的使用432

18.2.2 MySQL的管理437

18.3 MySQL数据库的编程440

18.3.1开发包、头文件和库函数440

18.3.2 MySQL C API数据类型440

18.3.3 MySQL C API函数441

18.3.4 MySQL C API编程示例447

习题450

第19章 网络编程451

19.1网络通信基础451

19.1.1守候进程及工作方式451

19.1.2客户机/服务器(C/S)模型452

19.1.3套接字及基本类型453

19.1.4头文件及套接字地址结构453

19.1.5与主机相关的数据结构及函数454

19.1.6与服务器相关的数据结构及函数454

19.1.7字节顺序及转换函数455

19.1.8 IP地址及主机名转换常用函数455

19.2 TCP编程457

19.2.1 socket编程常 用函数457

19.2.2 TCP C/S编程模型460

19.2.3 TCP编程示例461

19.2.4 TCP应用说明465

19.3 UDP编程466

19.3.1 UDP常用函数466

19.3.2 UDP C/S通信模型466

19.3.3 UDP示例程序467

19.4 C/M/S结构及编程473

19.4.1 C/M/S结构473

19.4.2交易型中间件程序结构473

19.5一个基于线程的并发服务器程序474

习题476

参考文献478

热门推荐