首页 > 系统相关 >Linux的小白之路3

Linux的小白之路3

时间:2023-09-06 19:02:12浏览次数:48  
标签:脚本 30 之路 任务 echo 命令 小白 Linux 取值

第四章vim编辑器与shell脚本

Vim编辑器

aio插入模式

Esc末行模式

:wq



a 在光标的下一位进行操作

I 直接插入

O 光标下一行



Esc 进入命令模式

命令模式中最常用的一些命令



P paste






脚本

两种运行脚本

1.bash 脚本名.sh //通用

2. ./脚本名.sh //一般没有权限

chmod u+x example.sh //增加权限



脚本声明 #!/bin/bash


脚本注释 #这是注释


脚本命令 ls pwd


脚本名以.sh结尾


Shell脚本自带

$0 脚本程序的名称

$# 总共接收到几个参数

$* 接收到的参数是什么/

$1,$3,$5 指的是分别接收第一三五的参数

$? 返回上次命令的返回值



在运行 bash 脚本名 后加参数信息





判断用户参数

-f 判断文件存不存在

-d判断目录存不存在

判断一个文件存不存在

[ -f /etc/aaa ] //存在

Echo $? //返回上一次命令的值

0 //0为true、非零的、1为false



逻辑

逻辑与&& 前面成功,则执行后面

逻辑或|| 前面失败,则执行后面

逻辑非! 取反


[ $USER = root ] &&echo "123" ||echo "321"




整数、数值比较运算符

[ 5 > 5 ] // 0 为什么?

在Linux里<、>与重定向冲突、=与赋值冲突

-eq 是否等于 =

-gt 大于 >

-lt 小于 <

-le 等于小于 <=

-ge 大于等于 >=

-ne 不等于  !=


制作一个提醒内存不足的小程序

free -m | grep Mem: | awk ‘{print $4}’

//提取以M为单位的值

awk ‘{print $4}’ //手动提取

  提取第四列的信息


[ `free -m | grep Mem: | awk ‘{print $4}’` -lt 1024 ] && echo ”buzu”|| echo ”zu”

`执行命令`


字符串比较运算符

变量比较

= 是否相同

!= 比较字符串是否不同

-z 判断是否为空值

[ -z $a]


-e 是否存在


脚本

if判断

If [] ; then


Fi


#!/bin/bash

ping -c 3 -i 0.2 -w 3 $1 &> /dev/null

if [ $? -eq 0 ]

        then

                echo "host $1 yes"

        else

                echo "host $1 no!!!"

Fi

For do done循环

For 参数in 参数

do

可以内嵌if

done


While循环

$()=``

Let 名++ //let代表每次加一

Exit 0 //终止 循环



Case 测试语句

| || ) ()

Case 变量值 in

1)   //if

语句

;;

2)   //elif

语句

;;

*) //else

结束esac


#!/bin/bash

read -p "enter: " key

case "$key" in

[a-z]|[A-Z])

echo "zimu"

;;

[0-9])

echo "shuzi"

;;

*)

echo "no"

esac

4.4计划任务

一次性计划 at

有周期性计划 crond

一次性at

At 17:00

At> reboot // 17点重启

At> ctrl +d //用来保存

创建一个2分钟后执行的

at now +2 MINUTE


MINUTE 分钟

HOUr 小时

DAY 天

MONTH 月


At 时间 //创建一个计划任务

at -l 查看计划

At -c 编号 查看这个计划是什么命令

At -rm 编号 //删除这个计划


-f 指定包含命令的任务文件

-q 指定新任务名称

-l 显示待执行任务列表

-d 删除指定待执行任务

-m 任务执行后给用户发邮件


周期性crond

Crond 服务名称

Crontab 配置工具


分 时 日 月 星期 命令


参数 作用

-e 编辑计划任务

-u 指定用户名称

-l 列出任务列表

-r 删除计划任务


Crontab -e


如果没有信息 以空位占位 *


分 时 日 月 星期 命令

不能直接加命令 //写完整路径格式的命令

Whereis reboot



分 时 日 月 星期 命令


分钟 取值为0~59的整数

小时 取值为0~23的任意整数

日期 取值为1~31的任意整数

月份 取值为1~12的任意整数

星期 取值为0~7的任意整数,

其中0与7均为 星期日


分 时 日 月 星期 命令

30  3  5  9  *  /命令 /每年的九月五号3点30


30  3  *  9  2  /命令 /每年的9月第二个星期3点30


30  3  *  *  2  /命令 /每个礼拜二3点30

30  */2  *  *  *  /命令 每隔两小时30分执行


