什么是shell,什么是bash
Shell是人和机器交互的中间层,接受用户的输入并传递到kernel,通过kernel来操作计算机的各个硬件之间的交互
bash是linux下预安装的shell,使用范围很广。
bash里的基本概念
bash的变量
以下为几个需要注意的点:
1,不能以数字开头,且变量只能由数字和字母来定义
2,赋值时等号左右不能有空格,这一点和python不一样
3,单双引号需要成对出现,且单双引号作用不太相同,单引号会把引号中的东西认成纯的字符串,而双引号中会识别特殊字符如美元符号
4,变量设置时如果有特殊字符可以用\来转译
5,反单引号 ` 在赋值时会将引号中的内容运行后将结果拿出来
6,如果变量需要在其他地方使用的话需要export变量名称
7,取消变量的方式是 unset 变量名
8,取变量时需要用美元符号加变量名称
bash的环境变量
env和export都可以查看环境变量 set用来查看所有变量
环境变量存的位置:
系统端:/etc/profile
个人端:~/.bash_profile
source : 读入环境设定档的指令 使用小数点也可以.
常用的功能键
以下是其常用到的功能键
alias 是别名相当于给某个命令起一个你方便使用的名称,下次直接用这个别名就能直接拿到你的命令,很方便
alias lm=‘ls -al’
取消方式:unalias lm
一般化操作的快捷键:
ctrl+u/k 向前删除整个指令串或者向后删除之后的指令串
ctrl+a/e 将光标移动到指令最前面或者最后面
bash常用符号
‘#’ 注解
‘\’ 转译
‘|’ (pipe):分隔兩個管線命令的界定
‘;’ 分隔符号
‘~’ 用户目录
‘$’ 取变量符号
‘&’ 工作控制 (job control):將指令變成背景下工作
‘!’ not
‘/’ 目录
‘>, >>’ 资料输出导向
‘<, <<’ 资料输入导向
‘( )’ 在中间为子shell的起始
‘{ }’ 命令区块的整合
bash的资料流重导向
什么是资料的流重导向:当我们执行一个指令,它会由档案读入资料,经过处理以后,再将资料输出到荧幕上,资料的输入输出分为以下三种:
stdin stdout stderr 分别代表标准输入,标准输出,和标准错误输出代码为0,1,2
文件输出符号>和>>的区别:
‘>’是将文件以覆盖方式将资料输出到指定的档案或者装置上
‘>>’ 是将文件以累加的方式来输出
python -u xxx.py>../log/XXX.log 2>&1&
部分语法(后期会更新):
grep:bash中的正则 ps -ef|grep ''
wc:显示文件的最后统计量 more xxxx.txt |wc 会显示行字数,字元数
split:分割指令:split [-bl] file. -b是指大小 -l是指行数 如split -b 300k services.log
是指将文件services.log以300k大小来分为多个文件