找回密码
 骑士注册

QQ登录

微博登录

搜索
❏ 站外平台:

Linux中国开源社区 活动 查看内容

《Linux系统命令及Shell脚本实践指南》评论赠书活动

| 2013-12-20 09:56   评论: 94    

本书由浅入深、全面、系统地介绍了Linux系统的基础命令和Shell脚本的开发。作为一本面向Linux入门用户的书籍,本书力求语言通俗易懂,用例简单明了,便于读者阅读领会。同时,全书穿插了不少要求读者动手实践的内容,不但可加深读者对内容的理解和消化,同时也可通过动手实践激发读者对Linux系统和Shell编程的兴趣,从而更好地驱动读者学习。

全书共计18章,从知识结构上分为三部分。第一部分为前8章,全面介绍了Linux的基础知识和常用命令;第二部分为第9章和第10章,主要是Linux下交互和非交互编辑器的使用;第三部分为第11~18章,主要是Shell脚本开发。这三部分内容各有偏重,读者可以根据实际需要选择阅读。

本书根据作者多年来Linux环境运维管理工作的经验编著而成,内容丰富,且注重实践讲解,非常适合Linux初学者和基于Linux平台的软件开发者学习或查阅。从内容结构上来看,本书摒弃了各章独立的写作风格,而是采取了各章有机结合的方式,自上而下自成一体,既加深了读者对单个知识点的理解,也有利于从全局把控Linux系统和Shell编程的精髓。

作者: 王军   
出版社:机械工业出版社
ISBN:978-7-111-44503-6
出版日期:2013 年11月
开本:16开
定价:59.00元

 

为什么要写这本书

早在我还在大学校园时就对Linux产生了极大的兴趣,期间我热衷于下载、安装、体验各种不同的Linux发行版,并尝试使用Linux作为我的桌面系统。但实际情况是,由于大学中使用群体极小,学校又没有开设直接的Linux系统课程,虽然我花了不少的课余时间去研究它,但始终感觉不得其法,难以入门。至今我依然记得当时使用鼠标双击好不容易才复制桌面上的rpm包,并抱怨为什么没有出现类似于Windows的“安装向导”。所以实际上有很长一段时间,面对Linux系统我能做的少之又少。

2006年大学毕业后,我有幸进入了一直梦寐以求的IT行业,并从此正式走上了技术之路。工作中能实际接触到Linux系统运维是我在该领域发展的很重要的外部因素,工作的驱使和个人的兴趣成为我每天坚持学习Linux的源动力。但当时很尴尬的一个现实是:一方面互联网行业的高速发展促进了Linux如火如荼的发展,另一方面又很难找到真正适合“新手”的入门级教材,得到一本简单明了的入门书籍是我当时迫切的愿望。于是在走了不少弯路并感觉自己已经“迷路”之后,我报名参加了Linux系统工程师社会培训班,利用工作之余系统并完整地学习了Linux。事实证明,当时的选择是正确的,这直接影响了我至今的职业发展乃至今后的职业规划。

经历了多年的工作后,我也非常希望能有机会与大家分享自己在IT领域的体会,所以也经常在一些技术网站发表技术文章,或是与志同道合的朋友一起举办免费的网络培训班。但是总体来说,所涉及的内容大多零碎、不成体系。筹划本书的初期,我想把重点放在Linux系统管理、高性能计算、高可用集群甚至云计算这些“够时髦”的主题上,但是反复思考后觉得,“时髦”的技术永远在变,而且限制了读者范围。但是对我、对很多梦想学习Linux的读者来说这更是一个机会:用最简单、最朴素、最基础的语言讲解和描述Linux系统以及如何使用它,给更多初学者以“可以学会”的希望和“努力前行”的力量。

出于这样的考虑,我在组织本书的内容时尽量安排书的各个章节以及每章节中的每个小节,甚至是每小节中的知识点的出现顺序符合新手的认知规律,做到从易到难,从基础到提高,以循序渐进的方式将各类知识点以人物出场、层次推进的方式呈现在读者面前,尽量避免将生僻的术语突然摆在读者面前,造成读者思维上的困扰,并且尽量使用简单明了的文字和浅显易懂的比喻帮助读者理解、消化。尽管如此,我还是希望读者能在此基础上展开阅读,并根据实际需要做必要的深入理解。

总之,这是一本讲解Linux系统和Shell编程的入门级书籍,内容主要涉及Linux的基础命令、编辑器的使用和Shell脚本的开发。

读者对象

