Linux之shell脚本编程

Posted 锦衣admin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux之shell脚本编程相关的知识,希望对你有一定的参考价值。

编程介绍

计算机编程的本质:输入运算输出

编译型语言:

程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言文件,运行时不需要重新翻译,直接使用编译结果就行。程序执行效率高,依赖编译器,跨平台性差些。如:C、C++、java

解析性语言:

程序不需要编译,程序在运行时由解析器翻译成机器语言,每执行一次都要翻译一次。因此效率比较低,比如:Python、javascript、Perl、Ruby、Shell等都是解析型语言

总结:

  • 编译型语言比解析型语言速度快,但是不如解析型语言跨平台性好

  • 编译型语言应用:底层开发、大型应用程序、操作系统开发

  • 解析型语言应用:一些服务器脚本、一些辅助的接口等对速度要求不高且对各个平台的兼容性有要求的

shell 介绍

下图是计算机操作系统的简易模型:

kernel:负责计算机底层硬件管理,内核只能识别二进制

shell:负责将用户执行的操作翻译成内核能够识别的二进制,让内核执行用户操作

user:用户在计算机上应用程序执行的操作
在这里插入图片描述

shell是一个程序,采用C语言编写,是用户于linux内核沟通的桥梁(shell是人机交互的桥梁)。它既是一种命令,又是一种解析型的编程语言

下图是shell沟通过程:

在这里插入图片描述

shell的种类:

shell种类说明:
	#l /bin/sh		=>	是bsae shell的一个快捷方式
	#l /bin/bash	=>	base shell 是大多数Linux默认的shell,包含的功能几乎涵盖shell所有种类

	#l /bin/noligin		=>	表示非交互,不能登录操作系统。一般用户给系统服务创建系统账号时使用
	
	#l /bin/dash		=>	小巧,高效,功能相对少一些
	
	#l /bin/csh			=>	具有C语言风格的一种shell,具有许多特性,但也有一些缺陷
	#l /bin/tcsh		=>	是csh的增强版,完全兼容csh
	


查看当前系统默认执行的shell:
	# echo $SHELL
		[root@server ~]# echo $SHELL
			/bin/bash

查看当前系统能够执行的shell:
	# cat /etc/shells
		[root@server ~]# cat /etc/shells
			/bin/sh
			/bin/bash
			/usr/bin/sh
			/usr/bin/bash
			/bin/tcsh
			/bin/csh

base shell 基本特性:

tab键:只能补全命令和文件名(按两次tab键会提示键入内容)

常见快捷键说明:

常见快捷键说明:^代表Ctrl键
	#l	^C		=>	终止前台运行的程序
	#l	^z		=>	将前台运行的程序挂起到后台

	#l	^d		=>	退出,等价 "exit"
	#l	^l		=>	清屏,等价 "clear"

	#l	^a |home		=>	光标移到命令行的最前端,直接按home键
	#l	^e |end			=>	光标移到命令行的后端,直接按end键	

	#l	^u		=>	删除光标前的所有字符
	#l	^k		=>	删除光标后的所有字符

	#l	^r		=>	搜索历史命令

shell 脚本编程介绍

shell脚本编程是什么?

就是将完成某个任务所执行的命令按照执行顺序保存到文本中,并给执行权限。以后需要执行该任务的时候,只需要执行该文件,计算机就会自动完成这个任务

shell编程能干什么?

解放双手,将复杂重复性的工作,全部通过脚本来完成。高效且不会出错

  • 根据企业架构自定义监控系统,量身打造企业级监控系统

  • 自动化 业务初始化部署系统,业务初始化全部一键搞定,省去繁琐的安装与排错,如安装LAMP和LNMP环境

  • 自动化一键备份

  • 自动化日志分析,繁琐 有复杂的日志分析通过shell脚本让机器去做

shell脚本命令

Linux基础命令

Linux之expect命令

shell编程之grep命令和egrep命令:行截取命令

shelll编程之xargs命令:上一个命令输出作为下一个命令的输入

shll编程之cut命令和tr命令:数据处理命令

shell编程之sort命令和uniq命令:数据排序去重命令

shell编程之tee命令和paste命令:数据输出命令

shell编程之shell字符

shell 编程基础知识

shell编程之shell脚本语法

shell编程之变量定义

shell编程之shell格式化输出

shell编程之shell 运算

shell编程之数组

shell编程之 if 判断语句

if 判断语句与shell运算

shell编程之流程控制-循环语句-for-while-until

shell编程之函数和case多条件分支语句

shell编程之正则表达式

shell编程之行编辑器 - sed 对文件进行操作

shell编程之awk(数据筛选与处理)

以上是关于Linux之shell脚本编程的主要内容,如果未能解决你的问题,请参考以下文章

linux 脚本 之 函数篇

Linux系统shell脚本之函数的使用

Linux初学之函数

Linux之Shell编程(13)--Shell文件包含

Linux之Shell编程(13)--Shell文件包含

Linux bash基础特性二