linux Vim编辑器、shell脚本、流程控制语句和计划任务

本章主要讲解shell脚本,vim编辑器

1. 强制保存退出 wq!

2. 查询主机名称 hostname

3. 在vim中常用的命令 dd删除光标所在行;5dd删除自光标所在行开始往下数五行;yy复制光标所在行;5yy复制自光标所在行开始往下数5行内容;n显示搜索命令定位到下一个字符串;N显示搜素命令定位到上一个字符串;u撤销操作;p将之前dd或yy的数据粘贴到当前光标所在行。

4. 重启网卡服务:systemctl restart network

5. .repo表示软件仓库的配置文件

6. 脚本lwy.sh基本格式注意事项:   #!/bin/bash         //表示脚本声明,当前脚本谁可以解读

                                                        #脚本功能介绍

                                                        echo $0               //脚本名称

                                                        echo $1,$3,$5     //运行脚本时输入的第1、3、5个参数

                                                        echo $#               //接收参数的个数

                                                         echo $*               //接收的全部参数

                                                         echo $?              //上一条指令是否成功

    ...>>bash lwy.sh aaa  bbb  ccc ddd eee fff ggg

7. 判断语句[ 命令 ]。判断一个路径是否存在[ -d /etc ],语句执行完之后命令行没有输出提示,执行上一个语句执行是否成功命令:echo $? 如果输出0则表示此路径存在,输出为1表示路径并不存在。[]中-f表示判断是否是一般文件,比如txt格式文件等;-r表示判断是否有读取权限。注意:在[]的判断语句中,命令的内容前后都有空格。

8. 输出当前用户echo $USER;举个例子 [ $USER != root]

                                                                  echo $?    输出为1,表示上一句执行失败,说明当前用户为root

9. 逻辑运算符。与&&,在前边语句成功的情况下执行后边语句;或||,在前边语句执行失败的情况下执行后边语句。

10. 整数比较运算符。 -eq 是否等于;-ne是否不等于;-gt是否大于;-lt是否小于;-le是否小于或等于;-ge是否大于或等于。

11. [ `free -m | grep Mem: | awk '{print $4}'` -le 1024 ] && echo "小于1M" || echo "大于1M"  执行free -m命令的结果筛选Mem:行和第四列的数据,判断此数据是否小于1024,如果小于1024则内存不足1M,否则输出大于1M。

12. 在写脚本的时候往往需要使用一些变量,判断此变量是否已经被使用:[ -z $HAHO ]

                                                                                                                      echo $?  如果输出为0,则表示此变量未被使用

13. if语句之单分支。DIR = /etc/hoho

                                 if [ ! -e $DIR ];then

                                 mkdir -p $DIR

                                 fi

 例子2:                   ping -c 3 -i 0.2 -W 3 $1 &> /dev/null

                                 if [ $? -eq 0 ];then

                                 echo "$1 在线"

                                 else

                                 echo "$1 不在线"

                                 fi

14. if语句之多分支。

                                 read -p "Enter:" HAHO

                                 if [  ] && [  ];then

                                 echo "xxxxx"

                                 elif [  ] && [  ];then

                                 echo "xxxx"

                                 else

                                 echo "xxxx"

                                 fi

15. for循环。            read -p "Enter:" PASSWD

                                 for UNAME in `Cat.txt`

                                 do

                                 ///////

                                 done

16. `命令` = $(命令)

17. while循环。        while []

                                  do

                                  done

18. case语句。          read -p "Enter:" KEY

                                  case "$KEY" in

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

                                  echo "字母"

                                  ;;

                                  [0-9])

                                  echo "数字"

                                  ;;

                                  *)

                                  echo "其他"

                                  esac

19. 计划任务。一次性任务at   周期性任务crond(其实crond是服务名称,而crontab是配置此服务的工具命令,同样的targetd是服务名称)

      at 19:25 进入交互命令模式,reboot重启计算机,然后ctrl+d保存并退出,c只是退出并不保存。此时制定计划任务在19点25分重启计算机。

      at -l查看已制定的计划任务。第一列为任务编号。at -c 编号 表示查看具体编号任务信息。

      atrm 编号  表示删除具体编号任务计划。

20. 周期任务计划。基本格式为: 分 时 日 月 星期 命令。在设置时间时,不设置的地方用*占位,命令是使用绝对路径命令。查看命令绝对路径用whereis,例子:whereis reboot。日和星期不能同时设置。

      */2  表示每隔2(分钟、小时、天)。

      crontab -e同vim一样,编辑一个自己的计划任务。写个例子:  13 3 * * 3 /usr/bin/tar czvf xx.tar.gz 需打包的文件路径。  这个命令意思是每周三的3点13分,将某路径下文件打包成xx压缩包。

      contab -l表示查看已制定的周期任务。

猜你喜欢

转载自blog.csdn.net/fcglx/article/details/84557535