本书适合以下读者阅读:

  • Linux爱好者
  • Linux初学者
  • 希望学习Shell编程的读者
  • 希望了解系统的网络工程师
  • 网站前后台开发人员

目录 

推荐序1
推荐序2
前 言
第1章 Linux简介	1
1.1 Linux的发展历史	1
1.2 Linux的特点	2
1.3 系统安装	3
1.3.1 安装前的规划	3
1.3.2 安装RedHat	4
1.3.3 安装CentOS	11
1.4 系统登录	16
1.4.1 第一次登录系统的设置	16
1.4.2 使用图形模式登录	21
1.4.3 使用终端模式登录	23
1.4.4 开始学习使用Linux的命令	24
1.5 系统启动流程	25
1.5.1 系统引导概述	25
1.5.2 系统运行级别	26
1.5.3 服务启动脚本	27
1.5.4 Grub介绍	29
1.6 获得帮助	31
1.6.1 使用man page	31
1.6.2 使用info page	32
1.6.3 其他获得帮助的方式	32
第2章 Linux用户管理	33
2.1 Linux用户和用户组	33
2.1.1 UID和GID	33
2.1.2  /etc/passwd和/etc/shadow	34
2.2 Linux账号管理	36
2.2.1 新增和删除用户	36
2.2.2 新增和删除用户组	39
2.2.3 检查用户信息	39
2.3 切换用户	40
2.3.1 切换成其他用户	40
2.3.2 用其他用户的身份执行命令:sudo	41
2.4 例行任务管理	43
2.4.1 单一时刻执行一次任务:at	43
2.4.2 周期性执行任务:cron	44
2.4.3 /etc/crontab的管理	45
第3章 Linux文件管理	46
3.1 文件和目录管理	46
3.1.1 绝对路径和相对路径	47
3.1.2 文件的相关操作	48
3.1.3 目录的相关操作	51
3.1.4 文件时间戳	53
3.2 文件和目录的权限	54
3.2.1 查看文件或目录的权限:ls -al	54
3.2.2 文件隐藏属性	55
3.2.3 改变文件权限:chmod	56
3.2.4 改变文件的拥有者:chown	56
3.2.5 改变文件的拥有组:chgrp	57
3.2.6 文件特殊属性:SUID/SGID/Sticky	57
3.2.7 默认权限和umask	58
3.2.8 查看文件类型:file	60
3.3 查找文件	60
3.3.1 一般查找:find	61
3.3.2 数据库查找:locate	61
3.3.3 查找执行文件:which/whereis	62
3.4 文件压缩和打包	63
3.4.1 gzip/gunzip	63
3.4.2 tar	63
3.4.3 bzip2	63
3.4.4 cpio	64
第4章 Linux文件系统	65
4.1 文件系统	65
4.1.1 什么是文件系统	65
4.1.2 ext2文件系统简介	65
4.1.3 ext3文件系统简介	66
4.2 磁盘分区、创建文件系统、挂载	66
4.2.1 创建文件系统:fdisk	66
4.2.2 磁盘挂载:mount	69
4.2.3 设置启动自动挂载:/etc/fstab	70
4.2.4  磁盘检验:fsck、badblocks	70
4.3 Linux逻辑卷	71
4.3.1 什么是逻辑卷	71
4.3.2 如何制作逻辑卷	72
4.4 硬链接和软链接	76
4.4.1 什么是硬链接	76
4.4.2 什么是软链接	77
第5章 字符处理	79
5.1 管道	79
5.2 使用grep搜索文本	79
5.3 使用sort排序	80
5.4 使用uniq删除重复内容	82
5.5 使用cut截取文本	82
5.6 使用tr做文本转换	83
5.7 使用paste做文本合并	84
5.8 使用split分割大文件	84
第6章 网络管理	86
6.1 网络接口配置	86
6.1.1 使用ifconfig检查和配置网卡	86
6.1.2 将IP配置信息写入配置文件	87
6.2 路由和网关设置	88
6.3 DNS客户端配置	89
6.3.1 /etc/hosts	89
6.3.2 /etc/resolv.conf	90
6.4 网络测试工具	90
6.4.1 ping	90
6.4.2 host	91
6.4.3 traceroute	91
6.4.4 常见网络故障排查	92
第7章 进程管理	94
7.1 什么是进程	94
7.2 进程和程序的区别	95
7.3 进程的观察:ps、top	95
7.4 进程的终止:kill、killall	98
7.5 查询进程打开的文件:lsof	99
7.6 进程优先级调整:nice、renice	101
第8章 Linux下的软件安装	103
8.1 源码包编译安装	103
8.1.1 编译、安装、打印HelloWorld程序	103
8.1.2 使用源码包编译安装Apache	106
8.2 RPM安装软件	108
8.2.1 什么是RPM	108
8.2.2 RPM包管理命令:rpm	109
8.2.3 包依赖关系	110
8.2.4 使用RPM包安装gcc	110
8.2.5 使用RPM包安装Apache	112
8.3 yum安装软件	114
8.3.1 yum命令的基本用法	114
8.3.2 使用yum安装Apache	115
8.3.3 RedHat使用yum的问题	115
8.3.4 自建本地yum源	118
8.3.5 自建网络yum源	121
8.4 三种安装方法的比较	123
8.5 重建RPM包	124
8.5.1 创建重建环境	124
8.5.2 快速重建RPM包	124
8.5.3 以spec文件重建RPM包	125
8.5.4 spec文件简介	126
第9章 vi和vim编辑器	129
9.1 vi和vim编辑器简介	129
9.2 vi编辑器	129
9.2.1 模式介绍	129
9.2.2 案例练习	130
9.3 vim编辑器	134
9.3.1 多行编辑	134
9.3.2 多文件编辑	134
9.3.3 使用vimtutor深入学习vim	136
9.4 gedit编辑器	137
9.4.1 gedit编辑器简介	137
9.4.2 启动gedit编辑器	138
第10章 正则表达式	139
10.1 正则表达式基础	139
10.1.1 什么是正则表达式	139
10.1.2 基础的正则表达式	140
10.1.3 扩展的正则表达式	143
10.1.4 通配符	144
10.2 正则表达式示例	146
10.3 文本处理工具sed	150
10.3.1 sed介绍	150
10.3.2 删除	151
10.3.3 查找替换	152
10.3.4 字符转换	153
10.3.5 插入文本	153
10.3.6 读入文本	154
10.3.7 打印	154
10.3.8 写文件	154
10.3.9 sed脚本	155
10.3.10 高级替换	155
10.3.11 sed总结	156
10.4 文本处理工具awk	157
10.4.1 打印指定域	158
10.4.2 指定打印分隔符	158
10.4.3 内部变量NF	159
10.4.4 打印固定域	159
10.4.5 截取字符串	159
10.4.6 确定字符串的长度	160
10.4.7 使用awk求列和	160
第11章 Shell编程概述	161
11.1 Shell简介	161
11.1.1 Shell是什么	161
11.1.2 Shell的历史	163
11.1.3 Shell的功能	164
11.1.4 Shell编程的优势	164
11.2 第一个Shell脚本	164
11.2.1 编辑第一个Shell脚本	164
11.2.2 运行脚本	165
11.2.3 Shell脚本的排错	166
11.3 Shell的内建命令	169
第12章 Bash Shell的安装	184
12.1 确定你的Shell版本	184
12.2 安装bash	184
12.3 使用新版本的Bash Shell	186
12.4 在Windows中安装bash	187
第13章 Shell编程基础	191
13.1 变量	191
13.1.1 局部变量	191
13.1.2 环境变量	191
13.1.3 变量命名	197
13.1.4 变量赋值和取值	198
13.1.5 取消变量	199
13.1.6 特殊变量	199
13.1.7 数组	200
13.1.8 只读变量	202
13.1.9 变量的作用域	203
13.2 转义和引用	205
13.2.1 转义	205
13.2.2 引用	206
13.2.3 命令替换	207
13.3 运算符	208
13.3.1 算术运算符	209
13.3.2 位运算符	209
13.3.3 自增自减	211
13.4 其他算术运算	211
13.4.1 使用$[]做运算	211
13.4.2 使用expr做运算	212
13.4.3 内建运算命令declare	212
13.4.4 算术扩展	213
13.4.5 使用bc做运算	213
13.5 特殊字符	215
13.5.1 通配符	215
13.5.2 引号	215
13.5.3 注释符	215
13.5.4 大括号	216
13.5.5 控制字符	217
13.5.6 杂项	217
第14章 测试和判断	218
14.1 测试	218
14.1.1 测试结构	218
14.1.2 文件测试	219
14.1.3 字符串测试	220
14.1.4 整数比较	222
14.1.5 逻辑测试符和逻辑运算符	223
14.2 判断	224
14.2.1 if判断结构	224
14.2.2 if/else判断结构	225
14.2.3 if/elif/else判断结构	226
14.2.4 case判断结构	227
第15章 循环	229
15.1 for循环	229
15.1.1 带列表的for循环	229
15.1.2 不带列表的for循环	231
15.1.3 类C的for循环	232
15.1.4 for的无限循环	233
15.2 while循环	234
15.2.1 while循环的语法	234
15.2.2 使用while按行读取
            文件	235
