Linux系统下Shell基础解析,linuxshell基础解析


Shell基础

一、Shell概述

1. Shell介绍
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。
Shell功能
2. Shell的分类
Bourne Shell:从1979起Unix就开始使用Bourne Shell,Bourne Shell的主文件名为sh。
C Shell:C Shell主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名。
Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括sh、ksh、Bash、psh、zsh;C家族主要包括:csh、tcsh。
Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。

3. Linux支持的Shell
/etc/shells(该文件中列有当前Linux系统支持的Shell)

二、脚本执行方式

1、echo输出命令

echo [选项] [输出内容]
选项:
- -e:支持反斜线控制的字符转换
echo -e "hell\bo"
# 删除\b左侧字符
echo -e "h\te\tl\n\to"
# 制表符与换行符
echo -e "\x68\t\x65"
# 按照十六进制ASCII码也可以输出
# 此外,echo命令还可以设置字体颜色等。

2. 第一个脚本

执行vi hello.sh
脚本中的内容(第一句不是注释,是不能省略的,其他#号的句子代表注释):
#!/bin/bash
#The first program 

echo -e "\3[1;34m Helloworld!\e[0m"

3. 脚本执行

赋予执行权限,直接运行:
chmod 755 hello.sh
./hello.sh(或者用绝对路径来调用)

通过Bash调用执行脚本
bash hello.sh

三、Bash的基本功能

1. 命令别名与快捷键

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

alias 别名='原命令'
#设定命令别名,该设定在下一次重启失效
alias ls='ls --color=never'
别名的永久生效与删除别名
vi ~/.bashrc
# 写入环境变量配置文件,修改该文件后重新登录永久生效。

source .bashrc
# 让环境变量直接生效

unalias 别名
# (临时)删除别名,下次重启时,如果配置文件中还有该别名,则该别名仍然生效

这里写图片描述

命令生效顺序
 第一顺位执行用绝对路径或相对路径执行的命令。
 第二顺位执行别名。
 第三顺位执行Bash的内部命令。
 第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令。(用echo $PATH查询目录)
常用快捷键
ctrl+c   强制终止当前命令
ctrl+l   清屏
ctrl+a   光标移动到命令行首
ctrl+e   光标移动到命令行尾
ctrl+u   从光标所在位置删除到行首
ctrl+z   把命令放入后台(不要用该命令来终止命令)
ctrl+r   在历史命令中搜索

2. 历史记录
1. 历史命令

history [选项] [历史命令保存文件]
选项;
- -c: 清空历史命令
- -w: 把缓存中的历史命令写入历史命令保存文件~/.bash_history

3. 输出重定向
4. 多命令顺序执行
5. Shell中特殊符号

相关内容