• 【笔记】Linux就该这么学-第六课第四章


    vim使用
        a 在光标后一位置插入
        i 在光标当前位置插入
        o 在光标下面创建个空行
        dd 删除(剪切)光标所在行
        5dd 删除(剪切)从光标处开始的5行
        yy 复制光标所在行
        5yy 复制从光标处开始的5行
        n 显示搜索命令定位到的下一个字符串
        N 显示搜索命令定位到的上一个字符串
        u 撤销上一步操作
        P 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面

    末行模式
        :w 保存
        :q 退出
        :q! 强制退出不保存
        :wq! 强制保存退出
        :set nu 显示行号
        :set nonu 不显示行号
        :命令 执行命令
        :整数 跳转到整数行
        :s/one/two 将当前光标所在行的第一个 one 替换成 two
        :s/one/two/g 将当前光标所在行的所有 one 替换成 two
        :%s/one/two/g 将全文中所有one替换成two
        ?字符串 在文本中从下至上搜索该字符串
        /字符串 在文本中从上至下搜索该字符串


    转义字符
        反斜杠() 使用反斜杠后面的一个变量变为单纯的字符串
        单引号('') 转义其中所有的变量为单纯的字符串
        双引号("") 保留其中的变量属性,不进行转义处理
        反引号(``) 把其中的命令执行后返回结果

    shell脚本
        需要三元素:
        1.声明 #!/bin/bash 用来告诉系统使用哪种bash解释器来执行脚本
        2.注释 # 说明该脚本的执行意图是什么,一般随便写
        3.脚本命令 就是这个脚本的主体内容了

        执行脚本后可以携带参数,但也要看这个脚本是否会调用这些参数
        ./open.sh ie qq wx
        脚本中的一些变量:
        $0 脚本程序的名称
        $# 脚本有多少个参数
        $* 对应的所有位置的参数值
        $? 上一次命令执行的返回值
        $1、$2、$3…… 脚本后对应的参数值

    用户判断参数

      文件及逻辑测试运算符
    [ -d /etc/fstab ]
    echo $?    该命令为查看结果是否是以上判断,如果是,则输出1,如果不是,则输出0
        -d 测试文件是否为目录类型
        -e 测试文件是否存在
        -f 判断是否为一般文件
        -r 测试当前用户是否有权限读取
        -w 测试当前用户是否有权限写入
        -x 测试当前用户是否有权限执行

        && 逻辑与
        || 逻辑或
        ! 逻辑非

      整数比较运算符
    [ 10 -gt 10 ]
    echo $?    该命令为查看结果是否是以上判断,如果是,则输出1,如果不是,则输出0
        -eq 是否等于
        -ne 是否不等于
        -gt 是否大于
        -lt 是否小于
        -le 是否小于或等于
        -ge 是否大于或等于

    字符串比较运算符
    [ -z $String ] 判断String变量是否为空值
    echo $?    该命令为查看结果是否是以上判断,如果是,则输出1,如果不是,则输出0
        = 比较字符串内容是否相同
        != 比较字符串内容是否不同
        -z 判断字符串内容是否为空

    条件控制语句

    if条件判断语句
    read -p "Enter your score(0-100):" GRADE    #(这是输入语句,让你输入0-100之间的数)
    if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] ; then
    echo "$GRADE is Excellent"
    elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ] ; then    #(多条件时中间加elif 增加判断项)
    echo "$GRADE is Pass"
    else
    echo "$GRADE is Fail" 
    fi    #(一定要以fi结尾)

    for循环
    for UNAME in `cat users.txt`    #(这写for循环的条件)
    do    #(一定以这个do开始,这是硬性规定)
    id $UNAME &> /dev/null
    if [ $? -eq 0 ]
    then
    echo "Already exists"
    else
    useradd $UNAME &> /dev/null
    echo "$PASSWD" | passwd --stdin $UNAME &> /dev/null
    if [ $? -eq 0 ]
    then
    echo "$UNAME , Create success"
    else
    echo "$UNAME , Create failure"
    fi
    fi
    done    #(硬性规定结尾式)

    while条件循环
    PRICE=$(expr $RANDOM % 1000)
    TIMES=0
    echo "商品实际价格为0-999之间,猜猜看是多少?"
    while true
    do    #(硬性的命令判断起始标识)
    read -p "请输入您猜测的价格数目:" INT
    let TIMES++
    if [ $INT -eq $PRICE ] ; then
    echo "恭喜您答对了,实际价格是 $PRICE"
    echo "您总共猜测了 $TIMES 次"
    exit 0
    elif [ $INT -gt $PRICE ] ; then
    echo "太高了!"
    else
    echo "太低了!"
    fi
    done    #(结尾范式)


    case条件测试语句
    read -p "请输入一个字符,并按Enter键确认:" KEY
    case "$KEY" in
    [a-z]|[A-Z])
    echo "您输入的是 字母。"
    ;;    #(特别神奇的一个条件分割范式)
    [0-9])
    echo "您输入的是 数字。"
    ;;
    *)    #(默认命令的标识 类似于循环中的最后一个else)
    echo "您输入的是 空格、功能键或其他控制字符。"
    esac

    计划任务
    at 一次性计划任务添加命令
        -l 查看一次性计划任务都有什么
        at 23:00 设置23:00 的一个一次性计划任务(输入后,会进入一个编辑状态,直接输入你要执行的命令,然后按下Ctrl+d来结束编写计划任务)
        或者这个写 echo "systemctl restart httpd" | at 23:30
    atrm 删除一次性计划任务 (后面直接跟序号即可)
        atrm 2 删除需要2的计划任务

    crontab 周期性计划任务
        -e 创建、编辑
        -l 查看当前存在的计划任务
        -r 删除
        -u 编辑其他用户计划任务
    周期性计划任务的格式

    * * * * *   

  • 相关阅读:
    微信坚硬的后脚跟
    [项目整理]Win32,MFC的可执行文件只能运行一次
    美司法部索要维基解密志愿者谷歌账户内容
    QML性能
    OSGi 的核心配置、动态化及问题
    OSGi 的由来和本质特性
    机器视觉与计算机视觉
    人工智能与深度学习
    活着就能改变世界
    选择与执行
  • 原文地址:https://www.cnblogs.com/ly570/p/10961076.html
Copyright © 2020-2023  润新知