跟老男孩学Linux运维:Shell编程实战1.2 学好Shell编程所需的基础知识

简介:

1.2 学好Shell编程所需的基础知识


本节首先来探讨一下在学习Shell编程之前需要掌握的基础知识,需要说明的是,并不是必须具备这些基础知识才可以学习Shell编程,而是,如果具备了这些基础知识,那么就可以把Shell编程学得更好,领悟得更深。如果只是想简单地了解Shell脚本语言,那么就无须掌握太多的系统基础知识,只需要会一些简单的命令行操作即可。

学好Shell编程并通过Shell脚本轻松地实现自动化管理企业生产系统的必备基础如下:

1)能够熟练使用vim编辑器,熟悉SSH终端及“.vimrc”等的配置。

在Linux下开发Shell脚本最常使用的编辑器是vim,因此如果能够熟练使用并配置好vim的各种高级功能设置,就可以让开发Shell脚本达到事半功倍的效果。这部分内容在本书的第16章有相应的讲解,读者在开始编写脚本之前可以考虑先看看第16章并搭建出高效的Shell开发环境。

说明: 在本书的第16章讲解Shell脚本开发环境的配置调整和优化时,提到了高效搭建Shell开发环境的方法,之所以把这部分内容安排在第16章,是希望读者能体验一下比较原始的Shell开发过程,然后再来掌握搭建高效的开发环境的方法,老男孩从教学的角度认为这是一个比较好的过程,读者可以根据自身的情况来决定要不要提前学习第16章,搭建好高效的Shell开发环境。

2)要有一定的Linux命令基础,至少需要掌握80个以上Linux常用命令,并能够熟练使用它们(Linux系统的常用命令请参见本书的附录)。

和其他的开发语言(例如Python)不同,Shell脚本语言很少有可以直接使用的外部函数库,老男孩就将Linux系统的命令看作Shell的函数库,因此,对Linux系统常用命令的掌握程度就直接决定了运维人员对Shell脚本编程的掌握高度。一些Shell类图书在开篇花费大量章节来讲解Linux基础命令也许就是因为这点,本书主要侧重于Shell编程企业案例实战讲解,因此不会进行大且全的介绍,也不会过多地讲解Linux的常用命令,而是采用小而美的实战策略,本书结尾会以附录的形式给出常用的Linux基础命令的相关知识。此外,如果读者想学习Linux基础命令,可以关注老男孩即将出版的新书——《跟老男孩学习Linux运维:常用命令实战》,或者其他相关图书。

3)要熟练掌握Linux正则表达式及三剑客命令(grep、sed、awk)。

Linux正则表达式及三剑客命令(grep、sed、awk)是Linux系统里所有命令中最核心的3个命令,每个命令加上正则表达式的知识后,功能都会变得异常强大。如果能够掌握它们,就可以在编写Shell脚本时轻松很多。如读者想学习这部分知识,可以关注老男孩即将出版的新书——《跟老男孩学习Linux运维:三剑客命令实战》,或者其他相关图书。

4)熟悉常见的Linux网络服务部署、优化、日志分析及排错。

学习Shell编程最直接的目的就是在工作中对系统及服务等进行自动化管理,因此,如果不熟悉工作中的网络服务,就会很难使用Shell编程处理这些服务;如果不掌握网络服务等知识,就会让Shell开发者的能力大打折扣,甚至学习到的仅仅是Shell的语法及简单的基础,那么想要学好Shell编程的想法也就落空了。需要掌握的基础网络服务包括但不限于:Crond、Rsync、Inotify、Nginx、PHP、MySQL、Keepalived、Memcached、Redis、NFS、Iptables、SVN、Git,老男孩IT教育的老师在教学的过程中也是先讲解Linux常用命令和系统网络服务,然后再讲解Shell编程,目的就是不要让学员仅仅掌握Shell的语法皮毛,而是让他们能在学完Shell编程之后,自动搭建中型集群架构等,有关基础网络服务的知识可以参考机械工业出版社的《跟老男孩学习Linux运维:Web集群实战》一书,或者其他相关图书。

相关文章
|
9天前
|
Linux 测试技术 数据安全/隐私保护
阿里云Linux os copilot 运维助手初体验
阿里云Linux os copilot 初体验
123 1
阿里云Linux os copilot 运维助手初体验
|
4天前
|
JavaScript 前端开发 Shell
Shell 脚本编程保姆级教程(上)
Shell 脚本编程保姆级教程(上)
|
6天前
|
弹性计算 运维 安全
【实践】使用操作系统智能助手OS Copilot解锁操作系统运维与编程
体验阿里云OS Copilot,运维人员进行Linux环境配置,包括初始化、修改密码和设置端口。工具提供知识问答、辅助编程功能,能理解口语化指令,但对复杂编程任务有限制。作为运维,给予产品8分,愿意推荐并参与开源开发。产品优点在于准确度,期待扩展更多语言支持和智能故障排查。不足之处包括资源续费说明不清、特定问题回答不准确和需实时学习更新。
|
7天前
|
弹性计算 运维 Linux
阿里云Linux os copilot 运维助手初体验
摘要(Markdown格式): 在阿里云ECS上体验了Linux编程助手OS Copilot,步骤包括申请账户、开通ECS、安装Copilot。Copilot准确解释代码、快速响应问答、辅助编程,尤其在代码生成和注解上表现出色。作为运维人员,认为其简化了工作,给出8分评价,并愿意推荐给他人。期望它能支持更多操作系统,优化代码直接运行功能,并与更多阿里云产品集成。目前只体验了Copilot的基础功能,未与其他类似产品对比。
|
11天前
|
Shell Linux
Linux Shell 脚本入门教程:开启你的自动化之旅
Shell是一种计算机程序,它充当了用户与操作系统之间的接口。在Linux系统中,Shell允许用户通过命令行界面(CLI)来控制计算机。Shell脚本则是一种使用Shell语言编写的脚本,它可以自动执行一系列的命令,帮助用户实现任务自动化,提高工作效率。
|
4天前
|
Shell
Shell 脚本编程保姆级教程(下)
Shell 脚本编程保姆级教程(下)
|
4天前
|
Java Shell Linux
【Linux】手把手教你做一个简易shell(命令行解释器)
【Linux】手把手教你做一个简易shell(命令行解释器)
7 0
|
10天前
|
运维 监控 大数据
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
部署-Linux01,后端开发,运维开发,大数据开发,测试开发,后端软件,大数据系统,运维监控,测试程序,网页服务都要在Linux中进行部署
|
12天前
|
Shell Linux
Linux环境变量之shell中export定义全局变量和echo 变量的区别
Linux环境变量之shell中export定义全局变量和echo 变量的区别
|
13天前
|
存储 Unix Shell
Shell编程基础与实用技巧
Shell编程基础与实用技巧