Shell基础

shell

概述

shell是命令解析器,与内核交互的界面。还是一个编程语言,在shell中可以直接调用linux系统命令。

分类

linux支持的shell

/etc/sh

切换

输入shell名称

exit退出

shell脚本的执行方式

1.绝对路径执行
2.相对路径执行
3.通过bash执行
bash 脚本名称

转换windows编辑的格式

dos2unix 文件名

Bash基本功能

history查看历史命令

-w : 历史命令写入~/.bash_history
默认保存1000条,可以在/etc/profile文件中更改

!! 重复执行上一条命令
!字符串    重复执行以字符串开头的命令

基础命令

echo 输出命令

echo [选项] [输入内容]

-e :支持转移字符\

alias别名

alias 别名=‘命令名’
例如 alias vi=‘vim’

查看所有别名 alias

命令执行顺序
1.第一顺序执行用绝对路径或相对路径执行的命令
2.第二顺位执行别名
3.第三顺序执行bash的内部命令
4.第四顺位PATH环境变量定义的目录找到顺序找到的第一个命令

让别名永久生效
vi ~/.bashrc

删除别名
unalias 别名

快捷键

ctrl + L 清屏
ctrl + u 删除命令
ctrl + D 退出当前终端

重定向

标准输入输出
键盘 /dev/stdin 0 标准输入
显示器 /dev/sdtout 1 标准输出
显示器 /dev/stderr 2 标准错误输出

输出重定向(标准输出到文件)

命令 > 文件 以覆盖的方式
命令 >>文件 以追加的方式

命令 2> 文件
命令 2>> 文件

命令 &> 文件
命令 &>> 文件

垃圾箱 /dev/null
例如:
命令 >> /dev/null 2>>文件

输入重定向
命令<文件

例如:统计
wc [选项] [文件名]
选项:
-c 统计字节数

多命令执行

多命令执行符 格式 作用
; 命令1;命令2 命令1和命令2都会执行
&& 命令1&&命令2 命令1正确执行,命令2才会执行
|| 命令1||命令2 命令1不正确执行,命令2才执行

管道符

命令格式:
命令1 | 命令2
命令1的正确输出作为命令2的操作对象

例如:
ll -a /etc | more
netstat -an|grep ‘’

通配符

通配符
? 匹配一个

  • 任意多个字符
    [] 任意括号内的一个字符
    [-] 范围
    [^] 逻辑非

应用场景:
批量操作
例如:
rm -rf * 删除所有文件

特殊符号

‘’ 单引号中所有的特殊符号,都没特殊含义
“” 双引号中特殊符号有特殊含义
‘’ 反引号里的内容是系统命令,会先执行。
$() 与反引号一样

Bash变量

用户自定义变量

规则:
1.默认是字符串型,如果要进行数值运算,则必须指定变量类型为数值型。
2.环境变量建议大写

变量的分类:
1.用户自定义变量
2.环境变量
3.位置参数变量:主要向脚本当中传递参数或数据,变量名不能自定义,变量的作用是固定的
4.预定义变量:是Bash已定好的变量,变量名不能自定义,变量作用也是固定的

变量定义
变量名=变量值

变量叠加
aa=123
bb=${aa}456

变量调用
$变量名

所有变量查看
set

变量删除
unset 变量名

环境变量

用户自定义变量只在当前shell中生效,而环境变量会在当前shell和这个shell的所有子shell
当中生效。如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的shell
中生效。

注意:父子shell

环境设置
export 变量名=变量值

查询变量
env

删除环境变量
unset 环境变量名

PAH变量
系统查找命令的路径

PS1变量
定义系统提示符的变量

位置参数变量

$n n为数字,$0代表命令本身,$1~ 9 , 表 示 第 一 到 第 9 个 参 数 , 十 以 上 使 用 9,表示第一到第9个参数,十以上使用 9,9使{}
$* 代表所有参数,是一个整体
$# 表示参数的个数
$@ 表示命令行中所有参数,不过把每个参数区分

运算符

数值运算

declare 声明变量类型
declare [+/-] [选项] 变量名

  • :设置
    -x: 声明环境变量

数值运算-方法1
declare -i cc= a a + aa+ aa+bb

方法2
dd=$(expr $aa + $bb)

方法3 ( ( 运 算 式 ) ) 或 ((运算式))或 (())[运算式]
gg= ( ( (( ((aa + $bb))

变量测试与内容替换

看表格

环境变量配置文件

source 配置文件

重新加载配置文件

环境变量文件

/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc

有登陆的先/etc/profile-> etc/profile.d/*.sh /bahs_profile-> ~/bashrc -> /etc/bashrc

其他配置文件

.bash_history 历史命令
/etc/issue 欢迎信息
/etc/issue.net 远程登陆欢迎信息
/etc/mod 登陆后欢迎信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值