Shell脚本知识简述

admin1个月前笔记33
shell 都能做什么
  • 监控系统运行:linux可以说是运行最稳定的操作系统,这一方面得益于它完美的内核,另一方面就是有很多shell脚本命令可以监控系统的运行,当出现问题之前,提前报警。

  • 启动停止服务:linux中的各种程序几乎大部分都是通过服务来提供给用户使用的,而shell脚本就可以控制服务的启动和停止,控制服务的重启等。

  • 备份导入数据库:数据库的资料是非常重要的,我们应该经常备份它们,这样当我们的数据或者设备出现问题的时候,我们可以轻松地通过备份数据对数据库进行还原。而shell脚本就可以进行数据库的备份和导入导出。

  • 日志的记录分析:平时我们的应用程序会写入很多日志,操作系统本身也会写入很多日志,这个时候我们需要shell脚本对日志进行分析,定时清理那些不需要的日志,这样才能保证系统不会被日志文件填满。

  • image.png

  • 文件重命名:当我们在一个文件夹中有大量的文件的时候,如果我们想要对它们进行批量重命名的话,那么shell脚本就可以帮你做这件事,你只需要一个脚本,就可以批量修改文件的命名,当然你可以批量修改图片的尺寸。

  • 环境配置:当我们使用一个新环境的时候,我们往往需要进行配置我们的环境,我们需要安装相对应的工具,需要配置环境变量,如果这些都是手动配置就太麻烦了,使用shell脚本,我们既可以自动化部署这些配置信息。

  • image.png

    不同种类的shell
    (1) Bourne shell

    Bourne shell (sh) 由 AT&T 贝尔实验室的 Steve Bourne 编写,是最初的 UNIX shell。由于其紧凑性和速度,它是 shell 编程的首选 shell。Bourne shell 的缺点是它缺乏交互式使用的功能,例如调用以前的命令(历史)的能力。Bourne shell 也缺乏内置的算术和逻辑表达式处理。

    (2) C Shell

    由加州大学伯克利分校的Bill Joy编写的 UNIX 增强Shell,用于交互式使用的集成功能,例如别名和命令历史记录,内置算术和类似C 的表达式语法。

    (3) Bourne-Again Shell

    与 Bourne shell 兼容的shell,结合了来自 Korn 和 C shell 的常用功能,具有命令调用和编辑自动映射的箭头按键。

    (4) Korn Shell

    David Korn 在贝尔实验室编写出来,它是Bourne shell的超集,它比c shell更快,兼容Bourne shell,它包含了算术函数,字符串运算等功能。

    去哪里学习练习

    linux和macos 都自带了shell,你可以不需要安装任何软件就可以使用它们,对于windows用户,现在有wsl,cgwin,mingw等很多环境可以供你学习,当然,你也可以使用docker来安装一个精简linux,它同样包含shell,你也可以使用它来学习。

    image.png

    还是那句话,学习编程的最佳方式就是不停地敲代码,你只有不停地练习,才能够让自己的技术变得更加精湛。学习shell也一样,你也需要不停地编写脚本来练习,只有通过无数次练习,你才能说掌握它,否则你在你的简历上只能写上了解额不是精通。

    总结

    实践是检验真理的唯一标准,我们学习任何编程语言,学习任何技能知识,都是需要以实践为前提。

    我们需要通过实践编写那些常用的脚本,比如数据库备份,资源报警,环境搭建等。通过这些实践例子,我们才能够更深刻地了解shell,才能在日常工作中将shell融会贯通。

    shell能做的可不仅仅是文中列举的这些工作,它能做得还很多,你需要自己不断地去发现,去认知它。


相关文章

列出所有的 Bash Shell 内置命令

列出所有的 Bash Shell 内置命令

shell 内置命令就是一个命令或一个函数,从 shell 中调用,它直接在 shell 中执行。 bash shell 直接执行该命令而无需调用其他程序。你可以使用 help 命令查看 Bash 内...

几条判断Linux服务器是否被入侵的技巧

几条判断Linux服务器是否被入侵的技巧

本指南中所谓的服务器被入侵或者说被黑了的意思,是指未经授权的人或程序为了自己的目的登录到服务器上去并使用其计算资源,通常会产生不好的影响。然而,大多数被攻破的服务器都是被类似自动攻击程序这样的程序或者...

 Securi-Pi:使用树莓派作为安全跳板

Securi-Pi:使用树莓派作为安全跳板

近来我发现越来越多的网络环境开始屏蔽对外的常用端口比如 SMTP(端口 25),SSH(端口 22)之类的。当你走进一家咖啡馆然后想 SSH 到你的一台服务器上做点事情的时候发现端口 22 被屏蔽了是...

使用Docker搭建poste,自建邮件服务器

使用Docker搭建poste,自建邮件服务器

自建邮件服务可以不受发件量限制,批量发件成本更低,但部署相对复杂,而且容易进垃圾箱。不过现在越来越多的服务商已经开发好了产品,支持一键部署等方式,极大降低了部署和使用难度。这次给各位小伙伴安利一款开源...

介绍Linux下的 Tun/Tap

介绍Linux下的 Tun/Tap

什么是Tun/TapTAP等同于一个以太网设备,它操作第二层数据包如以太网数据帧。TUN模拟了网络层设备,操作第三层数据包比如IP数据封包。操作系统通过TUN/TAP设备向绑定该设备的用户空间的程序发...

创建交换分区的两个命令

创建交换分区的两个命令

交换分区在物理内存(RAM)被填满时用来保持内存中的内容。当 RAM 被耗尽,Linux 会将内存中不活动的页移动到交换空间中,从而空出内存给系统使用。虽然如此,但交换空间不应被认为是物理内...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。