15.2.3 while的无限循环	236
15.3 until循环	237
15.3.1 until循环的语法	237
15.3.2 until的无限循环	238
15.4 select循环	238
15.5 嵌套循环	239
15.6 循环控制	241
15.6.1 break语句	241
15.6.2 continue语句	241
第16章 函数	243
16.1 函数的基本知识	243
16.1.1 函数的定义和调用	243
16.1.2 函数的返回值	244
16.2 带参数的函数	246
16.2.1 位置参数	246
16.2.2 指定位置参数值	247
16.2.3 移动位置参数	248
16.3 函数库	249
16.3.1 自定义函数库	249
16.3.2 函数库/etc/init.d/functions简介	249
16.4 递归函数	251
第17章 重定向	255
17.1 重定向简介	255
17.1.1 重定向的基本概念	255
17.1.2 文件标识符和标准输入输出	255
17.2 I/O重定向	255
17.2.1 I/O重定向符号和用法	255
17.2.2 使用exec	260
17.2.3 Here Document	262
第18章 脚本范例	263
18.1 批量添加用户脚本	263
18.2 检测服务器存活	266
18.3 使用expect实现自动化输入	268
18.4 自动登录ftp备份	270
18.5 文件安全检测脚本	272
18.6 ssh自动登录备份	273
18.7 使用rsync备份	275
18.8 使用netcat备份	277
18.9 使用iptables建立防火墙	279
18.10 自定义开机启动项的init脚本	282
18.11 使用脚本操作MySQL数据库	286
18.12 基于LVM快照的MySQL数据库备份	288
18.13 页面自动化安装LAMP环境	291

 

