图书目录

目录

第1章Linux系统概述1

1.1Linux系统的起源、发展与特点1

1.1.1Linux系统的起源与发展1

1.1.2Linux系统的特点2

1.2Linux系统的应用领域2

1.2.1服务器2

1.2.2嵌入式2

1.2.3云计算3

1.2.4大数据3

1.2.5人工智能3

1.3VirtualBox下安装Linux系统4

1.3.1在VirtualBox上安装Linux操作系统4

1.3.2虚拟机克隆安装Slave1虚拟计算机12

1.4Linux系统与Windows系统共享粘贴板和文件夹16

1.4.1Linux系统与Windows系统共享粘贴板16

1.4.2Linux系统与Windows系统共享文件夹16

习题18

第2章图形界面与命令行界面19

2.1GNOME图形界面19

2.2命令行界面19

2.2.1启动终端窗口19

2.2.2命令格式20

2.3常用命令23

2.4常用快捷键26

2.5命令行自动补全27

2.5.1环境变量名自动补全27

2.5.2用户名称自动补全27

2.5.3用命令、文件名或函数名自动补全272.5.4用主机名自动补全27

习题28

目录〖3〗第3章Linux文件操作29

3.1Linux文件系统29

3.1.1Linux文件概述29

3.1.2Linux文件类型30

3.1.3Linux目录结构31

3.2文件创建、复制、删除和移动33

3.2.1touch创建文件33

3.2.2vim创建文件34

3.2.3重定向符>和>>创建文件34

3.2.4echo创建文件34

3.2.5文件的复制、删除和移动34

3.3文件内容查看36

3.3.1cat查看文件36

3.3.2more查看文件40

3.3.3less查看文件41

3.3.4head查看文件42

3.3.5tail查看文件42

3.3.6grep查找文件里符合条件的字符串42

3.3.7文件内容统计命令wc44

3.3.8文件内容比较命令comm和diff44

3.3.9sort对文件中所有行排序46

3.4查找文件名满足指定要求的文件46

3.4.1find查找文件名满足给定条件的文件46

3.4.2locate查找文件名包含指定字符串的文件48

3.5文件和目录访问权限管理49

3.5.1chmod更改文件或目录的访问权限49

3.5.2chown更改文件和目录的所有权50

3.6文件、目录的压缩及解压缩51

3.6.1gzip压缩与解压缩51

3.6.2bzip2压缩与解压缩51

3.6.3zip压缩与unzip解压缩52

3.6.4tar打包压缩和解包解压53

3.7通过扩展包挂载移动设备55

3.8通过mount命令挂载U盘56

习题57

第4章文本编辑器与软件包管理58

4.1vi编辑器58

4.1.1vi启动58

4.1.2vi命令模式59

4.1.3vi的插入模式61

4.1.4vi的底行模式62

4.2vim编辑器63

4.2.1配置vim63

4.2.2vim工作模式63

4.3gedit编辑器64

4.3.1gedit的启动与打开文件64

4.3.2gedit文本编辑器特色功能64

4.4软件包管理65

4.4.1更新包列表65

4.4.2升级软件包66

4.4.3搜索软件包66

4.4.4安装软件包66

4.4.5卸载软件包67

4.4.6更新镜像源67

习题67

第5章用户与用户组管理68

5.1用户管理68

5.1.1用户添加、删除与切换68

5.1.2设置用户密码70

5.1.3修改用户信息70

5.2用户账号文件71

5.2.1用户基本信息文件71

5.2.2用户影子文件72

5.3用户组管理73

5.3.1用户组创建、修改与管理73

5.3.2用户组文件74

习题75

第6章Linux Shell程序设计76

6.1Shell概述76

6.1.1Shell的特点和主要版本76

6.1.2Shell脚本的建立和执行78

6.2管道操作79

6.3Shell变量79

6.3.1局部变量79

6.3.2环境变量82

6.3.3位置变量84

6.4Shell输入和输出84

6.4.1使用echo命令输出结果84

6.4.2使用read命令读取信息85

6.5Shell数据类型87

6.5.1数字87

6.5.2字符串87

6.5.3数组90

6.6算术运算91

6.7流程控制结构95

6.7.1条件判断95

6.7.2选择结构98

6.7.3for循环结构101

6.7.4while循环结构103

6.7.5until循环结构104

6.7.6循环控制符break和continue104

6.8函数105

习题107

第7章Linux网络管理108

7.1网络基础108

7.1.1网络分类108

7.1.2网络协议110

7.1.3应用层协议111

