随笔1(初识shell)

1. shell 简介

(1) shell 是什么?

Shell
是一个命令解释器,它为用户提供了一个向linux内核发送请求以运行程序的界面系统级程序,用户可以用shell来启动,挂起,停止,甚至是编写一些程序. 主要的特点是 直来直去 会用命令就会写脚本

简单而言SHELL 是一个能实现人机交互的命令解释器

(2) 如何查看linux 支持的shell 种类呢?

[hadoop@hadoop181 ~]$ cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
[hadoop@hadoop181 ~]$ 

2. shell 脚本的执行方式 ?

shell 脚本分为 有执行权限的没有执行权限的脚本

2.1 如何判断脚本是否有执行权限

ls 等相关命令, 下可以看到有权限的脚本颜色不一样,并且有x权限

在这里插入代码片

2.2 有执行权限的启动方式

(1) 通过脚本的绝对位置

[hadoop@hadoop181 ~]$ /home/hadoop/apache-zookeeper/bin/zkServer.sh start

(2) 通过脚本的相对位置

[hadoop@hadoop181 ~]$ cd /home/hadoop/apache-zookeeper/
[hadoop@hadoop181 apache-zookeeper]$ 
[hadoop@hadoop181 apache-zookeeper]$ 
[hadoop@hadoop181 apache-zookeeper]$ bin/zkServer.sh start
2.3 没有执行权限的启动方式

(1) 通过 bash 命令 + 脚本的路径

[hadoop@hadoop181 bin]$ bash apache-zk-stop-all.sh

(2) 通过 sh 命令 + 脚本路径

[hadoop@hadoop181 bin]$ sh apache-zk-stop-all.sh

3. shell的基础bash

3.1 Bash基础功能
3.1.1 输入输出重定向

(1) 输入输出设备定义
在这里插入图片描述

(2) 输入输出重定向
在这里插入图片描述
(3) 输出重定向注意事项

  • 错误输出的位置不能有空格
  • 正确输出的位置需要有空格

(4) 输入重定向 (wc)

  • 格式
# 格式 , 这东西其实不是很实用
wc [选项] [文件名]
  • 选项说明
    |选项| 描述 |
    |–|--|
    | -c | 统计字节数 |
    | -w | 统计单词数 |
    | -l | 统计行数 |
3.1.2 多命令顺序执行

(1) 多命令执行符 ;

  • 多命令之间,顺序执行,命令之间没有任何逻辑联系

(2)多命令执行符&&

  • 当命令1正确执行($?=0),命令2才会执行
  • 当命令1执行错误($?!=0),命令2不会执行

(3)多命令执行符||

  • 当命令1正确执行($?=0),命令2不会执行
  • 当命令1执行错误($?!=0),命令2才会执行
3.1.3 行提取命令 grep

(1) 列出符合条件的行,并列出后续 的n行

grep -A n

(2) 列出符合条件的行,并列出前面的n行

grep -B n 

(3) 统计找到的符合条件的字符串的次数

grep -c 

(4)忽略大小写

grep -i  

(5)输出行号

grep -n

(6)反向查找

grep -v 

(6)标出颜色

grep --color=auto 
3.1.4 通配符

(1) 通配符 ?

匹配任意一个字符

(2) 通配符 *

匹配 0 个 或任意多个字符,可以匹配任意类容

(3) 通配符 []

匹配中括号中任意一个字符, 中括号相当于一个数组

(4) 通配符 [-]

匹配中括号中任意一个字符,中括号相当于一个数组; - 代表一个范围
[a-z] 就代表匹配一个小写字母

(5) 通配符 [^]

逻辑非, 表示匹配不是中括号内的一个字符
[^0-9] 就代表匹配不是一个数字的字符

(6) 通配符 [^0-9]

3.1.5 特殊符号

(1) 特殊符号 ''

在单引号中的特殊符号,无意义

(2) 特殊符号""

在双引号中的特殊符号,有意义

(3) 特殊符号 ``

反引号括起来的内容是系统命令,在bash中会先执行它,等价于$()

(4) 特殊符号 $()

引用系统变量

(5) 特殊符号 ()

用于一串命令执行时,()中的内容会在子shell中执行

(6) 特殊符号 {}

用于一串命令执行时,{}中的命令会在当前shell中执行

(7) 特殊符号 []

用于变量的测试

(8) 特殊符号 #

注释一行文本

(9) 特殊符号 $

用于调用变量的值,例如$name得到name的值

(10) 特殊符号 \

转义字符

3.2 Bash快捷键
快捷键作用
ctrl + A将光标移动到命令行开头
ctrl + E将光标移动到命令行结尾
ctrl + C强制终止当前的命令
ctrl + L清屏, 相当于clear 命令
ctrl + U删除或剪切光标之前的命令
ctrl + K删除或剪切光标之后的命令
ctrl + Y粘贴 Ctrl + U 或 Ctrl + K 剪切的内容
ctrl + R在历史命令中搜索
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值