《跟阿铭学Linux》是一本入门级的Linux学习教材,适合初学者阅读。本书共分为两个部分:基础部分和实践部分。通过基础部分的学习(文档目录的处理、权限管理、用户管理、磁盘管理、软件包安装)可以让读者完成对Linux操作系统的各种管理操作。实践部分涵:shell脚本、Linux系统日常管理技巧、web服务环境部署、MySQL常用操作、NFS服务、Squid配置、FTP配置、Tomcat配置、Samba配置、邮件系统搭建、监控系统搭建、DNS系统搭建、集群等。
第1章 学习之初1
1.1 Linux是什么1
1.1.1 Linux的由来1
1.1.2 Linux怎么读2
1.1.3 常见Linux发行版2
1.1.4 我们要学习哪个Linux发行版3
1.2 Linux系统管理员要养成的习惯3
1.2.1 要习惯使用命令行3
1.2.2 操作要严谨4
1.2.3 安全不可忽视4
1.3 学习建议5
1.3.1 稳中求进5
1.3.2 善于总结文档5
1.3.3 复习很关键6
1.3.4 举一反三6
1.4 课后习题6
第2章 安装CentOS7
2.1 安装虚拟机7
2.1.1 下载虚拟机软件8
2.1.2 安装虚拟机8
2.1.3 新建一个虚拟机11
2.2 安装Linux操作系统14
2.2.1 下载CentOS镜像15
2.2.2 设置虚拟光驱15
2.2.3 安装CentOS16
2.3 第一次亲密接触31
2.3.1 初次使用命令行登录31
2.3.2 设置网络32
2.3.3 图形和命令行切换35
2.3.4 Linux的7个运行级别35
2.3.5 学会使用快捷键36
2.3.6 学会查询帮助文档 —— man36
2.3.7 Linux系统目录结构37
2.3.8 如何正确关机、重启39
2.3.9 忘记root密码怎么办40
2.3.10 学会使用救援模式41
2.4 课后习题42
第3章 远程登录Linux系统43
3.1 安装PuTTY43
3.1.1 下载PuTTY43
3.1.2 安装44
3.2 设置IP44
3.2.1 增加网卡44
3.2.2 配置IP44
3.3 远程登录45
3.3.1 使用密码直接登录45
3.3.2 使用密钥认证46
3.4 两台Linux相互登录48
3.4.1 克隆CentOS48
3.4.2 使用密码登录49
3.4.3 使用密钥登录49
3.5 课后习题51
第4章 Linux文件和目录管理52
4.1 绝对路径和相对路径52
4.1.1 命令cd53
4.1.2 命令mkdir53
4.1.3 命令rmdir54
4.1.4 命令rm54
4.2 环境变量PATH55
4.2.1 命令cp56
4.2.2 命令mv57
4.3 几个与文档相关的命令58
4.3.1 命令cat59
4.3.2 命令 tac59
4.3.3 命令more59
4.3.4 命令less60
4.3.5 命令head60
4.3.6 命令tail60
4.4 文件的所属主和所属组61
4.5 Linux文件属性61
4.6 更改文件的权限63
4.6.1 命令chgrp63
4.6.2 命令chown64
4.6.3 命令chmod64
4.6.4 命令umask65
4.6.5 修改文件的特殊属性66
4.7 在Linux下搜索文件69
4.7.1 用which命令查找可执行文件的绝对路径69
4.7.2 用whereis命令查找文件69
4.7.3 用locate命令查找文件69
4.7.4 使用find搜索文件70
4.8 Linux文件系统简介71
4.9 Linux文件类型72
4.9.1 常见文件类型72
4.9.2 Linux文件后缀名73
4.9.3 Linux的链接文件73
4.10 课后习题75
第5章 Linux系统用户与用户组管理77
5.1 认识/etc/passwd和/etc/shadow77
5.1.1 /etc/passwd解说78
5.1.2 /etc/shadow解说78
5.2 用户和用户组管理79
5.2.1 新增组的命令groupadd79
5.2.2 删除组的命令groupdel80
5.2.3 增加用户的命令useradd80
5.2.4 删除账户的命令userdel81
5.2.5 使用命令chfn更改用户的finger81
5.3 用户密码管理82
5.3.1 命令passwd82
5.3.2 命令mkpasswd83
5.4 用户身份切换83
5.4.1 命令su84
5.4.2 命令sudo84
5.4.3 不允许root远程登录Linux86
5.5 使用密码工具管理密码86
5.6 课后习题87
第6章 Linux磁盘管理89
6.1 查看磁盘或者目录的容量89
6.1.1 命令df89
6.1.2 命令du90
6.2 磁盘的分区和格式化91
6.2.1 增加虚拟磁盘91
6.2.2 命令fdisk92
6.3 格式化磁盘分区100
6.3.1 命令mke2fs、mkfs.ext2、mkfs.ext3和mkfs.ext4100
6.3.2 命令e2label102
6.4 挂载/卸载磁盘103
6.4.1 命令mount103
6.4.2 /etc/fstab配置文件105
6.4.3 命令blkid107
6.4.4 命令umount108
6.5 建立一个swap文件增加虚拟内存109
6.6 课后习题110
第7章 文本编辑工具Vim111
7.1 Vim的3种常用模式111
7.1.1 一般模式111
7.1.2 编辑模式112
7.1.3 命令模式113
7.2 Vim实践114
7.3 课后习题115
第8章 文档的压缩与打包117
8.1 gzip压缩工具117
8.2 bzip2压缩工具118
8.3 tar压缩工具119
8.3.1 打包的同时使用gzip压缩120
8.3.2 打包的同时使用bzip2压缩120
8.4 使用zip压缩121
8.5 bzcat命令的使用122
8.6 课后习题122
第9章 安装RPM包或源码包123
9.1 RPM工具123
9.1.1 安装一个rpm包124
9.1.2 升级一个rpm包124
9.1.3 卸载一个rpm包125
9.1.4 查询一个包是否已安装125
9.1.5 得到一个已安装的rpm包的相关信息125
9.1.6 列出一个rpm包的安装文件126
9.1.7 列出某一个文件属于哪个rpm包126
9.2 yum工具126
9.2.1 列出所有可用的rpm包127
9.2.2 搜索一个rpm包127
9.2.3 安装一个rpm包128
9.2.4 卸载一个rpm包129
9.2.5 升级一个rpm包130
9.2.6 使用本地光盘制作一个yum源131
9.2.7 利用yum工具下载一个rpm包131
9.3 安装一个源码包133
9.3.1 下载一个源码包133
9.3.2 解压源码包134
9.3.3 配置相关的选项并生成Makefile134
9.3.4 进行编译135
9.3.5 安装136
9.4 课后习题137
第10章 shell基础知识138
10.1 什么是shell138
10.1.1 记录命令历史139
10.1.2 命令和文件名补全139
10.1.3 别名139
10.1.4 通配符140
10.1.5 输入/输出重定向140
10.1.6 管道符140
10.1.7 作业控制141
10.2 变量142
10.2.1 命令env142
10.2.2 命令set144
10.3 系统环境变量与个人环境变量的配置文件148
10.4 linux shell中的特殊符号149
10.4.1 *代表零个或多个任意字符149
10.4.2 ?只代表一个任意的字符149
10.4.3 注释符号#149
10.4.4 脱义字符150
10.4.5 管道符|150
10.4.6 命令cut150
10.4.7 命令sort151
10.4.8 命令wc152
10.4.9 命令uniq152
10.4.10 命令tee153
10.4.11 命令tr153
10.4.12 命令split153
10.4.13 特殊符号$154
10.4.14 特殊符号; 154
10.4.15 特殊符号~ 154
10.4.16 特殊符号&155
10.4.17 重定向符号>、>>、2>和
2>>155
10.4.18 中括号[ ]155
10.4.19 特殊符号&&和||156
10.5 课后习题157
第11章 正则表达式159
11.1 grep/egrep工具的使用159
11.1.1 过滤带有某个关键词的行并输出行号160
11.1.2 过滤不带有某个关键词的行并输出行号160
11.1.3 过滤所有包含数字的行161
11.1.4 过滤所有不包含数字的行161
11.1.5 删除所有以“#”开头的行161
11.1.6 删除所有空行和以“#”开头的行161
11.1.7 过滤任意一个字符和重复字符162
11.1.8 指定要过滤的字符的出现次数163
11.1.9 筛选一个或多个前面的字符163
11.1.10 筛选零个或一个前面的字符163
11.1.11 筛选字符串1或者字符串2164
11.1.12 egrep中()的应用164
11.2 sed工具的使用164
11.2.1 打印某行164
11.2.2 打印包含某个字符串的行165
11.2.3 删除某行或者多行165
11.2.4 替换字符或者字符串166
11.2.5 调换两个字符串的位置167
11.2.6 直接修改文件的内容167
11.2.7 sed练习题168
11.3 awk工具的使用169
11.3.1 截取文档中的某个段169
11.3.2 匹配字符或者字符串169
11.3.3 条件操作符170
11.3.4 awk的内置变量171
11.3.5 awk中的数学运算172
11.3.6 awk练习题173
11.4 课后习题174
第12章 shell脚本175
12.1 什么是shell脚本175
12.1.1 shell脚本的创建和执行176
12.1.2 命令date177
12.2 shell脚本中的变量177
12.2.1 数学运算178
12.2.2 和用户交互179
12.2.3 shell脚本预设变量179
12.3 shell脚本中的逻辑判断180
12.3.1 不带else180
12.3.2 带有else181
12.3.3 带有elif181
12.3.4 和文档相关的判断182
12.3.5 case逻辑判断183
12.4 shell脚本中的循环184
12.4.1 for循环184
12.4.2 while循环185
12.5 shell脚本中的函数186
12.6 shell脚本练习题187
12.7 课后习题189
第13章 Linux系统日常管理190
13.1 监控系统的状态190
13.1.1 w查看当前系统的负载190
13.1.2 vmstat监控系统的状态191
13.1.3 top显示进程所占的系统资源193
13.1.4 sar监控系统状态194
13.1.5 free查看内存使用状况196
13.1.6 ps查看系统进程196
13.1.7 netstat查看网络状况198
13.2 抓包工具198
13.2.1 tcpdump工具198
13.2.2 wireshark工具199
13.3 Linux网络相关200
13.3.1 ifconfig查看网卡IP200
13.3.2 给一个网卡设定多个IP200
13.3.3 查看网卡连接状态201
13.3.4 更改主机名201
13.3.5 设置DNS202
13.4 Linux的防火墙203
13.4.1 selinux203
13.4.2 iptables203
13.5 Linux系统的任务计划209
13.5.1 命令crontab209
13.5.2 cron练习题210
13.6 Linux系统服务管理211
13.6.1 ntsysv服务配置工具211
13.6.2 chkconfig服务管理工具212
13.7 Linux下的数据备份工具rsync214
13.7.1 rsync的命令格式214
13.7.2 rsync常用选项215
13.7.3 rsync应用实例219
13.8 Linux系统日志226
13.8.1 /var/log/messages226
13.8.2 dmesg227
13.8.3 安全日志228
13.9 xargs与exec228
13.9.1 xargs应用228
13.9.2 exec应用229
13.10 screen工具介绍230
13.10.1 使用nohup230
13.10.2 screen工具的使用230
13.11 课后习题231
第14章 LAMP环境搭建233
14.1 安装MySQL233
14.1.1 下载软件包233
14.1.2 初始化234
14.1.3 配置MySQL234
14.2 安装Apache235
14.3 安装PHP236
14.4 Apache结合PHP238
14.5 测试LAMP是否成功238
14.5.1 测试配置文件是否正确238
14.5.2 测试是否正确解析PHP239
14.6 课后习题239
第15章 LNMP环境配置241
15.1 安装MySQL241
15.2 安装PHP242
15.3 安装Nginx244
15.4 课后习题249
第16章 常用MySQL操作250
16.1 更改MySQL数据库root的密码250
16.2 连接数据库251
16.3 MySQL基本操作的常用命令252
16.3.1 查询当前库252
16.3.2 查询某个库的表252
16.3.3 查看某个表的全部字段253
16.3.4 查看当前是哪个用户254
16.3.5 查看当前所使用的数据库254
16.3.6 创建一个新库254
16.3.7 创建一个新表254
16.3.8 查看当前数据库的版本255
16.3.9 查看MySQL的当前状态255
16.3.10 查看MySQL的参数255
16.3.11 修改MySQL的参数256
16.3.12 查看当前MySQL服务器的队列256
16.3.13 创建一个普通用户并授权256
16.4 常用的SQL语句257
16.4.1 查询语句257
16.4.2 插入一行258
16.4.3 更改表的某一行258
16.4.4 清空某个表的数据258
16.4.5 删除表258
16.4.6 删除数据库259
16.5 MySQL数据库的备份与恢复259
16.5.1 MySQL备份259
16.5.2 MySQL恢复259
16.6 课后习题259
第17章 NFS服务配置261
17.1 服务端配置NFS261
17.2 客户端挂载NFS262
17.3 命令exportfs263
17.4 课后习题264
第18章 配置FTP服务265
18.1 安装pure-ftpd265
18.1.1 下载软件265
18.1.2 安装pure-ftpd265
18.1.3 配置pure-ftpd266
18.1.4 建立账号267
18.1.5 测试pure-ftpd267
18.2 使用vsftpd搭建ftp服务268
18.2.1 安装vsftpd268
18.2.2 建立账号268
18.2.3 创建和用户对应的配置文件269
18.2.4 修改全局配置文件/etc/vsftpd.conf269
18.3 课后习题270
第19章 配置Squid服务271
19.1 Squid是什么271
19.2 搭建Squid正向代理272
19.3 搭建Squid反向代理276
19.4 Squid命令常用选项276
19.5 课后习题277
第20章 配置Tomcat278
20.1 安装Tomcat278
20.1.1 安装JDK278
20.1.2 安装Tomcat279
20.2 配置Tomcat280
20.2.1 配置Tomcat服务的访问端口280
20.2.2 配置新的虚拟主机281
20.3 测试Tomcat281
第21章 配置Samba服务器282
21.1 Samba的配置文件smb.conf282
21.2 Samba实践284
21.2.1 Samba实践一284
21.2.2 Samba实践二285
21.2.3 使用Linux访问Samba服务器286
21.3 课后习题286
第22章 MySQL Replication配置287
22.1 配置MySQL服务287
22.2 配置Replication288
22.2.1 设置master288
22.2.2 设置slave289
22.3 测试主从290
22.4 课后习题291
数据库系统简明教程 本书特色 《数据库系统简明教程》是由王珊所编著,高等教育出版社出版发行的。数据库系统简明教程 内容简介 本书系统地阐述了数据库系统的基础理论...
《飞向太空港》内容简介:《飞向太空港》是对人类航天和中国航天的悲壮历程所能容涵的丰富而深刻的社会历史、人生内容的一次顿悟,
《阿拉伯国家军政关系研究》内容简介:本书以埃及、伊拉克、也门和黎巴嫩为主要案例,考察阿拉伯国家军政关系演变的轨迹和动力,分
不可知的未来正向我们涌来,在IT技术变革比人们换手机还勤的时代里,一切更新都显得那么平常而频繁。这一切的策源地――硅谷,也
Photoshop CS4数码照片精修专家技法精粹(附光盘) 本书特色 精彩光盘超值附赠73个实例素材及*终效果文件,200分钟多媒体演示视频,70个精美相框和...
《中国目录学史》内容简介:本书是近代以来第一部以《中国目录学史》命名,全面、系统研究中国目录学发展历史的学术著作,是了解、
本书以Xinu(一个小型简洁的操作系统)为例,全面介绍操作系统设计方面的知识。本书着重讨论用于嵌入式设备的微内核操作系统,采
你必须知道的495个-C语言问题 本书特色 《你必须知道的495个c语言问题》以问答的形式组织内容,讨论了学习或使用c语言的过程中经常遇到的一些问题。书中列出了...
《故乡情·北江谣》内容简介:《故乡情·北江谣》一书的内容分为上下两篇,作者林永泽有着深厚的文字功底,擅长运用四时之景的变化
黑客的战争:下一个战争地带 本书特色 美国军事专家和广播电台分析家詹姆斯·F·邓尼根对“网络珍珠港事件”发出了预警信号。尽管与加强我们网络软肋有关的警告不断地发...
《如戏》内容简介:人生如戏,戏如人生,人生与戏曲互为镜像,于人生中寻觅戏曲意境,于戏曲中印证人生苦乐。这本随笔集是一份女性
《开国领袖毛泽东》内容简介:《开国领袖毛泽东》真实地再现了共和国开国奠基特定历史环境中领袖人物毛泽东的心路历程、行为轨迹和
作者简介:TrevorvanGorp作为加拿大首屈一指的用户体验公司nForm的创始人和董事长,Trevor是一位值得信任的情感设计用户体验顾问
《中国各阶层财富报告》内容简介:解析经济问题,把握财富走向,著名时评人石述思再度出击。中国社会面对经济增速放缓、社会矛盾迭
"DesignforEmotion"introducesyoutothewhy,what,when,whereandhowofdesigningforemoti...
本书纵观了软件开发在不同发展阶段的特点,揭示了当今在很多大型应用软件设计、开发过程中采用的一种部署模式,引出了一种称之为
时代永远在变化,科技永远在进步,平台的发展也日新月异。平台如战场,各路企业在平台的“基础设施支持”、“浏览支持”、“内容
《数据中台:赋能企业实时经营与商业创新》内容简介:随着数字化的浪潮席卷而来,无论是个人还是企业,相信都已经真切地感受到了数
《Android群英传》对具有一定Android开发基础的读者,以通俗易懂的语言介绍了Android开发的进阶技巧。《Android群英传》共分为13
《代码之髓:编程语言核心概念》作者从编程语言设计的角度出发,围绕语言中共通或特有的核心概念,通过语言演变过程中的纵向比较