Linux学习笔记——BASH

  Shell:命令行解释器,使用户与系统沟通时的媒介。Unix系统中有各种Shell,Linux采用bash为其默认shell。在"/etc/shells"文件中记录了系统的各种shell。

  BASH:Bourne Again Shell的缩写;与Unix上的Bourne Shell完全兼容;支持命令行输入、操作历史查询、快捷键、使用变量等功能。

  变量:

自定义一个变量:变量名=变量的值

eg:~#a=book            --"="两边都没有空格

删除变量:unset 变量名

eg:~#unset a            

使用,查看一个变量的值:$a, 或是${a}  --建议使用后一种,避免变量混淆

eg:

  echo $a

      echo ${a}

  a=${a}1234        --这时a的值将为"book1234",若是没有{},a的值将为空,因为系统会误以为把变量a1234的值赋给变量a。

预定义变量:分为本地和环境变量,可以使用set、env查看变量

  set: 可以查看所有的变量

  env:只能查看环境变量

常用的预定义环境变量(一般设置为大写):

HOME:当前用户的主目录

PATH:当前用户的可执行文件搜索路径

LANG:程序应该使用的默认语言

PS1:行提示法                  --设置PS1的值eg:PS1='[\u@\h\w]'

export:将自定义变量转换为环境变量

eg:export a

history:在bash中输入history指令可以查询用户的过往操作

调用过往指令:

  使用 ! 来调用过往指令

    !!:重复执行上一条指令

    !a:重复执行上一条以a为首的指令

    !number:重复执行上一条在history表中记录号码为number的指令

    !-number:重复执行前第number条指令

    !$:截取上一条命令的最后一个参数

    可以使用<ctrl+r>来在history表中查询某条过往指令

alias:

  在shell下键入alias可以查询当前alias列表,使用alias可以为一条命令取一个简单的别名,使用unalias来取消一条别名。

eg:

  alias a='ls -al'     --定义a为ls -al命令的别名

  unalias a            --取消a这个别名

命令行表达式:

  命令行输出:" "                     --将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,则转义。(特殊含义字符:$ ,\,`, !)

  命令行输出:' '                      --将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,则不转义

  执行引用符:` `                    --引用命令的执行结果

    eg:ls -al `pwd`            --先执行pwd

      数学运算——$[]                    --在中括号内的表达式会被数学计算

  逸脱符——\                          --用于取消命令行中字符的特殊含义,用于表示一行未结束

  命令行结束符——;                 --用于在一行内分隔两个独立命令,表示一行已结束,作用相当于回车键。

  eg:pwd; ls -l

  子shell激活——()                 --在小括号内命令行表示激活一个子shell后在子shell中运行。

 

逻辑运算符:

shell命令行支持在同一行的两条命令中插入&&(逻辑与)与 ||(逻辑或)

  &&:当前一条指令执行成功时再执行后一条指令

  ||: 当前一条指令执行失败时再执行行后一条指令

常用快捷键:

  Ctrl + d:输入已结束。在shell下相当于一个exit。

  Ctrl + c:键盘中断请求。

  Ctrl + s & Ctrl + q:暂停/恢复屏幕输出。

  Ctrl + l:清屏,相当于clear。

  Tab:自动补完命令行与文件名。Tab键双击可以列出所有可能匹配的选择。

原文地址:https://www.cnblogs.com/Longlycsu/p/Linux.html