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

    1. 记录历史命令:

      !!:连续两个!表示执行上一条命令

      

      !n:执行命令历史中的第n条命令(n表示数字)

      

      !字符串(字符串大于等于1):例如!pw字符串表示执行命令历史最近一次以pw开头的命令

      

    2.别名

      格式:alias 【命令别名】=【'具体的命令'】

      alias:取别名

      unalias:解除别名

    3.通配符

      *匹配零个或多个字符

      ?匹配一个字符

      

    4.输入输出重定向

      

    5.管道符:

      

    6.作业控制

      Ctrl+Z:暂停

      fg:恢复

      bg:后台运行

      jobs:查看被暂停或者在后台运行的任务

      ps aux:查看进程pid

      &:把这个放在后面会显示pid信息

      

    7.变量:

      

      (1)env命令:

        HOSTNAME:表示主机的名称。
        SHELL:表示当前用户的shell类型。
        HISTSIZE:表示历史记录数。
        PATH:该变量决定了sel将到哪些目录中寻找命令或程序。
        PMD:表示当前目录。
        LANG:这是与语言相关的环境变量,多语言环境可以修改此环境变量。
        HOME:表示当前用户的家目录。
        LOGNAME:表示当前用户的登录名。

        

      (2)set命令:

        

          

       显示用户定义的变量:

         bash:进入一个子shell环境

        

      使用bash命令可以再打开一个shell,此时先前设置的myname变量已经不存在了。退出当前shel回到
      原来的shll, myname变量还在。让设置的环境变量一直生效:
        允许系统内所有用户登录后都能使用该变量。具体的操作方法是:在/etc/profile 文件的最后一
        行加入export myname-Aming, 然后运行source /etc/profile就可以生效了。此时再运行bash
        命令或者切换到其他账户(如su - test )就可以看到效果。如下所示:
        

           

         仅允许当前用户使用该变量。具体的操作方法是:在用户主日录下的.bashre文件的最后- -行
        加人export myname Aming,然后运行source ,bashrc就可以生效了。这时再登录test账户,
        myname变量则不会生效了。这里source命令的作用是将目前设定的配置刷新,即不用注销再
        登录也能生效。

        设定变量的格式为a-b,其中a为变量名,b为变量的内容,等号两边不能有空格。
        变量名只能由字母,数字以及下划线组成,而且不能以数字开头。
        当变量内容带有特殊字符(如空格)时,需要加上单引号。示例命令如下:

          变量内容中本身带有单引号,加双引号
          如果变量内容中需要用到其他命令,运行结果则可以使用反引号,
          变量内容可以累加其他变量的内容,但需要加双引号。
          

        

        

        在当前shell中运行bash命令会进入一个新的shell

         

        父shell设定的变量进入子shell中,该变量不会生效,让其生效方法是用export指令

        

         取消变量:

        

    8.系统环境变量与个人环境变量的配置文件

      /ete/profile:这个文件预设了几个重要的变量,例如PATH、USER、 LOGNAME.、MAIL、 INPUTRC 、
      HOSTNAME、HISTSIZE、 umask等。
      /etc/bashrc:这个文件主要预设umask以及PS1。这个PS1就是我们在输人命令时前面的那串字符。
      例如,阿铭的Linux系统的PS1就是[root@localhost ~]#,我们不妨看一-下PS1的值,如下所示:
        # echo $P51
        [u@h W]$
      其中,u指用户,h指 主机名,W指 当前目录,$指字符# (如果是普通用户,则显示为$ )
      除了以上两个系统级别的配置文件外,每个用户的主目录下还有以下几个隐藏文件。
      bash_ profile: 该文件定义了用户的个人化路径与环境变量的文件名称。每个用户都可使用
      该文件输入专属于自己的shell信息,当用户登录时,该文件仅仅执行一次。
      bashre: 该文件包含专属于自已的shell的bash信息, 当登录或每次打开新的shell时, 该文件
      会被读取。例如,你可以将用户自定义的别名或者自定义变量写到这个文件中。
      bash_history: 该文件用于记录命令历史。
      bash_logout: 当退出shell时, 会执行该文件。你可以将一些清 理的工作放到这个文件中。

    9.特殊字符:

      *代表零个或多个任意字符
      

      ?只代表一个任意的字符
      

       注释符号#
      

      脱义字符(这个字符会将后面的特殊符号(如* )还原为普通字符。)
      

    10.cut命令:用来截取某一个字段
      格式:cut -d '分隔字符' [-cf] n(这里的n是数字)
      -d:后面跟分隔字符,分隔字符要用单引号括起来。
      -c: 后面接的是第几个字符。
      -f:后面接的是第几个区块。
      

    11.sort命令:排序
      格式:sort [-t 分隔符] [-kn1,n2] (n1,n2为数字)

      -t:后面跟分隔字符,作用跟cut的-d选项一样。
      -n:表示使用纯数字排序。
      -r:表示反向排序。
      -u: 表示去重复。
      -kn1,n2:表示由n1区问排序到n2区间,可以只写-kn1,即对n1字段排序。
      -k选项后面跟单个数字表示对第几个区域的字符串排序,-n选项则表示使用纯数字排序
      

    12.wc命令:统计文档的行数、字符数或词数
      -l:统计行数

      -m:统计字符数

      -w:统计词数

       

    13.uniq命令:删除重复的行
      -c:统计重复的行数,并把行数写在前面

      使用uniq前必须先排序

      

      

     14.tee命令:

      tee命令后面跟文件名,其作用类似于重定向>,但它比重定向多一个功能,即把文件写人后面所
      跟的文件时,还显示在屏幕上(该命令常用于管道符|后)
      

     15.tr命令:替换字符,常用来处理文档中的特殊符号

      -d:表示删除某个字符,后而跟要删除的字符。
      -s:表示删除重复的字符。
      把小写字母变成大写字母:

      

       替换字符:

      

    16.split命令:切割文档

      -b:表示依据大小来分制文档,单位为byte
      -l:表示依据行数来分割文档
      

       

    17.特殊符号
      $:用做变量前的标识符

      

      ;在一行中运行两个或两个以上的命令

      

       ~用户的家目录

      

       &把一条命令放在后台执行,用于运行时间比较长的情况

      

       重定向符号>、>>、2>和2>>
      重定向符号>和>>,它们分别表示取代和追加的意思。当我们运行一个命令报错时,报
      错信息会输出到当前屏幕。如果想重定向到一个文本,则要用重定向符号2>或者2>>它们分别表示
      错误重定向和错误追加重定向。

      

       []中括号内为字符组合,代表字符组合中的任意一个,可以是范围

      

       $$和||

      

       



  • 相关阅读:
    H5基础
    函数
    分支结构/循环结构
    图解 idea打jar包的步骤
    jmeter查看使用文档后总结
    Ride的使用
    Robot Framework
    jmeter+ant+jenkins
    ant
    Mysql选择合适的数据类型
  • 原文地址:https://www.cnblogs.com/hts1319173810/p/12197489.html
Copyright © 2011-2022 走看看