样章地址: http://wenku.it168.com/d_001324883.shtml  

购买链接: http://item.jd.com/11354663.html  

活动内容

活动时间:2013年12月20日-12月31日

活动奖品:

活动结束后,我们会评选出5位积极参与评论的网友奖励《Linux系统命令及Shell脚本实践指南》图书1本。

活动要求:

1、 在Linux中国(http://linux.cn)对本书进行评论,要言之有物,不能低于20个字。

2、 本次话题主要关注Linux命令及Shell编程技术的讨论,以及对本书样章内容的评论。

收藏


最新评论

我也要发表评论

edsionwang 2013-12-20 10:06 回复
学习linux最佳方法无外乎理论加实践。理论就需要一本讲解全面而易懂的书作为知道,实践得装个系统把看过的实现一遍。这本书由浅入深,即适合刚接触linux的新手,也适合对linux有一定了解,希望进一步学习的参考。
清风博主 2013-12-20 10:12 回复
应该是一本不错的教程,循序渐进。从目录来看,最后有一些实例操作,再多来一些就更好了。
星夜 2013-12-20 10:16 回复
看目录就知理论知识讲解很全面,加上自己再实践应该对Linux有一个崭新的认识,
蒙毅酋长 2013-12-20 10:17 回复
看了下目录,发现介绍得很详细,本人不是学计算机的,不过应该要用到Linux系统,来进行数据处理。对一些东西的学习很碎片,特别希望能有一本好教材,好好系统地学习。发现这本书真的很适合我。
沐鈭阿埚 2013-12-20 10:18 回复
不知道微博转发能不能参加赠书活动,我的工作很大一部分都是在linux进行的,自己也时常写几个shell脚本。但是还是感觉对linux系统了解不够,这本书从目录上看还是挺适合我看的,希望以后能有机会弄一本研究一下。博主送一本吧!
张在兴1905 2013-12-20 10:19 回复
前十章应该算是入门必读的了,我捣鼓linux也有两年了,前边的基础知识基本都是自己遇到了然后从网上去查相应的指令、操作,多用几次也就记住了。我现在比较关心的是第十章以后的内容,shell编程还是要系统的认真的去学习的,有这么一本教材不管对刚入门的还是入门的都是很有帮助的,总之 求书 哈~~
disylee 2013-12-20 10:20 回复
很想学习shell脚本编写,最近在看python语言,非常感兴趣,shell脚本非常神奇,几行代码可以实现好多需求,求给我一本书啊
不啻刑天 2013-12-20 10:36 回复
一直没有能系统学习一下shell编程,希望通过这本书好好学习一下
yk_peng 2013-12-20 10:38 回复
看目录应该是从入门到通晓,常用的应该都有提到,不知道书中例子和例题多不多,shell脚本注重实践,想看看本书,希望进一步学习的参考。
巴斯光年 2013-12-20 10:53 回复
好书,适合初学者,不适合我 =:;=
晨缘 2013-12-20 12:06 回复

书不错,定位应该是初学者吧。讲解比较易懂,也很实用。尤其是shell脚本那块儿,讲了那么长的篇幅,还配有示例,确实挺不错的,我很喜欢。
但是我感觉还有可以改进的地方,比如说,从目录来看应该是没有附录的,我觉得做一个命令的速查列表比较合适,还有,希望作者再一开始就指出linux是区分大小写的,这个有时候会让一些windows过来的新人抓狂的。另外,ls这样强大的命令建议多讲一点,讲一下-a,A,t什么的,最后,我觉得Grub的配置放在VI后比较合适吧?纯属个人之见,如有错误及不同意见者请忽略本人。

心亦菲 2013-12-20 12:10 回复
回复 linux 的帖子

详细看了样章了,感觉作者还是很用心的,细节写的也不错,作为一个入门级的还是相当不错的一本书籍,亚马逊上的定价也不是太贵,44.3RMB,我觉得还是物有所值的,从目录来看,结构规划的也不错,该有的也有,尤其是最后几章对后续学习应该有很大用处,指明方向了。
   剩下的就是折腾电脑了。。。。有一本在手边参考也是不错的,希望博主能给一本。
心亦菲 2013-12-20 12:11 回复
回复 心亦菲 的帖子

问一下,博主运维多长时间了?
arxiao 2013-12-20 12:17 回复
做为一个从事运维的本科毕业生,我觉得这本书很适合我这个阶段阅读,对自己的提升应该会很大,值得一读。
魔~坠 2013-12-20 12:26 回复
看了这本书的梗概,细节写的较为详细,学习Linux,shell是基本功,这本身很适合初学者用来入门Linux,相信这本身能够给我带来很大的收获
owolfo 2013-12-20 12:26 回复
看了目录,觉得很不错,尤其适合初学者,能够从linux的基本操作一直到shell编程。很多都面临着想去接近但又无从下手的尴尬,而本书正好解决了这方面问题。是一本适合初学爱好者进阶和入门的好书。值得去学习阅读!
拉频弩斯 2013-12-20 12:29 回复
新手上路 请多关照
云中__烛火 2013-12-20 12:35 回复
学习中。。。
love_daisy_love 2013-12-20 13:10 回复
在Linux中国总群里看到有同学发了这个链接,说这本书在论坛里有赠书活动。点开看了一下,发现有试读章节。
花了40分钟左右看完了所有的试读章节(前3章),给我的第一感觉就是“简洁明了,实例丰富”。应该说我不算是linux新手,所以试读章节中大部分内容看起来都不费力。但是能看的这么通畅,不得不说作者的文字功底是非常不错的。想起当年刚接触linux时,看的是鸟哥的《私房菜》,我觉得本书在用词和表述方面,跟鸟哥一样让人觉得亲切。而且鸟哥是台湾人,台湾那种“你想干嘛”式的语气让我这个大陆读者觉得怪怪的(后来有简体中文版,把这些语气词都删了,就已经没有那种韵味了)。正如作者在序言中写到的:“用最简单、最朴素、最基础的语言讲解和描述Linux系统以及如何使用它,给更多初学者以“可以学会”的希望和“努力前行”的力量。”本书的叙述方式,角度真的很适合初学者阅读学习。另外,本书可能没有《私房菜》那么“大而全”,但是重在让人有兴趣,让人看完之后,能记住 20/80 原理里的那个80. 这是本书难能可贵的地方。

讲了个大概,现在我来讲讲读前三章的一些细节(我记得的)。
1.        在讲文件时间戳的时候,作者用了一大段的文字,顺便的解释了一下依据文件时间来备份的原理。这个我觉得是非常不错的,有基础的讲解,也有相应的扩展应用的举例,让读者觉得这个东西“有用”,而不是一看就忘。
2.        文件属性,还有隐藏属性这种东西?我之前也着实不知道,不过现在真是涨姿势了。
3.        文件权限。作者提示了现在网络上有的地方对文件权限计算的方法“同位相减”是错误的,我觉得这个非常好,mask嘛,怎么是相减。
4.        cpio这个命令,嗯。看来还有很多东西要学习的。

总之,希望能继续阅读这本书后面的章节。
返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。