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键双击可以列出所有可能匹配的选择。