Shell编程基础

作者: 小子加油 | 来源:发表于2016-09-07 21:42 被阅读0次

shell基础介绍

  1. shell是一个命令解释器,处于内核和用户之间,负责把用户的指令传递给内核并且把执行结果回显给用户;bash是Linux标准默认的shell,是BourneAgain Shell的缩写。因为bash有很多特性,比如:可以使用类似DOS下面的doskey的功能,用方向键查阅和快速输入并修改命令,自动通过查找匹配的方式给出以某字符串开头的命令,还有就是bash包含了自身的帮助功能,你只要在提示符下面键入help就可以得到相关的帮助。在Linux系统中我们经常看见以:#!/bin/bash开头的文件内容,这就是声明了该文件是一个基于bash的shell编程文件。
  2. shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁,同时,shell也可以作为一门强大的编程语言。
    注:我们常说的shell是命令行解释器的意思,也有内核上的一层壳的含义。
  3. shell常见的几种类型有sh、csh、bash、zsh等提供的脚本支持。
  4. shell的功能点在于外部命令的使用,其内部数据处理方面,侧重文本(或者说字符串,或字符流)处理,而对运算和其他基本数据结构的原生较弱(例如常用的array、set、map等等),功能目标在于实现命令自动化。但是呢,实现命令自动化的同时,Shell需要依赖其他程序才能完成大部分的工作,这是它的缺陷也是一个优点吧,但它不容置疑的长处是:简洁的脚本语言标记方式,而且比C语言编写的程序执行更快、更有效率。
  5. 所以我们如果有做运维甚至是基础管理Linux服务器的同学,只要学会了shell编程,大大的可以节约我们的时间,更快捷的管理我们的服务器了。

shell干货

  1. 设置mongodb数据库的存储路径 :
    #!/bin/bash
    cd /home/liwei/mongodb/bin
    ./mongod --dbpath=../liwei_db
tips:

a. 我们知道计算在执行指令的时候,是一条一条执行的。那么很好理解以上这3行。依次操作的目的是:进入mongodb/bin目录,接着执行启动mongodb数据,保存为m.sh,这样,只要我们在Linux终端执行一条:sh m.sh,回车,计算就会依次执行指令,达到启mongodb数据库的功能。
b. 那么要执行更多的指令,可以么?回答肯定是可以,如果我们需要执行上百行指令,单独执行的话,我们要重复操作,那么把它们依次写入一个shell,这样来执行的时候就可以很方便了,执行shell的过程中,我们可以通过>或者>>来记录下一些节点的结果报告

  1. 将lamp目录里面所有的压缩包,批量解压出来,这样我们可以看出ls的结果集可以拿出来参与下一个指令的执行
    #!/bin/bash
    cd /lampls *.tar.gz >[ ls.list]
    for TAR in cat[ ls.list]
    do
    tar -zxf $TAR
    done

  2. 将某个文件夹下所有的文件名字里的大写字母改成小写字母:
    #!/bin/bash
    for file in ls | grep '[A-Z]'
    do
    str=echo $file|tr 'A-Z' 'a-z'
    mv $file $str
    done

  3. 有时候我们在管理文件的时候需要将空文件,没用的文件全删掉.
    #!/bin/bash
    for filename in ls
    do
    if test -d $filename
    then b=0
    else
    a=$(ls -l $filename | awk '{ print $5 }')
    if test $a -eq 0
    then rm $filename
    fi
    fi
    done
    test –d File        文件存在并且是目录
    awk 以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理,print 打印输出第5个域

相关文章

  • day 28

    shell编程基础 shell编程一小时光速入门web集群架构会用到shell编程基础 1、为什么要学shell编...

  • 2019-01-25

    Linux系统Shell编程指南 前言 适合人群:有类似C编程基础的人 一、Shell编程介绍 Shell解释型语...

  • day28-Shell脚本基础

    SHELL编程基础 三小时光速入门因为集群架构会用到shell编程基础,提前讲一丢丢。 shell编程 1. 为什...

  • <<编程基础-语言Python.Shell>&

    <<编程基础-语言Python.Shell>>

  • day28-2019年4月9日

    shell编程基础 1、为什么要学shell编程? linux系统中会大量得使用shell,工作中也需要...

  • day51 课堂笔记(shell编程规范书写)

    第一章、为什么要学shell? 1.1、学好shell编程所需的Linux基础 1.2、如何才能学好shell编程...

  • Shell编程基础知识

    关于shell编程基础: 1.为什么要学习shell编程? Linux系统中会大量的使用Shell,工作中我们也需...

  • shell编程-shell编程基础

    1.什么是shell shell是介于用户和操作系统之间的一个接口,用来接收用户的键盘输入,并分析和执行输入字符串...

  • linux基础(五)

    过程式编程:以指令为中心 对象式编程:以数据为中心 bash基础特性 shell 编程:过程式,解释执行shell...

  • BigData~01:Shell

    Shell编程基础 内容大纲 一、Shell编程二、高级文本处理命令:sed、awk、cut三、crontab定时...

网友评论

    本文标题:Shell编程基础

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