zoukankan      html  css  js  c++  java
  • 【笔记】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 编辑其他用户计划任务
    周期性计划任务的格式

    * * * * *   

  • 相关阅读:
    jvisualm 结合 visualGC 进行jvm监控,并分析垃圾回收
    linux 查看服务器cpu 与内存配置
    arthas 使用总结
    selinux contexts 安全上下文的临时更改
    Android 8.1 Doze模式分析(五) Doze白名单及Debug方式
    Window 任意窗口置顶软件Window TopMost Control
    Android ApkToolPlus一个可视化的跨平台 apk 分析工具
    SVN Please execute the 'Cleanup' command.
    Android 如何在64位安卓系统中使用32位SO库
    Android cmd命令查看apk是32位还是64位?
  • 原文地址:https://www.cnblogs.com/ly570/p/10961076.html
Copyright © 2011-2022 走看看