美文网首页
初步认识Linux shell脚本

初步认识Linux shell脚本

作者: 程序员有话说 | 来源:发表于2016-09-07 22:56 被阅读0次

shell概述

  • (1)Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

  • (2)由外至内系统结构:

  • 外层应用程序<---->shell命令解释器<--->内核<---->硬件

  • 解析:内核管理硬件,在外层输入ASCII由shell翻译为内核可以识别的机器语言0101,让内核操作硬件接着又将返回的结果翻译到外层的图形界面中.

  • (3)Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。

总结: shell是一个命令解释器,处于内核和用户之间,负责把用户的指令传递给内核并且把执行结果回显给用户

shell常见类型

  • (1)Bourne Shell:从1979起Unix就开始使用Bourne Shell,Bourne Shell的主文件名为sh。

  • (2)C Shell: C Shell主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名

  • (3)Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh

意义

  • Shell 诞生于 Unix,是与 Unix/Linux 交互的脚本编程,单独地学习 Shell 是没有意义的,Linux都默认集成了shell环境
  • shell的功能点在于外部命令的使用,实现命令自动化,它简洁的脚本语言标记方式,而且比C语言编写的程序执行更快、更有效率
  • 其内部数据处理方面,侧重文本(或者说字符串,或字符流)处理,而对运算和其他基本数据结构的原生较弱(例如常用的array、set、map等等)

实例

  • 在Linux系统中我们经常看见以:#!/bin/bash开头的文件内容,这就是声明了该文件是一个基于bash的shell编程文件
  • 启动mongodb
    写了这么个程序
  #!/bin/bash
  cd /home/muller/mongodb/bin
  ./mongod --dbpath=../muller_db

我们知道计算在执行指令的时候,是一条一条执行的。那么很好理解以上这3行。依次操作的目的是:进入mongodb/bin目录,接着执行启动mongodb数据,保存为m.sh,这样,只要我们在Linux终端执行一条:sh m.sh,回车,计算就会依次执行指令,达到启动mongodb数据库的功能

实际中比如这么一个shell:

#!/bin/bash
cd /lamp
ls *.tar.gz > ls.list
for TAR in `cat ls.list`
do
    tar -zxf $TAR
done

shell要解决的实际问题是将lamp目录里面所有的压缩包,批量解压出来,这样我们可以看出ls的结果集可以拿出来参与下一个指令的执行。

shell编程,远远不止这些,还有很多强大的地方,慢慢的挖掘与学习。对于运维管理方面,Python也是一个很好的选择。

相关文章

  • 初步认识Linux shell脚本

    shell概述 (1)Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系...

  • 第十三、十四天

    学习内容:Linux shell、嵌入式Linux开发平台搭建收获: 初步掌握了shell脚本编程的各类语法以及执...

  • Shell入门笔记

    Shell脚本:Linux Shell脚本学习指南菜鸟教程 - Shell教程Linux入门 - Shell脚本是...

  • linux shell脚本攻略笔记

    LINUX SHELL脚本攻略笔记[速查] linux shell脚本攻略笔记

  • Shell命令脚本初步认识,Shell脚本入门

    准备学习下大数据,查了下大数据的学习步骤,首先进行Linux的学习。Linx日常开发中还是经常使用到的,不过也没有...

  • 17. Interview-Linux

    1 用过哪些Linux命令? 2 写过shell脚本吗?shell脚本基本格式? 3 Linux I/O读写方式 ...

  • 指令随笔

    linux 修改shell脚本的编码 在window下编写的shell脚本编码为dos,在linux环境下不能直接...

  • shell脚本

    1)什么是shell脚本 文档: http://www.runoob.com/linux/linux-shell....

  • 自动化脚本实践(Shell + Expect)

    Linux Shell脚本入门: Linux awk 命令 | 菜鸟教程 Shell 教程 | 菜鸟教程 lin...

  • shell-初步+变量

    1.shell初步了解 1.1 什么是Shell 1.2.什么是Shell脚本 1.3. 脚本语言的种类 She...

网友评论

      本文标题:初步认识Linux shell脚本

      本文链接:https://www.haomeiwen.com/subject/piqsettx.html