zoukankan      html  css  js  c++  java
  • Shell基础 - Bash基础功能

    1. 历史命令 history
      选项: -c 清空历史命令 -w 立即保存历史命令
      Linux 下输入过的历史命令,都会保存在根目录下的:~/root/.bash_history 文件中
      默认保存 1000 条,可在 /etc/profile 文件中修改环境变量
      !ser : 执行最后一条以 ser 开头的命令
      !! : 再次执行上一条命令
    2. 定义别名
      # alias vi = “vim” // 重启系统消失
      # unalias vi
      永久生效
      # vi /root/.bashrc
    3. 输出重定向
      标准输出重定向:命令 > 文件 覆盖的方式 命令 >> 文件 追加的方式
      标准错误输出重定向:错误命令 2> 文件 覆盖方式 错误命令 2>> 文件 追加方式
      a、以覆盖的方式,把正确输出和错误输出都保存到同一个文件
      格式:命令 > 文件 2>&1 
      命令 &> 文件
      b、以追加的方式,把正确输出和错误输出追加到同一个文件
      格式:命令 >> 文件 2>&1
      命令 &>> 文件
      c、把正确的输出追加到文件 1,错误输出追加到文件 2
      格式:命令 >> 文件 1 2>> 文件 2
    4. 脚本执行连接符
      ; 代表顺序执行 eg: 命令 1; 命令 2
      && 上一条命令成功执行了再执行下一条 eg: 命令 1&& 命令 2
      || 上一条命令执行不成功才执行 eg: 命令 1|| 命令 2
      | 命令 1 的正确输出作为命令二操作的对象 eg: 命令 1| 命令 2
    5. grep 命令
      # grep [选项] "搜索内容" 文件
      选项:
      -i : 忽略大小写
      -n:输出行号
      -v:反向查找
      –color=auto 搜索出的关键字用颜色显示
    6. 自定义变量
      变量可以由字母、数字、下划线组成,但是不能以数字开头
      变量的类型默认都为字符串类型,如果需要进行数值运算,必须修改变量类型为数值型
      变量用等号连接,等号2边都不能有空格,若变量值有空格,需要使用单引号包括
      如果需要增加变量的值,变量需要用双引号包含:“$变量名”或者用${变量名}包含
      如果把命令的结果作为变量值赋予变量,需要使用反引号或$()包含命令
      变量设置:a=123
      变量调用:echo $name
      变量查看:set
      变量删除:unset name
    7. 预定义变量

      预定义变量 作用
      $? 最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行,如果变量值非0,证明上一个命令执行不正确。 (echo $?)
      $$ 当前进程的进程号(PID)
      $!

      后台运行的最后一个进程的进程号(PID)


      接收键盘输入
      # read [选项] [变量名]
      选项:
      -p "提示信息" 在等待read输入时,输出提示信息
      -t 秒数 read命令会一直等待用户输入,指定等待时间
      -n 字符数 read命令只会接受指定的字符数,就会执行
      -s 隐藏输入的数据,适用于密码输入
      代码例子:

      #! /bin/bash
       
      read -t 10 -p "please input your name: " name
      # 提示请输入姓名,等待10秒,将用户输入保存到变量名name中
      echo "Name is $name"
       
      read -s -t 10 -p "please enter your age: " age
      # 年龄是隐私,用"-s" 选项隐藏输入
      echo -e "
      "
      echo "Age is $age"
       
      read -n 1 -t 10 -p "please select you gender[M/F]: " gender
      # 使用"-n 1" 选项只接收一个输入字符就会执行(不用回车)
      echo -e "
      "
      echo "Sex is $gender"
      Code
    8. declare声明变量类型

      # declare [+/-] [选项] 变量名

      选项:

      -:给变量设定类型属性

      +:取消变量的类型属性

      -i:将变量声明为整数型

      -x:将变量声明为环境变量

      -p:显示指定变量的被声明的类型

      其他方法:数值运算使用:cc = $(($aa+$bb))      或      cc = $[$aa+$bb]

    9. 只显示目录,横排显示
      ls -l |grep ^d |awk '{printf "%s  ",$9}'|sort -n
      竖排显示
      ls -l |grep ^d |awk '{{printf "%s ",$9}}' |sort -n
    10. 求2个文件交集
      sort a b  | uniq -d (都存在)
    11. 求2个文件差集
      sort a b b | uniq -u (a存在 b不存在)
  • 相关阅读:
    Openstack----学习笔记
    如何往gitlab/github上游贡献代码
    搭建python虚拟环境virtualenv
    YAML格式
    mysql安装
    使用mysql服务实现负载均衡
    tomcat web服务的搭建
    通过SQL查询SQL服务器和客户端IP地址
    验证数字的正则表达式
    C# WinForm控件美化扩展系列之给TextBox加水印
  • 原文地址:https://www.cnblogs.com/Mrhuangrui/p/4570434.html
Copyright © 2011-2022 走看看