shell第一天作业

一、shell

1.1shell程序的特点:

1.简单易学

2.解释性语言,不需要编译即可执行

1.2查看shell类型

echo $SHELL
[root@localhost ~]# cat/etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

shell特性

1.顺序执行:逐条执行(自上而下循环执行)

2.选择执行:代码有一个分支:条件满足时才会执行

两个以上分支:只执行其中一个,马满足条件的分支

3.循环执行:代码片断(循环体)要执行0,1或多个来回

脚本语言含义:

shell PHP Python JavaScript Perl Ruby

编程(译)语言含义:Java c c++

解释器和编译器最大的不同:一个面向的是计算机,一个面向的是某个特定的软件或者计算机某一个部分。(编译器:移植性较差,但运行效率高)

比较

1.脚本语言不需要编译器,减少开发时间

2.可以实时更改代码

3.容易学习,但不够全面

4.通用性较差,但可以通过专门的应用来调整

shell优势

处理操作系统底层的业务(linux系统内部应用的都是shell脚本来完成)。如:grep,awk,sed,shell开发更简单快捷,易用高效。

学好shell编程基础知识

1.熟练使用vim编辑器 注释:

2.熟练掌握Linux基本命令

3,熟练掌握文本三剑客工具(grep、sed、awk)

4.熟悉常用服务器部署、优化、日志及排错

​ notepadd++

linux date 月 日 时 分 年 点 秒

在这里插入图片描述

shell脚本基本元素

文件名以.sh. 结尾的 /script/

第一行的“#!/bin/bash”。(注:脚本用什么来解释she-Bang魔数)

注释:说明耨写代码的功能 # :<<BLOCK

​ …注释内容

​ BLOCK

可执行语句:实现程序的功能

在这里插入图片描述
man cd 显示内置命令 NAME后面的为内置命令
在这里插入图片描述
内置命令比外置命令快

代码缩进 方便识别代码块信息

脚本以.sh为扩展名

例如:script-name.sh

在这里插入图片描述
从开头所有的空白信息删除
在这里插入图片描述
默认Tab4个字符

shell脚本编写规范

开头指定脚本解释器

\#!/bin/sh或#!/bin/bash

脚本运行

给权限
在这里插入图片描述

shell脚本执行

1.当前目录下./a.sh 文件需要执行权限

2.绝对路径 /test/a.sh 文件需要执行权限

3.用sh或bash来执行 bash a.sh 文件不需要执行权限–建议使用方法

4.用source a.sh 或.a.sh执行会开启子shell 文件不需要执行权限(一般不用vim /etc/init.d/network)

在这里插入图片描述

脚本检测

1.bash -n 脚本语法检测,不执行脚本文件

2.bash -x 跟踪脚本执行

3.shellcheck 脚本文件 检测脚本 8不能安装

echo Linux打印命令

选项:

-n 取消输出后行末的换行字符

-e 支持反斜杠控制字符转换
在这里插入图片描述
在这里插入图片描述
\r 字符替换 后面的替换前面的
在这里插入图片描述
\0 十进制 \x 十六进制
在这里插入图片描述
printf
在这里插入图片描述

history

1.让history命令显示出执行用户,执行时间,执行用户ip

在这里插入图片描述
在这里插入图片描述
截取后面的ip
在这里插入图片描述
在这里插入图片描述

bash

-c 清空历史命令

-w 把缓存中的历史命令写入历史命令保存文件
在这里插入图片描述

命令与文件的补全

tab

bash命令补全增强器软件包 bash-completion,这个包支持对systemctl命令服务名称的补全

命令别名

格式:alias别名=命令本身
在这里插入图片描述
\强制覆盖

bash常用快捷键

在这里插入图片描述
输入输出重定向 > 追加 >> < <<
在这里插入图片描述

命令执行顺序

;–对命令的进行顺序执行 date;ls -l /etc/passwd

&&与 两个条件都成功才执行

||或 如果前面命令成功,后面就不执行,如果前面不成功,那后面执行

!非

管道 >

在这里插入图片描述
通配符
在这里插入图片描述
在这里插入图片描述
cut |管道符 > 重定向 >>追加重定向

< << " " ’ ’ $ ()

sort 排序

-n 依照数值的大小排序。

-k 定义排序键值字段

-t <分隔字符> 指定排序时所用的栏位分隔字符。

-f 排序时忽略字符大小

uniq 文件名去掉重复的行,重复的行必须相邻

-d 只显示重复的行

-D 显示所有重复的行

-c 显示重复行重复的次数

tr命令

-s 缩减连续重复的字符成指定的单个字符

-t 字符集1替换为字符集2

-d 删除指令字符

-c 反选设定字符
在这里插入图片描述

grep

-e 文本过滤:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值