+++++++++++++++++++++++++ +++++Shell基础+++++++++++++++++++++++++++++++
1. Shell概述
Shell定义:
Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至编写一些程序。
Shell还是一个功能相当强大的编程语言,易编写、调试。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。
Shell分类:
Bourne Shell :sh ksh Bash psh zsh (现在使用的Linux都是Bash,其兼容sh)
C Shell :csh tcsh (语法结构和C语言很类似)
Linux支持的Shell
通过查看文件:/etc/shells 可以知道Linux支持哪些Shell
2. Shell脚本的执行方式
输出命令:echo [选项][输出内容]
选项:-e 支持反斜线控制的字符转换
支持颜色输出:
第一个脚本:
vi hello.sh
#!/bin/bash 标识下面写的是Shell脚本
#第一个脚本 注释
echo "Hello World" 输出语句
脚本执行:
第一种方法:1)改执行权限;2)./hello.sh
第二种方法:通过bash调用执行脚本 —— bash hello.sh
注:转换windows文件格式为linux —— dos2unix 文件名
3. Bash的基本功能
历史命令:history [选项][历史命令保存文件]
选项:-c 清空历史命令
-w 把缓存中的历史命令写入历史命令保存文件~/.history
注:历史命令默认保存1000条,可以在环境变量配置文件/etc/profile中进行修改
历史命令的调用:
命令补全:按Tab键就会自动进行补全
命令的别名:
设定命令别名——alias 别名=‘原命令’
查询命令别名——alias
注:命令执行顺序
让别名永久生效:vi /root/.bashrc
删除别名:unalias 别名
Bash常用快捷键:
标准输入输出:
输出重定向:例子 —— ls >> abc.txt
注:ls &> /dev/null 将结果丢到垃圾箱,不做任何处理
输入重定向:(把文件内容作为命令输入)
多命令顺序执行:
管道符:命令1的正确输出作为命令2的操作对象
命令格式:命令1 | 命令2,范例:ls -l /etc | more
通配符:(用来匹配文件名)
其他特殊符号:
4. Bash变量
用户自定义变量:变量时计算机内存单元,其中存放的值可以改变
变量设置规则:字母、数字、下划线,不能是数字开头。
变量的默认类型是字符串型,如果要进行数值运算,则必修指定变量类型为数值型。
变量用等号连接,等号两侧不能有空格。
如果等号右边有空格,则必须用单引号或双引号括起来。
如果把命令的结果赋给变量,则必须使用反引号或$()包含命令
环境变量名建议大写,便于区分
变量分类:
本地变量:(即用户自定义变量)
环境变量:
概念——用户自定义变量只在当前的Shell中生效,而环境变量会在当前Shell和这个Shell所在Shell当中生效。如果把环境变量写入相应配置文件,则这个环境变量就会在所有的Shell中生效。
注:与自定义变量的区别——本质上是作用范围的不同。
设置环境变量:export 变量名=变量值 #声明变量
env #查询环境变量
unset #删除变量
PATH环境变量——系统查找命令的路径;
PS1:定义系统提示符的变量
位置参数变量:
预定义变量:系统事先定义好的变量,位置参数变量其实是预定义变量中的一种
接收键盘输入:read [选项] [变量名]
选项:-p "提示信息":在等待read输入时,输出提示信息
-t read命令会一直等待用户输入,使用此选项可以指定等待时间
-n read命令只接收指定的字符数,就会执行
-s 隐藏输入数据,适用于机密信息输入
5. Bash的运算符
声明变量类型:declare
数值运算:
方法一:
方法二:expr或let数值运算工具
方法三:“$((运算式))或$[运算式]”
运算符:
变量测试与内容替换:
6. 环境变量配置文件
简介:主要用来存放系统默认环境变量的配置文件,如PATH PS1等。
主要的环境变量配置文件:
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc
source命令:强制让当前配置文件直接生效
格式:source 配置文件
或 . 配置文件
环境变量配置文件的作用:
环境变量配置文件的调用顺序表
/etc/profile的作用
~/.bash_profile
~/.bashrc的作用
/etc/bashrc的作用
其他配置文件:
注销时生效的环境变量配置文件——~/.bash_logout
历史命令的配置文件:~/.bash_history
Shell登录信息:
本地终端登录欢迎信息——/etc/issue
远程终端登录欢迎信息——/etc/issue.net
登录后的欢迎信息:/etc/motd
注:不管是本地还是远程登录,都可以显示此欢迎信息