1.shell是什么
1. Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至时编写一些程序。Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令
2.Shell分类
Bourne Shell:主文件名为sh(基本淘汰)
C Shell:BSD版的Unix
两种语法类型有Bourne和C,彼此不兼容。Bourne家族主要包括sh,ksh,Bash(Linux标准Shell),psh,zsh;C家族主要包括:csh,tcsh
echo $SHELL 查看Shell
Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell
vi /etc/shells
脚本执行方式:
第一步编辑脚本:vim hello.sh 使用vim编辑器编辑hello.sh脚本 按i键进入编辑模式, 输入 #/bin/bash ----这句话不能少 # this is first program ----这是注释 echo “hello linux”;
按esc退出到一般模式输入 :wq保存并退出
修改权限 chmod 755 hello.sh 直接运行 ./hello.sh
或者通过bash 直接执行不需要修改权限
bash hello.sh
bash的基本功能:
1.命令别名和快捷键
alias 查看系统当中的别名
自定义别名 alias 别名=‘原命令’
unalias 删除别名
通过alias设定的别名只是暂时性的重启后将消失
将别名写入环境变量配置文件则会永久生效
vi ~/.bashrc
保存并退出即可永久生效 重启后才会生效,也可以直接执行 source .bashrc 调用文件执行后即可生效
别名生效顺序:
(我们定义别名,输入ls 后执行的是ls 还是ls -color==auto就涉及到别名生效顺序)
第一顺位执行绝对路径或者相对路径的命令
第二顺位执行别名
第三顺位执行Bash的内部命令
第四顺位执行按照$PATH环境变量设置定义的目录顺序的第一个命令
常用的快捷键:
ctrl + c 强制终止
ctrl + l 清屏相当于clear
ctrl + a 光标快速回到行首
ctrl + e 光标快速去到行尾
ctrl + u 从光标所在位置删除到行首
ctrl + z 把命令放入后台--这个命令很谨慎使用
ctrl + r 历史命令搜索
历史命令:
history
用法:history 【选项】 【历史命令保存文件】
-c 清空历史命令 -w 把缓存中的历史命令写入历史命令文件 ~/.bash_history
查看所有历史命令
并没有history里面的历史命令多这是因为刚刚执行的命令还没有写入.bash_history中
我们可以使用-w 将执行的历史命令写入.bash_history 历史命令默认保存10000条,我们可以在配置文件/etc/profile中进行修改HISTSIZE属性的值
历史命令的基本用方法:
1.上下箭头调用以前的历史命令(常用)
2.!n重复执行第n条历史命令
3.!!重复执行上一条命令
4.!字符串 重复执行最后一条已改字符串开头的命令(常用)
命令补全:按下tab键命令自动补全以及目录补全