Linux 第一章 shell基础

1shell基础

1.1shell概述

1.1.1shell是什么

shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止甚至是以编写一些程序。

shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。shell是解释执行的脚本于洋,在shell中可以直接调用Linux系统命令。

 Linux 第一章 shell基础

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:支持反斜线控制的字符转换

Linux 第一章 shell基础

[[email protected] ~]# echo -e \

"\x68\t\x65\t\x6c\n\x6c\t\x6f\t"

#按照十六进制ASC码也同样可以输出

Linux 第一章 shell基础

\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

 

vimvi的增强版支持颜色显示

 

1.3 bash的基本功能

1.3.1命令别名与快捷键

查看与设定别名

alias

#查看系统中所有的命令别名

 

alias 别名= ‘原命令’

#设定命令别名

1.3.2

别名永久生效与删除别名

vi ~/.bashrc

#写入环境变量配置文件

 

unalias

#删除别名

 

命令生效顺序

第一顺序位执行用绝对路径或相对路径执行的命令

第二顺位执行别名

第三顺位执行bash的内部命令

第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令

 Linux 第一章 shell基础

1.4历史命令

1.4.1

history [选项] [历史命令保存文件]

选项

         -c:清空历史命令

         -w把缓存中的历史命令写入历史命令保存文件~/.bash_history

历史命令默认会保存1000条,可以在环境变量配置文件/etc/prpfile中进行修改

 

1.4.2历史命令的调用

使用上下箭头调用以前的历史命令

使用”!n”重复执行第n条历史命令

使用”!!”重复执行上一条命令

使用”!字串”重复执行最后一条以该字串开头的命令

 

1.5输出重定向

Linux 第一章 shell基础

1.5.2

Linux 第一章 shell基础

Linux 第一章 shell基础

1.5.3输入重定向

wc [选项] [文件名]

选项

-c统计字节数

-w统计单词数

-l 统计行数

Ctrl+d跳出执行统计

Linux 第一章 shell基础

1.6管道符

1.6.1

Linux 第一章 shell基础

Linux 第一章 shell基础

[[email protected] ~]# ls && echo yes|| echo no

Linux 第一章 shell基础

1.6.2管道符

Linux 第一章 shell基础

Linux 第一章 shell基础

1.7通配符

Linux 第一章 shell基础