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

    shell基础

    一:记录历史命令:
    history:列出历史命令

    !!:连续!!执行上一条命令

    !n:执行命令历史中的第n条命令

    !字符串:表示输出历史最近一次以字符串开头的命令。

    二:补全命令

    tab

    三:别名

    alias:将一个长命令另取一个简单的指令,直接执行alias将看到所有得别命。

    alias p='pwd'

    unalias:用于解除所设置得别名。

    unalias p

    四:通配符

    *:通配零个或者多个字符

    ?:匹配一个字符

    五:输入输出重定向

    <:输入重定向用于改变命令的输入

    >:输出重定向,改变命令得输出,用于将命令得结果输入到文件中。

    [root@mall ~]# touch 123.txt

    [root@mall ~]# echo "123" >123.txt

    [root@mall ~]# cat 123.txt

    123

    2>:错误重定向

    >>:追加重定向

    六:管道符

    |:将前一个命令得输出作为后一个命令得输入

    七:作业控制

    jobs 查看后台任务

    ctrl+z:暂停任务{

    bg:后台运行

    fg:恢复运行

    }

    ctrl+c:结束任务

    八:变量

    shell预设的,大写。作用运行某个命令无需输入路径,输入命令名。

    echo $PATH :显示变量值

    echo $HOME:显示home路径

    /root

    echo $LOGNAME::显示名

    root

    env:列出全局变量

    XDG_SESSION_ID=4

    HOSTNAME=mall

    SELINUX_ROLE_REQUESTED=

    TERM=vt100

    SHELL=/bin/bash

    HISTSIZE=5

    SSH_CLIENT=192.168.200.1 62589 22

    SELINUX_USE_CURRENT_RANGE=

    OLDPWD=/usr/local/sbin

    SSH_TTY=/dev/pts/1

    USER=root

    。。。。。。。

    set:列出全局变量

    自定义变量

    # name=myname

    echo $name

    myname

    unset取消变量

    # unset name

    # echo $name

    环境变量文件

    • /etc/profile 用户环境变量,交互,登录才执行

    • /etc/bashrc 用户不用登录,执行shell就生效

    • ~/.bashrc

    • ~/.bash_profile

    • ~/.bash_history

    • ~/.bash_logout

    特殊符号

    * :任意一个任意字符

    # ls a*

    aa:

    ab:

    ?:匹配一个字符

    # ls a?

    aa:

    ab:

    # ls

    aa  ab  abad  abasds  compose  Docker  images  image.sh  install.sh  Kubernetes  kubernetes_base.sh  yaml

    # :注释字符

    :脱义字符(将后面得特殊字符还原成普通字符)

    # ls a*

    ls: cannot access a*: No such file or directory

    | :管道符

    # cat aa | wc -l

    cat: aa: Is a directory

    0

    管道符相关命令

    cut 分割,-d 分隔符 -f 指定段号 -c 指定第几个字符

    # cat /etc/passwd | cut -d ':' -f 1 | head -5

    root

    bin

    daemon

    adm

    lp

    sort 排序, -n 以数字排序 -r 反序 -t 分隔符 -kn1/-kn1,n2  -u 去重复

    # head -n5 /etc/passwd | sort -t: -k3 -n

    root:x:0:0:root:/root:/bin/bash

    bin:x:1:1:bin:/bin:/sbin/nologin

    daemon:x:2:2:daemon:/sbin:/sbin/nologin

    adm:x:3:4:adm:/var/adm:/sbin/nologin

    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

    wc -l 统计行数 -m 统计字符数 -w 统计词

    # wc -l /etc/passwd

    21 /etc/passwd

    uniq 去重, -c统计行数

    # vi kkk.txt

    11

    22

    11

    33

    # sort kkk.txt | uniq

    11

    22

    33

    # sort kkk.txt | uniq -c

          2 11

          1 22

          1 33

    tee 和>类似,重定向的同时还在屏幕显示

    tr 替换字符,tr 'a' 'b',大小写替换tr '[a-z]' '[A-Z]'

    # vi kkk.txt

    aaa

    aaa

    dcasd

    # cat kkk.txt | tr '[a-z]' '[A-Z]'

    AAA

    AAA

    DCASD

    split 切割,-b大小(默认单位字节),-l行数

    # split -b  500 /etc/passwd

    # ls

     xaa  xab  xac

    $ 变量前缀,!$组合,正则里面表示行尾

    ;多条命令写到一行,用分号分割

    ~ 用户家目录,后面正则表达式表示匹配符

    & 放到命令后面,会把命令丢到后台

    > >> 2> 2>> &>

    [ ] 指定字符中的一个,[0-9],[a-zA-Z],[abc]

  • 相关阅读:
    HOT: AgentFramework 即将发布
    关于配置 Apache + SVN 1.5 + SSL
    LINQ to SQL(LINQ2SQL) vs. ADO.NET Entity Framework(ADOEF)ccBoy版 阅读笔记
    关于导出属性
    linq to sql 与linq to entities的选择
    linq to sql 算ORM吗?
    匿名方法实现(转)
    Aop中动态横切与静态横切
    老张的灵魂——敏捷回顾
    忙于webmis中
  • 原文地址:https://www.cnblogs.com/daiqinghui/p/14723803.html
Copyright © 2011-2022 走看看