跟老男孩学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集群实战》一书,或者其他相关图书。

目录
打赏
0
0
0
0
1408
分享
相关文章
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
305 76
|
4天前
|
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
54 25
|
1天前
|
shell_42:Linux参数移动
总的来说,参数移动是Linux shell脚本中的一个重要概念,掌握它可以帮助我们更好地处理和管理脚本中的参数。希望这个解释能帮助你理解和使用参数移动。
27 18
试试Linux设备命令行运维工具——Wowkey
WowKey 是一款专为 Linux 设备设计的命令行运维工具,提供自动化、批量化、标准化的运维解决方案。它简单易用、高效集成且无依赖,仅需 WIS 指令剧本文件、APT 账号密码文件和 wowkey 命令即可操作。通过分离鉴权与执行过程,WowKey 让运维人员专注于决策,摆脱繁琐的交互与执行工作,大幅提升运维效率与质量。无论是健康检查、数据采集还是配置更新,WowKey 都能助您轻松应对大规模设备运维挑战。立即从官方资源了解更多信息:https://atsight.top/training。
Linux设备命令行运维工具WowKey问答
WowKey 是一款用于 Linux 设备运维的工具,可通过命令行手动或自动执行指令剧本,实现批量、标准化操作,如健康检查、数据采集、配置更新等。它简单易用,只需编写 WIS 指令剧本和 APT 帐号密码表文件,学习成本极低。支持不同流派的 Linux 系统,如 RHEL、Debian、SUSE 等,只要使用通用 Shell 命令即可通吃Linux设备。
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
117 23
如何在阿里云的linux上搭建Node.js编程环境?
本指南介绍如何在阿里云Linux服务器(Ubuntu/CentOS)上搭建Node.js环境,包含两种安装方式:包管理器快速安装和NVM多版本管理。同时覆盖全局npm工具配置、应用部署示例(如Express服务)、PM2持久化运行、阿里云安全组设置及外部访问验证等步骤,助你完成开发与生产环境的搭建。
|
2月前
|
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
152 32
|
2月前
|
Linux编程: 在业务线程中注册和处理Linux信号
本文详细介绍了如何在Linux中通过在业务线程中注册和处理信号。我们讨论了信号的基本概念,并通过完整的代码示例展示了在业务线程中注册和处理信号的方法。通过正确地使用信号处理机制,可以提高程序的健壮性和响应能力。希望本文能帮助您更好地理解和应用Linux信号处理,提高开发效率和代码质量。
69 17
|
2月前
|
Linux编程: 在业务线程中注册和处理Linux信号
通过本文,您可以了解如何在业务线程中注册和处理Linux信号。正确处理信号可以提高程序的健壮性和稳定性。希望这些内容能帮助您更好地理解和应用Linux信号处理机制。
68 26
下一篇
oss创建bucket
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等