Linux之shell脚本编程
Posted 锦衣admin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux之shell脚本编程相关的知识,希望对你有一定的参考价值。
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脚本命令
shelll编程之xargs命令:上一个命令输出作为下一个命令的输入
shell编程之sort命令和uniq命令:数据排序去重命令
shell 编程基础知识
shell编程之流程控制-循环语句-for-while-until
以上是关于Linux之shell脚本编程的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Shell 脚本自动化 Linux 系统维护任务?