Linux Shell基础详解

admin 2024年4月25日19:33:29评论4 views字数 1349阅读4分29秒阅读模式
Linux_Shell脚本

  • Shell脚本作用:

    利用Shell功能,结合控制语句写的一个程序,主要用于帮我们维护系统。

    Shell的功能:

    学过的所有常用命令

    变量

    定义变量:

    var1=test_shell_variable

    Linux Shell基础详解

    注意事项:

    Linux Shell基础详解


    • 等号左右俩边不能有空格

      变量名不能以数字开头

      变量名可以使用 _ 开头

      如果变量的值含有空格,必须使用引号:单引号活者双引号

      可以把一个命令的结果赋予一个变量。

  • 变量的类型

    局部变量:不能被子进程调用(var1=hostname)

    全局变量:可以被子进程调用(export var1=hostname)

    Linux Shell基础详解

  • 变量的值类型

    字符串型

    Linux Shell基础详解

    整型(数字):通过declare来声明定义变量的类型(-i int整型)

    Linux Shell基础详解

    进行简单数学运算

    Linux Shell基础详解

    可以用let命令来实现简单数学运算

    Linux Shell基础详解

    Linux Shell基础详解

    read:标准输入读取

    Linux Shell基础详解

  • awk:适用于更多场合,可以进行标准化截取并输出

    格式:awk -F "分隔符" '{动作指令}' 文件

    Linux Shell基础详解

    awk搜索关键字所在行并输出

    Linux Shell基础详解

    NR:行数,即在第几行,NR的值就是几,$NR表示第几行的第几列。

    Linux Shell基础详解

    在 Linux 上创建一个脚本,实现以下功能:

    从键盘上输入一个指定网络接口名称后,按下列格式输出设备信息:

    网络接口名称        设备MAC地址        设备IP地址

    Linux Shell基础详解

  • sed命令语法

    sed [-hnVl[-e <script>]f-f<script文件>J[文本文件]

    参数说明:

    -e<script>或--expression= <script>以选项中指定的script来处理输入的文本文件

    -f<script文件>或--file= <script文件>以选项中指定的script文件来处理输入的文本文件。

    -h或--help 显示帮助。

    -n或--quiet或--silent 仅显示script处理后的结果。

    -V或--version 显示版本信息。

    动作说明:

    a:新增,a的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)

    c:字符串替换,c的后面可以接字串,这些字串可以取代 n1,n2 之间的行!

    d:删除,因为是删除啊,所以d后面通常不接任何咚咚;

    i:插入,i的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);

    P:打印,亦即将某个选择的数据打印出来。通常P会与参数 sed-n 一起运行

    s:搭配正则表达式的替换,可以直接进行取代的工作,通常这个 S 的动作可以搭配正则表达式!例如 1,20s/old/new/g 就是啦!

    案例一:

    Linux Shell基础详解

    案例二:

    使用sed命令来关闭Selinux服务

    Linux Shell基础详解

    案例三:

    只删除第 2 行

    Linux Shell基础详解

    案例四:

    删除第 6 行到最后一行

    Linux Shell基础详解

    案例五:

    在第 2 行后加上 "Kane Kai"

    Linux Shell基础详解

    案例六:

    仅列出/mnt/passwd文件内的第 5-7 行

    Linux Shell基础详解

    案例七:

    数据的搜索并显示 /mnt/passwd 有root 关键字的行

    Linux Shell基础详解

    案例八:

    利用sed直接在test1.txt文件最后一行添加 Kane Kai

    Linux Shell基础详解

    由于$代表的是最后一行,而a的动作是新增,因此该文件最后新增Kane Kai

            sed 的-i选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万行的文件,你要在第100 行加某些文字,此时使用 vim 可能会疯掉,因为文件太大了!那怎么办?就利用 sed 啊!透过 sed 直接修改/替换的功能,你甚至不需要再使用 vim 去修改文件了!

原文始发于微信公众号(菜鸟小新):Linux Shell基础详解

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月25日19:33:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Linux Shell基础详解https://cn-sec.com/archives/2688957.html

发表评论

匿名网友 填写信息