zoukankan      html  css  js  c++  java
  • linux学习笔记五

    #到了学脚本的时候,基础脚本用的是shell脚本,其实python也可以写脚本,比起windows,linux更适合编写脚本语言,不需要考虑一些兼容环境。

    先学下vim编辑器,vim是vi的升级版,相比较vi,使用vim进行编辑时可以让用户查看到内容有颜色变化,新增了着色功能。一般来说,推荐使用vim。

    vim编辑器有三种模式:

    命令模式:控制光标移动,可对文本进行复制,粘贴,删除和查找等工作

    输入模式:正常的文本录入

    末行模式:保存或退出文档,以及设置编辑环境

    vim常用的命令:

    命令模式下:

    dd:删除(剪切)光标所在整行

    5dd:删除(剪切)从光标处开始的5行

    yy:复制光标所在整行

    5yy:删除(剪切)从光标处开始的5行

    n:显示搜索命令定位到的下一个字符串

    N:显示搜索命令定位到的上一个字符串

    u:撤销上一步的操作

    p:将之前删除(dd)或复制(yy)过的数据粘贴到光标后面

    末行模式下:

    :w   保存

    :q 退出

    :q! 强制退出,不修改文件内容

    :wq! 强制保存退出

    :set nu 显示文件行数

    :set nonu 不显示文件行数

    :命令 执行该命令

    :整数 跳转到该行

    配置主机名称:

    hostname+名称(临时修改,重启后不生效)

    修改配置文件  vim /etc/hostname(永久生效)

    配置网卡信息:

    vim /etc/sysconfig/network-scripts/ifcfg-eno*

    设备类型:TYPE=Ethernet

    地址分配模式:BOOTPROTO=static

    网卡名称:NAME=eno*

    是否启动ONBOOT=yes

    IP地址 IPADDR=192.168.10.10

    子网掩码 NETMASK=255.255.255.0

    网关地址:GATEWAY=192.168.10.1

    DNS地址:DNS=192.168.10.1

    修改网卡后使用重启命令进行网卡重启生效,systemctl restart network

    配置yum仓库

    由于实验环境为虚机,所以需挂载光盘,才可以正常安装linux服务,如为正常主机,可配置yum源,直接下载安装服务使用。

    1.创建挂载点,mkdir -p /media/cfrom

    2.挂载光盘至挂载点上,mount /dev/cdrom /media/cdrom

    3.修改配置文件至开机启动,vim/etc/fstab,光盘类型默认为iso9660

     

    开始写shell脚本

    shell脚本中需要三种不同的元素,分别为 脚本的声明(#!/bin/bash) 脚本的注释(# xx) 脚本的命令 (eg: pwd),脚本后缀一般为sh。
    简单的脚本实例vim example.sh

    #!/bin/bash

    # This is a test

    pwd

    ls -al

     直接使用bash+脚本名称执行

     通过输入完整路径来执行,类似于绝对路径执行网卡重启等命令,需要提权,否则会提示权限不足,使用chmod u+x或者chmod 755,使文件可执行。 

     

     接收用户参数

    $0对应的是当前Shell脚本程序的名称,$#对应的是总共有几个参数,$*对应的是所有位置的参数值,$?对应的是显示上一次命令的执行返回值,而$1、$2、$3……则分别对应着第N个位置的参数值。

    下面是一个简单的实例,看懂了应该差不多了。

     判断用户参数

    文件测试所用的参数

    -d:(directory) 测试文件是否为目录类型

    -e:(exist) 测试文件是否存在

    -f:(file) 判断是否为一般文件

    -r:(read) 测试当前用户是否有权限读取

    -w:(write) 测试当前用户是否有权限写入

    -x: (execute) 测试当前用户是否有权限执行

    一些文件判断所用到的实例

     整数比较运算符

    -eq:是否等于(equal)

    -ne:是否不等于(not equal)

    -gt:是否大于(greater than

    -lt:是否小于(less than)

    -le:是否小于等于(less equal)

    -ge: 是否大于等于(greater equal)

    流程控制语句

    if语句分为:单分支,双分支,多分支

    简单的if条件脚本如下:

     简单的for条件脚本如下(批量创建用户):

     

     简单的while条件语句

     简单的case条件实例

    以上就是一些常见的shell脚本语句,多熟练这些使用方法,为日后的自动化运维做准备吧。

     补充:

    计划任务服务

    at 一次性生效

    at -l :查看设置好未执行的一次性计划任务

    atrm :删除某个计划任务

    crontab 永久生效

    crontab -e 创建编辑计划任务

    crontab -l 查看创建的计划任务

    如每周一至周五的1点删除某个文件(命令使用绝对路径)

    0 1 * * 1-5 /usr/bin/rm -rf /test

    这节课的内容有点多,我认为特别有用,所以置顶一波~

  • 相关阅读:
    在 vue cli3 的项目中配置双服务,模拟 ajax 分页请求
    vue 外部字体图标使用,无须绝对路径引入办法
    json-sever 配置与应用
    使用 phpstudy 搭建本地测试环境
    自调用匿名函数(匿名闭包)解析与调用
    bootstrap-treeview 在 bootstrap 4 不兼容解决办法及使用
    SCSS 在项目中的运用
    题目1020:最小长方形(排除原点)
    题目1018:统计同成绩学生人数(数组或者map)
    大话比特币病毒
  • 原文地址:https://www.cnblogs.com/fenlinji/p/11592045.html
Copyright © 2011-2022 走看看