图书介绍
UNIX系统与软件开发PDF|Epub|txt|kindle电子书版本网盘下载
![UNIX系统与软件开发](https://www.shukui.net/cover/15/35036070.jpg)
- 邵国金主编;耿永军,张俊峰副主编 著
- 出版社: 北京:中国铁道出版社
- ISBN:9787113168988
- 出版时间:2013
- 标注页数:478页
- 文件大小:87MB
- 文件页数:493页
- 主题词:UNIX操作系统-高等学校-教材
PDF下载
下载说明
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