美文网首页
linux命令行大全与shell脚本编程大全

linux命令行大全与shell脚本编程大全

作者: Poseidon_Wang | 来源:发表于2017-12-14 21:40 被阅读52次
    linux操作系统命令

    mkdir
    -p 若不存在目录则创建
    alias
    -p 显示当前可用alias
    用户设置加载顺序
    /etc/profile
    $HOME/.bash_profile
    $HOME/.bashrc
    $HOME/.bash_login
    $HOME/.profile
    文件共享
    TO-DO
    **
    yum 处理损坏的依赖
    yum clean all
    yum delist package_name
    vim查找替换
    s/old/new/g 全文替换

    shell操作

    $?
    命令执行返回码,0成功
    case
    case variables in
    pattern1 | pattern2) command1;;
    pattern3)command2;;
    ) default command;;
    esac
    IFS
    换行符:IFS=$'\n'
    循环
    for item in $items
    do
    command
    done
    for((vaiable;condition;))
    外部变量的引用
    ${}超过9以后
    特殊变量
    $#统计变量个数
    $@打印所有变量(按照IFS切割后)
    $
    打印所有变量(按照整体)
    shift移动变量使$1->$0
    选项·与参数的分割
    --分割符
    read
    读取用户输入
    -p 指定变量
    read -p "Enter:" val
    不指定变量将存储于REPLY中
    -t num 指定超时时间
    -nNum 指定输入字符数
    -s 隐藏输入(颜色跟背景色一样)
    文件中读取
    cat file|while read line
    do
    echo $line
    done
    永久重定向
    exec 1>file 所有的标准输出都会输入到file内
    临时文件
    mktemp -t file.xxxxxx 返回全路径随机数替换x
    mktemp -d dir.xxxxxx 临时目录
    tee
    重定向输出到文件跟STDOUT上
    -a 追加
    信号
    1 -- SIGNUP -- 挂起
    2 -- SIGINT -- 终止
    3 -- SIGQUIT -- 停止
    9 -- SIGKILL -- 无条件终止
    15 -- SIGTERM -- 尽可能终止
    17 -- SIGNSTOP -- 无条件停止进程不是终止进程
    18 -- SIGTSTP -- 停止或暂停进程,单不终止
    19 -- SIGCONT -- 继续运行停止的进程
    CTRL+C 发送SIGINT信号
    CTRL+Z 发送SIGTSTP
    ps查看后台进程
    tty->pts/0挂钩
    jobs
    带+的作业是默认作业,作业命令未指定作业号的情况下会被当作默认的控制对象,带-号为预备默认作业,当+好作业结束带-号的就会变成+号作业只存在一个+号一个-号作业
    -l 列出pid以及作业号
    -p 只列出pid
    -r 只列出运行中的作业
    -s 只列出停止的作业
    bg
    重启后台作业
    fg
    前台模式重启作业
    作业优先级
    nice -n [-20 -> +19] (高->低)
    普通用户无法使用
    renice 改变已运行任务的优先级
    -p 指定进程号
    只有自己能调度自己程序的优先级,root可以调度所有的
    定时任务
    at
    at [-f filename] time
    time 比较宽泛
    -M 屏蔽输出
    ate 列出等待的作业
    atrm 作业号 删除作业
    crontab
    min hour dayofmonth month dayofweek(0-6) command
    不指定用*替换
    -l 任务表
    -e 添加任务列表(vim语法)

    高级脚本

    语句的返回值用$?获取

    sed

    d-->删除 sed '寻址d'
    I-->插入(指定行前插入) sed '寻址i\text
    a-->附加(指定行后插入) sed '寻址a\text
    c-->修改行 sed '寻址C
    y-->转换 sed 'y/inchar/outchar'
    打印
    p-->打印文本行 sed -n '寻址p' 只打印匹配行
    =-->打印不可见字符以ascii字符显示 sed
    l-->列出行
    w-->写入文件 sed '寻址w file'
    r-->读出到数据流中 sed '寻址r file'
    s-->替换sed 's/old/new/option'
    option -- n 替换第n个匹配的字符 --g 全文替换 --p 打印匹配的 --w file 将匹配结果写入文件
    寻址方式
    1.n,m sed 'n,mcommand/old/new/option'
    m-->$ 表示匹配到末行
    2.匹配 sed '/pattern/command/old/new/option'

    gawk

    gawk 'BEGIN { } {} END {}'
    $0 -- 代表整个行
    $n -- 代表第n个数据以IFS分割

    相关文章

      网友评论

          本文标题:linux命令行大全与shell脚本编程大全

          本文链接:https://www.haomeiwen.com/subject/obqrixtx.html