常见shell种类

1 Bourne Shell(/usr/bin/sh或/bin/sh)
2 Bourne Again Shell(/bin/bash)
3 C Shell(/usr/bin/csh)
4 K Shell(/usr/bin/ksh)
5 Shell for Root(/sbin/sh)

Bash Shell基础笔记 Linux 第1张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

 切换root管理员

Bash Shell基础笔记 Linux 第2张

 

注释

#!解析器路径
#单行注释
<<BLOCK
多行注释
BLOCK

: '
多行注释
'
name变量命名后面可以为"和‘
echo "¥变量" 一定要双引号
echo打印输出

 

Bash Shell基础笔记 Linux 第3张

 

 

文件系统

 

 Bash Shell基础笔记 Linux 第4张

第一列:
常规文件(-)
目录(d)
链接(l)
特殊档案(c)
套接(s)
命名管道(p)
块设备(b)
第二列代表存储块的数量
第三列代表文件的所有者或具有管理权限的超级用户
第四列代表所有者/超级用户组
第五列代表文件大小
第六列表示创建或最后修改文件的日期和时间
最后一列代表文件或目录的名称
r 读
w 写
x 执行
  • 第一个插位(-)表示由test.sh命名的文件:文件(-)、目录(d),链接(l)
  • 前三个插位(rwx)代表所有者(owner)的权限:文件所有者的权限是读、写和执行
  • 中三个插位代表所属组(group)的权限,r-x代表有读和执行权限,没有写权限
  • 后三个插位代表其他者(others)的权限,同样是读和执行权限,没有写权限

Bash Shell基础笔记 Linux 第5张

r=4,w=2,x=1  因此rwx=4+2+1=7

- 1 表示连接的文件数

 root 表示用户

-root表示用户所在的组

25 表示文件大小(字节)

表示最后修改日期

 test.sh表示文件名

更改权限

 

chmod [class][operator][permission] file_name 
  • class-ugoa表示,其中u表示用户,g表示组,o表示其他,以及a对所有类。
  • operator(+-)用于添加或删除权限。
  • permission由指示符rwx表示,以分别允许访问以读取,修改或运行脚本。

 

路径

  • 单点(.)代表当前目录。
  • 双点(..)代表当前工作目录的父目录。
  • 波浪号(~)代表已登录用户的主目录。

 

命令行参数或特殊变量

  • $0 - 指定要调用的脚本的名称。
  • $1-$9 - 存储前9个自变量的名称,或可用作自变量的位置。
  • $# - 指定传递给脚本的参数总数(计数)。
  • $* - 通过将所有命令行参数连接在一起来存储它们。
  • $@ - 将参数列表存储为数组。
  • $? - 指定当前脚本的进程ID。
  • $$ - 指定最后一个命令或最近执行过程的退出状态。
  • $! - 显示最后一个后台作业的ID。

Bash Shell基础笔记 Linux 第6张

 

 Bash Shell基础笔记 Linux 第7张

 

 

用户输入

 read方式,如果不用read变量默认REPLY

-p 可以在同一行上输入,-sp例如输入密码输入不是明文

read -p PROMPT <variable_name>
read -sp PROMPT <variable_name>

-a     数组

 

 

 Bash Shell基础笔记 Linux 第8张

 

Bash Shell基础笔记 Linux 第9张

 

 日期时间

date '+<format-option-codes><format-option-codes> <format-option-codes>'

符号是`不是'

 Bash Shell基础笔记 Linux 第10张

 

Bash Shell基础笔记 Linux 第11张

 

 

 运算

 Bash Shell基础笔记 Linux 第12张

 

 条件判断

参数直间有空格

Bash Shell基础笔记 Linux 第13张

 

 

 for语句

 Bash Shell基础笔记 Linux 第14张

 

 Bash Shell基础笔记 Linux 第15张

 Bash Shell基础笔记 Linux 第16张

 

 

{START..END..INCREMENT}

 

字符串

Bash Shell基础笔记 Linux 第17张

 

 Bash Shell基础笔记 Linux 第18张

 

if [ -n str1 ]      当串的长度大于0时为真(串非空) 
if [ -z str1 ]      当串的长度为0时为真(空串) 
if [ str1 ]        当串str1为非空时为真

 

Bash Shell基础笔记 Linux 第19张

 

 

Bash Shell基础笔记 Linux 第20张

 

截取

${variable:offset:length}

 

 

参考https://www.yiibai.com/bash

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