7.1.4传输层协议112

7.2网络配置112

7.2.1主机名112

7.2.2MAC地址和IP地址113

7.2.3网络掩码115

7.3网络管理116

7.3.1hostname命令116

7.3.2ping命令117

7.3.3ifconfig命令117

7.3.4netstat命令118

7.3.5route命令119

习题121

第8章Linux下C语言基础编程122

8.1编译的概念122

8.2gcc编译C语言程序123

8.2.1预处理阶段123

8.2.2编译阶段128

8.2.3汇编阶段130

8.2.4连接阶段131

8.3文件操作131

8.3.1文件的创建、打开与关闭131

8.3.2文件的读与写134

习题137

第9章Linux下C语言进程和线程编程138

9.1进程概述138

9.1.1进程概念138

9.1.2进程属性138

9.2进程编程139

9.2.1fork()方法创建进程139

9.2.2vfork()方法创建进程141

9.2.3clone()方法创建进程142

9.2.4查看进程状态144

9.2.5终止进程147

9.2.6at定时执行命令148

9.3线程编程150

9.3.1线程概念150

9.3.2线程创建150

9.3.3线程终止151

习题154

第10章Linux下C语言网络编程155

10.1套接字155

10.1.1套接字概念155

10.1.2套接字存储155

10.1.3套接字类型156

10.2IP地址的转换157

10.2.1将网络地址转换成长整型157

10.2.2将长整型IP地址转换成网络地址158

10.3域名IP地址转换159

10.3.1通过主机名或域名获取IP地址159

10.3.2通过IP地址获取域名或主机名161

10.4套接字编程163

10.4.1创建套接字163

10.4.2绑定端口164

10.4.3监听与接收连接166

10.4.4请求连接167

10.4.5数据的发送与接收167

10.4.6关闭套接字168

习题171

第11章Linux下Python进程和线程编程172

11.1编写和运行Python代码172

11.2安装Python开发工具VS Code173

11.3安装Python开发工具Anaconda176

11.3.1安装Anaconda176

11.3.2配置Jupyter Notebook177

11.3.3运行Jupyter Notebook178

11.3.4为Anaconda安装扩展库180

11.4线程编程180

11.4.1使用start_new_thread()函数创建线程180

11.4.2使用threading模块的Thread类创建线程181

11.4.3Thread.join()方法182

11.4.4Thread.setDaemon()方法184

11.5线程同步186

11.5.1Lock/RLock对象186

11.5.2Condition对象188

11.5.3Queue对象190

11.6进程编程194

11.6.1进程创建194

11.6.2进程间通信196

11.6.3进程池198

习题199

第12章Linux下Python网络编程200

12.1套接字模块200

12.2TCP编程203

12.3UDP编程205

12.4HTTP编程207

12.4.1HTTP特性207

12.4.2HTTP通信过程207

12.4.3HTTP报文结构207

12.4.4使用Requests库实现HTTP请求214

12.4.5Cookie218

12.4.6使用Requests库简单获取网页内容218

习题219

第13章Linux下操作MySQL数据库220

13.1Linux下安装MySQL220

13.1.1MySQL的基本概念220

13.1.2安装并配置MySQL220

13.2MySQL基本操作222

13.2.1用户操作命令222

13.2.2数据库操作命令224

13.2.3数据表操作命令226

13.3C语言操作MySQL数据库230

13.4Python语言操作MySQL数据库232

13.4.1连接MySQL数据库233

13.4.2创建游标对象233

13.4.3执行SQL语句234

13.4.4创建数据库234

13.4.5创建数据表235

13.4.6插入数据235

13.4.7查询数据236

13.4.8更新和删除数据237

习题238

第14章Hadoop大数据环境搭建239

14.1Hadoop概述239

14.1.1Hadoop简介239

14.1.2Hadoop优缺点239

14.2Hadoop安装前的准备工作240

14.2.1创建Hadoop用户240

14.2.2安装SSH、配置SSH无密码登录241

14.2.3安装Java环境242

14.2.4Linux系统下Scala版本的Eclipse的安装与配置243

14.2.5Eclipse环境下Java程序开发实例244

14.3Hadoop的安装与配置246

14.3.1下载Hadoop安装文件246

14.3.2Hadoop单机模式配置247

14.3.3Hadoop伪分布式模式配置249

14.3.4Hadoop分布式模式配置253

14.4HDFS的Shell操作262

14.4.1查看命令使用方法263

14.4.2HDFS常用的Shell操作264

习题268

参考文献269