30  2  3-5  *  *  /命令 每月的3到5号两点30分


30  2  3,5,7  *  *  /命令 每月的3 5 7号两点30分


30  *  *  */2  *  /命令 每隔两个月30分钟


10,30  *  *  *  *  /命令 每个小时的10分钟和30分钟


,分隔

* */2:每隔两天

-至

命令:路径加名称



回车是第二条计划

一行是一条


标签:脚本,30,之路,任务,echo,命令,小白,Linux,取值
From: https://blog.51cto.com/u_16229723/7389600

相关文章

  • 查看linux 操作系统版本、节点名称、架构等
    #uname-aLinuxtankcheng-Legion-Y9000P-IAH7H5.15.0-83-generic#92~20.04.1-UbuntuSMPMonAug2114:00:49UTC2023x86_64x86_64x86_64GNU/Linux操作系统:Linux节点名称:ttankcheng-Legion-Y9000P-IAH7H操作系统发型版号:5.15.0-83-generic系统版本与时间:#92~20.04.1......
  • Linux 编译安装 OpenSSL
    #下载软件包wgethttps://www.openssl.org/source/openssl-1.1.1v.tar.gz#编译安装OpenSSLtarzxvfopenssl-1.1.1v.tar.gzcdopenssl-1.1.1v./config--prefix=/usr/local/openssl-1.1.1make&&makeinstall#备份原OpenSSLmv/usr/bin/openssl/usr/bin/openssl.......
  • Linux基础38 负载均衡会话保持(redis配session共享), 四层负载均衡, nginx端口转发
    一、负载均衡会话保持当用户访问页面登录后,会在服务器上生成一个session文件,并且返回给浏览器一个session_id内容的cookie,cookie会存在浏览器中,下一次访问cookie会携带session_id来到服务器验证,没有变化则说明是登录状态,不需要重新登录1.session共享的方法1.把session文件保......
  • linux学习 Centos 7(四)
    linux学习Centos7(四)进程管理对于开发人员来说,其实Linux更多偏向于使用!什么是进程1、在Linux中,每一个程序都有自己的一个进程,每一个进程都有一个id号!2、每一个进程,都会有一个父进程!3、进程可以有两种存在方式:前台、后台进行!4、一般的话,服务都是后台运行的,基本的程序都......
  • 小白学习应用构建分享-参照用法
    什么是参照?只看名词,不太好理解,我们看下图,是不是一看就明白了,参照就是一份输入参考,当用户进行输入时,可以从已有数据中进行选择。怎么创建参照?假设业务场景是一张采购单,其中一个字段是【物料品牌】,我们需要为【物料品牌】创建一个参照。2.1在业务对象中新增【品牌】业务对象,勾选同......
  • LInux根目录爆满
    大致思路:备份/home内容,删除/home文件系统的逻辑卷,扩大/root文件系统,新建/home,恢复内容命令:##查看磁盘使用情况df-h##评估磁盘空间情况du-h-x--max-depth=1##打包home目录文件tar-cvf/tmp/home.tar/home##杀掉使用home的进程fuser-km/home##卸载home所在分区卷......
  • Linux实现多硬盘数据存储
    fdisk-l查看可用磁盘设备1/#fdisk-l2Disk/dev/mmcblk1:7456MB,7818182656bytes,15269888sectors3238592cylinders,4heads,16sectors/track4Units:sectorsof1*512=512bytes56Disk/dev/mmcblk1doesn'tcontainavalidpartitiont......
  • EDS从小白到专家丨打造数据交换的六边形卫士,让你的数据你做主
    本文分享自华为云社区《【EDS从小白到专家】第4期:打造数据交换的六边形卫士,让你的数据你做主》,作者:开天aPaaS小助手。你还在担心数据共享后一旦“失控”将爆炸式扩散吗?华为云EDS基于六类策略打造“数据交换六边形卫士”,轻松搞定数据使用控制,让您共享数据再无后顾之忧!号外!华......
  • 在EC2上对SELinux故障进行紧急恢复以及排查的思路及方法
    概述SELinux,全称Security-EnhancedLinux,是一个为系统提供强制访问控制机制的安全模块,安装并启用SELinux模块的操作系统会为每个进程和系统资源打上一个特殊的安全标记,称为SELinux上下文,并根据SELinux上下文信息以允许或拒绝访问行为。亚马逊云科技开发者社区为开发者们提供......
  • 前端歌谣的刷题之路-第十三题-画一个圆
     目录前言题目 核心代码总结前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷本题目源自于牛客网......