Linux 第一章 shell基础
1shell基础
1.1shell概述
1.1.1shell是什么
shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至是以编写一些程序。
shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。shell是解释执行的脚本于洋,在shell中可以直接调用Linux系统命令。
1.1.2shell的分类
bourne shell从1979起Unix就开始使用Bshell
Bshell 的主文件名为sh
Cshell C shell主要在BCD版的Unix系统中使用,其语法和C语言相似而得名
Bourne和C,这两种语法彼此不兼容
Bourne家族主要包括sh、ksh、Bash、psh、zsh
C 家族主要包括csh、tcsh
Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。
ehco $SHELL 可以查询当前使用的是那一种shell。
1.2脚本执行方式
1.2.1 echo输出命令
选项:
-e:支持反斜线控制的字符转换
[[email protected] ~]# echo -e \
"\x68\t\x65\t\x6c\n\x6c\t\x6f\t"
#按照十六进制ASC码也同样可以输出
\e[1输出颜色开启
1.2.2第一个脚本
[[email protected] sh]# vi hello.sh
#!/bin/bash(不能省略)
#The frist program(#后面是不输出的)
echo -e "\e[1;36m 天上掉下一个林妹妹\e[0m"
1.2.3脚本执行
赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh
通过Bash调用执行脚本
bash hello.sh
vim是vi的增强版支持颜色显示
1.3 bash的基本功能
1.3.1命令别名与快捷键
查看与设定别名
alias
#查看系统中所有的命令别名
alias 别名= ‘原命令’
#设定命令别名
1.3.2
别名永久生效与删除别名
vi ~/.bashrc
#写入环境变量配置文件
unalias
#删除别名
命令生效顺序
第一顺序位执行用绝对路径或相对路径执行的命令
第二顺位执行别名
第三顺位执行bash的内部命令
第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令
1.4历史命令
1.4.1
history [选项] [历史命令保存文件]
选项
-c:清空历史命令
-w把缓存中的历史命令写入历史命令保存文件~/.bash_history
历史命令默认会保存1000条,可以在环境变量配置文件/etc/prpfile中进行修改
1.4.2历史命令的调用
使用上下箭头调用以前的历史命令
使用”!n”重复执行第n条历史命令
使用”!!”重复执行上一条命令
使用”!字串”重复执行最后一条以该字串开头的命令
1.5输出重定向
1.5.2
1.5.3输入重定向
wc [选项] [文件名]
选项
-c统计字节数
-w统计单词数
-l 统计行数
Ctrl+d跳出执行统计
1.6管道符
1.6.1
[[email protected] ~]# ls && echo yes|| echo no
1.6.2管道符
1.7通配符