zoukankan      html  css  js  c++  java
  • linux bash 几个命令

    1.env与set

      env查看环境变量,set查看自定义变量。

      bash启动后它就是一个独立的进程PID,此时如果执行了另一个命令后所生成的一个进程就称为子进程,在子进程中只能使用父进程的环境变量而不能用父进程的自定义变量。因此要想使用自定义变量在父进程及子进程中都有效,可以通过export来实现,export就是让自定义变量变为环境变量的。

      export self-definition-variable

    2.变量

      读取 read 

      read [-pt] variable   接受用户输入并赋值给指定变量

        -p  提示符

        -t  等待时间表(秒)

      声明变量 declare / typeset

      declare [-aixr] variable  若不指定,默认为字串类型

        -a array

        -i integer

        -x  used as export,transform var into environment variable

        -r  read only

    3.修改变量

      (1)删除

      path = ${PATH}   设path = /usr/ab:/usr/ac:/etc/xx

      ${path#/*:}   表示从前删除/与:之间的最短的数据, 删除后 path = /usr/ac:/etc/xx

      ${path##/*:}   表示从前删除/与:之间的最长的数据, 删除后 path = etc/xx

      ${path%:*xx}   表示从后删除xx与:之间的最短的数据, 删除后 path = /usr/ab:/usr/ac

      ${path%%:*xx}   表示从后删除xx与:之间的最长的数据, 删除后 path = /usr/ab

      (2)替换

      ${path/sbin/SBIN}   sbin替换成SBIN,替换第一个

      ${path//sbin/SBIN}   sbin替换成SBIN,替换所有的

    4.条件选择

      如果将多个命令写在一行并让他们依次执行,则需要

        sync;sync; shutdown -h now

      但是如果前一条命令与后一条命令具有依赖性,怎么办呢?比如说我要查看某目录或文件是否存在,如果存在则不操作,如果不存在则新建。这个时候就需要用到 &&,||这两个命令了,它们来判断前一个命令是否成功并判断是否继续执行下一个命令。

      cmd1&&cmd2   cmd1成功(回传码$(?=0)),执行cmd2

              cmd1失败(回传码$(?!=0)),不执行cmd2

              可以理解为:命令相与操作,即两个命令都需要执行的,依次执行命令,只要有一上执行失败则不执                              行后面的命令。

      cmd1||cmd2    cmd1成功,不执行cmd2

              cmd1失败,执行cmd2

              可以理解为:从最前面的命令开始执行,只要有一个命令执行成功就OK,即不再继续执行下去。

      ex:

        ls /home/abc  || mkdir /home/abc

        cmd1 && cmd2 || cmd3,顺序通常不变,cmd2,cmd3且必须能够成功执行

    5.管道命令|

      管道命令仅会处理stand output.

      ex :

        ls -al /etc  | less

      只查看自己感兴趣的信息cut,grep,配合管道使用

      cut -d "splitliine"  -f fields

      cut -c indexs of charactor

      ex:

        echo $path

          /bin:/usr/bin:/sbin

        echo $path | cut -d ":" -f 1          #-f 3,4

          /bin

        echo $path | cut -c 5-

          /usr/bin:/sbin

      grep it's  a strong and usefull command,get more information from google help,heh.

      last | grep 'root'    #support regular expression

    6.排序

      sort,uniq,wc

        cat /etc/passwd | sort -t ':' -k 3 -n  ':'分开的第3个字段并以数值方式排序

  • 相关阅读:
    【Spring源码深度解析系列 】Spring整体架构
    【Spring Boot && Spring Cloud系列】在spring-data-Redis中如何使用切换库
    自定义异常
    Java IO
    多线程和虚拟机的宏观理解
    mybatis添加记录时返回主键id
    从JVM角度看i++ 与++i
    JVM指令集介绍
    jvm 指令集代码
    javap -c命令详解
  • 原文地址:https://www.cnblogs.com/lovemo1314/p/2932925.html
Copyright © 2011-2022 走看看