Linux–shell
shell命令解释器,强大的编程语言,易编写,易调式,灵活性强
shell是解释执行的脚本语言,在shell中可以直接调用Linux系统命令
Shell分类
- bourne shell: 其文件名为sh
包括:sh、ksh、Bash、psh、zsh
Bash: Bash和sh兼容,最常见常用 - C Shell:语法和C语言结构相似
包括csh、tcsh
echo 输出命令
echo [选项] 【输出内容】
选项: -e 支持反斜线控制的字符转换
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210418100936414.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81MTgwODkwMg==,size_16,color_FFFFFF,t_70)
第一个://中的第一个‘/’代表转义符(取消后面的转义符作用),所以输出"/"
shell脚本中第一句
#!/bin/Bash 必须写,不能省略,但它不是注释,表示开始
执行脚本:1、先给脚本执行权限,用相对路径或者绝对路径执行
2、通过Bash调用执行脚本
bash 脚本名 (可不用执行权限)
Bash–历史命令与补全
history 【选项】【历史命令保存文件】
选项: -c 清空历史命令
-w 把缓存中的历史命令写入历史命令保存文件
历史命令默认保存1000条,可以更改(要想生效就重新登陆)
可以在环境变量配置文件/etc/profile中进行修改、、
历史命令的调用:
上下箭头调用之前的历史命令
使用“!n"重复执行第n条历史命令
使用“!!”重复执行上一条命令
使用“!字串” 重复执行最后一条一该字串开头的命令
Bash–别名和快捷键
定义别名: # alias 别名 =‘原命令’
查询命令别名: # alias
命令的执行是的顺序
1、执行用绝对路径或相对路径执行的命令
2、执行别名
3、Bash的内部命令
4、按照Pash环境变量定义的目录查找顺序找到的第一个命令
要想调用环境变量的值要在变量之前加$
别名最好不要和现有命令重名,因为别名的优先级高,原始命不会被执行
用命令行定义的别名智慧临时生效,重启后不在生效
想要永久生效:
在root目录下 /.bashrc
vi root/.bashrc
删除别名: # unalias 别名
Bash常用快捷键、
不用大写,蓝色部分重要
CtrlZ不要常用,不然系统会被变慢
Bash–输入输出重定向
1、标准输入输出
2、输出重定向
输出本来应是输出到屏幕,现在输出到文件,就叫输出重定向
只要命令有输出就可以保存
’ >’ 和’ >>'区别
报错和2
保存报错信息要在>>前加2
在>>前加2(不能加空格)即是:2>>
更常见,更常用
将文件(无论正确还是错误)扔入垃圾箱
输入重定向
wc 【选项】【文件名】
选项: -c 统计字节数
-w 统计单词数
-l 统计行数
wc统计键盘输入作用
例统计 anaconda-ks.cfg日志
51行 121个单词 1207字节数(不加选项三项都统计,加了选项限制就只统计某项或者某几项
Bash–多命令顺序执行与管道符
多命令顺序执行
dd命令
dd主要用来磁盘复制
管道符 |
也是用来连接两个命令的
命令1的正确输出作为命令2的擦欧洲哦对象(命令1 必须正确,必须输出)
more分屏显示文件内容不能显示直接显示命令结果
但是加了管道符就可以命令结果分屏显示
grep搜索
grep 【选项】“搜索内容”【文件名】
选项: -i 忽略大小写
-n 输出行号
-v 反向查找
–color=auto 搜索出的冠军艾脑子用颜色显示
Bash通配符和其他特殊符号
‘*’ 零个字符也算匹配
?必须有一个字符匹配
[ ]也必须有一个匹配
Bash中其他的特殊符号
在‘ ’ 中的所有特殊符号都没有特殊化含义
在" "特殊符号有特殊意义、