内容简介:
《跟阿铭学Linux》是一本入门级的Linux学习教材,适合初学者阅读。本书共分为两个部分:基础部分和实践部分。通过基础部分的学习(文档目录的处理、权限管理、用户管理、磁盘管理、软件包安装)可以让读者完成对Linux操作系统的各种管理操作。实践部分涵:shell脚本、Linux系统日常管理技巧、web服务环境部署、MySQL常用操作、NFS服务、Squid配置、FTP配置、Tomcat配置、Samba配置、邮件系统搭建、监控系统搭建、DNS系统搭建、集群等。
作者简介:
阿铭
河北人,30岁,毕业于廊坊师范学院数信系。2009年加入康盛,担任Linux系统工程师一职;2011年转入腾讯并担任业务运维一职。同年为女友撰写了一本电子版Linux入门教程,到目前为止已经累计帮助数万人。多年来在Linux领域积累了丰富的经验,熟悉Linux系统架构、性能调优等技术。2013年创建阿铭Linux培训,目前已经培训多期学员。
目录:
第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
文章试读:不管是在生活还是工作中,每个人都会逐渐养成一些小习惯。坏习惯一旦形成就很难改正,所以阿铭在这里先给出一些建议,请大家务必引起重视。 1.2.1 要习惯使用命令行 操作系统必须要有图形界面。但早期的Linux并不完全支持图形界面,操作起来也没有Windows系统流畅,这也是Windows系统比Linux系统流行的原因之一。在图形界面下进行操作,既直观又简洁,但Linux的图形界面存在许...
(查看全部试读)