zoukankan      html  css  js  c++  java
  • Linux的shell编程篇之基础篇(一)

    一、什么是shell

      shell就是命令的解释器。

      1、shell会提供一个实现人机交互的渠道(比如终端)。

      2、计算机只认识“0”和“1”,而我们的输入或者编写的代码都是字母、数字、特殊符号等字符。这时候,就需要shell解释器将我们输入或者运行的代码转换成为计算机所认识的“0”和“1”。

      3、在Linux中,主要使用的shell是Bourne Again(Bash);Unix中主要使用的是C Shell(csh)。

      4、可以使用 cat /etc/shells 命令查看Linux所支持的shell。(虽然支持,但是某些命令或者文件是不存在的,也无法执行某些命令)。

      

     二、基础知识点

     1、echo 命令(我们执行shell脚本时,输出的内容可以让我们直观的看到程序是否执行完成与是否成功,若失败,更好的输出可以让我们更加准确的看出问题所在)

      一般情况下,(echo  内容)会将内容输出,但是有些时候是需要(echo “内容”)才会正常输出,所以最好以第二种(echo “内容”)方式来使用。

      

      echo也可以使用选项。选项:

      a)、-n  取消输出行末尾的换行符。

      

      字符转换(转义符""),如果将“”放到特殊字符前面,shell就忽略这些特殊字符的原有含义,把它们当作普通字符对待。

       

      b)、 -e 支持反斜线控制的字符转换。

      

       

      上图可以看出,有时也需要空格隔开。

      c)、可以为字体或字体的背景上色

      echo -e "e[1;34m 1234 e[0m"

      其中:(e[1;)代表开启颜色输出;(34m)代表颜色;(1234)代表输出的内容;(e[0m)代表结束颜色输出。

      

      

      

      d)、输出“!”时,需要在后面加一个空格。

      

     2、历史命令

      a)、使用 history 是可以查看历史命令的。

      

       b)、而 history 查看的历史命令有两种:一个是在缓存中的(还未写入.bash_history这个文件中);一个是已写入 history 文件中的。  

      

      c)、当系统重启、关闭或者用户正常注销时,会自动将缓存中的历史命令写入.bash_history文件中。也可以使用(-w)参数写入。

      

      d)、而.bash_history文件的记录的行数默认是1000行(可修改),可以查看/etc/profile文件。

      

      e)、历史命令的调用可以使用以下几种方法:

      a、使用键盘上的(上下)键。

      b、使用(!!)重复执行上一条命令。

      c、使用(!n)重复执行第n条命令。

      

      d)、使用(!字符串)重复执行最后一条该字符串开头的命令。

      e)、使用(!$)重复执行上一条命令的最后一个参数。

      

      f)、清空缓存中的历史命令。

      history -c

      

     3、命令别名

      a)、别名是给一个命令起一个好记的名字,当在bash中输入这个名字的时候,等同于输入命令。

      举例说明:

      

       b)、上面这样是临时生效,并未写入配置文件(.bashrc),可以编辑这个文件,以达到永久生效的目的。

      

       注意:由于.bashrc这个是环境变量配置文件,再次执行source .bashrc 命令,可以使这个环境变量配置文件直接生效。

      

       

       c)、命令的执行等级:

      一级:使用相对路径或绝对路径执行的命令

      二级:执行别名命令

      三级:执行bash的命令

      四级:按照$PATH环境变量定义的顺序找到的第一个命令

      所以:定义别名时,一定要避开三级、四级命令的名,尤其是写入.bashrc文件中,否则就永远也不会执行三级、四级中与命令名与别名相同的命令。

     4、bash的快捷键。

      

     5、输出输入重定向

      a)、bash的标准输入输出设备。

      

       Linux中存在上图这样的三个设备文件,左→右分别代表“标准错误输出(使用2表示)”、“标准输入(使用0表示)”、“标准输出(使用1表示)”。

      b)、输入输出重定向。

      重定向的含义是:改变原本输入或者输出的路径。

      举例:

      

        cat .bashrc 这个命令正常是将 .bashrc 文件中的内容,由标准输出设备来显示到显示器上的,但是使用了“>”,改变了其输出路径,输出到了test文件中,从而使得test文件记录下来。

      c)、输出重定向的种类

      

       d)、输入重定向。

      正常情况下,命令的输入都是靠键盘进行输入的,输入重定向就是改变输入的路径,将文件中的命令作为键盘输入的命令。

      一般情况下使用率极低,例如使用RPM包提取其中的文件时(cpio)命令。

  • 相关阅读:
    Contest (树状数组求逆序对)
    树状数组
    unity3D 笔记 (NENE QUEST 制作中用到的函数)
    Ubuntu 安装gnome桌面及vnc远程连接
    Pillow图像处理
    室内场景数据集
    PyTorch踩坑笔记
    进一步了解pip
    一些概念
    损失函数及评价指标
  • 原文地址:https://www.cnblogs.com/641055499-mozai/p/13037794.html
Copyright © 2011-2022 走看看