zoukankan      html  css  js  c++  java
  • shell基础


    Linux Shell基础:
    centos7用bash

    命令历史:
    history 查看之前的命令
    ls /root/.bash_history 存放之前的命令,可放置1k条
    echo $HISTSIZE 这个环境变量控制的
    history -c 清除当前命令历史清空,当前存储于内存
    当你退出终端后,才会将命令保存到.bash_history文件中
    vi /etc/profile 中修改HISTSIZE环境变量
    source /etc/profile 使修改生效
    HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S " 改变环境变量,可记录日期和时间(也可以复制到profile /history 下一行)
    chattr +a ~/.bash_history 永久保行历史命令
    !! 上一条命令
    !n(数字)运行指定行数命令
    !echo 倒着往上找关于echo的第一条的命令
    !mkdir倒着往上找关于mkdir的第一条的命令

    命令补全和别名:
    tab 命令补全,一下补全,两下显示开头相同的命令或文件
    yum install -y bash-completion 默认不支持,需安装这个包,外加重启系统
    alias 别名,给命令重新起个名字
    alias restartnet='systemctl restart network.service' 这样restartnet就可以代替引号里的命令了
    alias 可查看系统里所有的alias,包括你自定义的alias
    .bashrc 放着自定义的命令别名
    ls /etc.profile.d/ 其他的都在这个目录下
    unalias restartnet 取消自定义的命令别名,如取消restarnet

    通配符:
    ls *.txt *表示通配
    ls?.txt ?表示任意一个字符
    ls[0-9].txt 【0-9】范围中选其中一个
    ls{1,2}.txt {1,2}范围中选其中一个,等同【1-2】
    输入输出重定向
    cat 1.txt >2.txt > 将前面的输出结果重定向到后面的文件
    cat 1.txt >>2.txt >> 将前面的输出结果追加到后面的文件
    ls aaa.txt 2>err 把错误命令定性到err文件里去
    ls aaa.txt 2>>err 把错误命令追加定性到err文件里去
    ls [12].txt aaa.txt &>err 不论对错输出信息全定向到err中
    & 不论对错,支持>>
    ls [12].txt aaa.txt >1.txt 2>a.txt 正确和错误的结果区分开定向到不同文件
    wc -l < 1.txt < 输入重定向 前面必须是一个命令
    command >1.txt 2>&1

    管道符和作业控制:
    cat 1.txt |wc-l ;cat 1.txt |grep 'aaa' |把前面的输出结果交给后面的命令处理
    ctrl z 暂停一个任务
    fg 继续未完成的操作,调用到前台
    jobs 查看后台的任务 fg(n)
    bg[id] 把任务调到后台并运行
    命令后面加&直接丢到后台

    shell变量:
    变量:PACH , HOME ,PWD ,LOGNAME
    env命令 来获取到这些变量
    set 查看所有包括用户自定义的变量
    自定义变量:
    a=1111
    echo $a
    1111
    变量名规则:字母,数字下划线,首位不能为数字
    变量值有特殊符号时需要用单引号括起来
    变量的累加
    export b=2 全局变量 向下的(子shell生效)
    unset b 取消变量
    bash 打开子shell
    pstree 查看你在哪
    w 查看当前用户 echo $SSH_TTY

    环境变量配置文件:
    系统层次
    /etc/profile 用户环境变量,交互,登陆才执行
    /etc/bashrc 用户不用登陆,执行shell就生效
    用户层次
    ~/.bashrc
    ~/.bash_profile
    ~/.bash_history
    ~/.bash_logout 用来定义用户退出时需要做的一些操作
    vim etc/.bashrc
    PS1='[33[01;32m]u@h[33[00m]:[03[01;36]w[33[00m]$' 带颜色显示用户和主机
    source .bash_profile(..bash_profile)修改配置文件后加载文件

    shell特殊符_cut命令:
    *任意个任意字符
    ?任意一个字符
    #注释字符
    脱义字符
    | 管道符
    查看变量 echo $c(变量名)

    $ 变量前缀, !$ 组合,正则里表示行尾
    ;多条命令写道一行,用分号分割
    ~ 用户家目录,后面正则表达式表示匹配符
    & 放到命令后面,会把命令丢到后台
    > > > 2> 2>> $>
    [] 指定字符中的一个,[0-9],[a-zA-Z],[abc]
    ||(或者) 和 &&(只有前面的命令执行成功才能执行后面的命令),用于命令之间


    与管道相关的命令
    cut 截取
    -d 分隔符
    -f 指定段落
    -c 指定第几个字符
    sort 排序
    -n 以数字排序
    -r 反序
    -t分隔符 -kn1/kn1,n2
    wc -l 统计行数
    -m 统计字符数
    -w 统计词
    uniq 去重 (排序后去重 和sort一起用)
    -c 统计重复次数
    tee和>类似,重定向的同时还在屏幕显示
    -a 追加
    tr 替换字符 ,tr 'a' 'b', 大小写替换 tr ‘[a-z]’'[A-Z]'
    split 切割, -b大小(默认单位字节),-l 行数

  • 相关阅读:
    logstash过滤器使用ruby把时间格式转UNIX_MS
    logstash使用“|”切分日志报错:Exception caught while applying mutate filter {:exception=>"Invalid FieldReference: `message[1]`"}
    win10安装FileBeat
    win10安装ELK
    向量组的秩一定是有的吗?
    SCIE与SCI的区别
    安装MIUI+出现无法定位程序输入点 GetDpiForWindow 于动态链接库 USER32.dll上如何解决?
    photoshop反色
    二值图像像素交换
    矩阵翻转
  • 原文地址:https://www.cnblogs.com/herosyuan/p/9791977.html
Copyright © 2011-2022 走看看