- 博客(17)
- 收藏
- 关注
原创 shell脚本中变量替换
shell脚本中变量替换如果变量字符前面使用感叹号,可以实现对变量的间接引用,而不是返回变量本身的值,但只能实现一层间接引用[root@mao_aliyunserver ~]# god=mao[root@mao_aliyunserver ~]# people=god[root@mao_aliyunserver ~]# echo ${people}god[root@mao_aliyunserver ~]# echo ${!people}mao变量替换可以测试变量是否存在及是否为空,并
2022-02-18 23:58:07 1780
原创 shell脚本中的花括号扩展
shell脚本中的花括号扩展在shell脚本中可以在花括号中使用一组以逗号分隔的字符串或者字符串序列来进行字符串扩展,最终输出的结果为以空格分隔的字符串(整数也可)[root@mao_aliyunserver bin]# echo {1..10}1 2 3 4 5 6 7 8 9 10[root@mao_aliyunserver bin]# echo {a..z}a b c d e f g h i j k l m n o p q r s t u v w x y z使用花括号扩展时花括号
2022-02-17 12:55:18 825
原创 shell脚本中命名管道
shell脚本中命名管道管道是进程间通信的一种方式,使用|符号就是创建了一个匿名管道,但匿名管道只能实现父进程与子进程之间的通信。要实现任意两个进程之间的通信,需要使用命名管道,命名管道也叫FIFO文件命名管道特征FIFO文件创建后在文件系统中可以直接看到写入FIFO文件中的数据一旦被读取后,就不可以重复读取进程往FIFO文件中写数据时,如果没有其他进程读取数据,则写数据的进程会被阻塞,直到有其他进程读取数据进程从FIFO文件中读数据时,如果FIFO文件中没有数据,则读数据的进程会被阻塞,直到
2022-02-14 23:10:26 1292
原创 shell脚本中文件描述符
shell脚本中文件描述符文件描述符特征文件描述符是一个非负整数,内核需要通过这个文件描述符才可以访问文件当在系统中打开已有的文件或者新建文件时,内核每次都会给特定的进程返回一个文件描述符,进程需要对文件进行读或写操作时,都要依赖这个文件描述符文件描述符就像一个索引,指向系统中对应的文件内核默认为每个进程创建3个标准的文件描述符,分别为0标准输入、1标准输出、2标准错误文件描述符中还包含有很多文件相关的信息,如权限、文件偏移量等。使用文件描述符读写文件要注意文件偏移量指针的变化情况查看文件
2022-02-11 19:48:10 1125
原创 shell脚本中[[ ]]和[ ]的区别
shell脚本中[[ ]]和[ ]的区别及注意事项[[ ]]和[ ]的区别一. test和[]是符合posix标准的测试语句,兼容性相对更强,几乎可以运行在所有的shell解释器中二. [ ]同时支持多个条件的逻辑测试,但在[ ]需要使用-a或-o,在[[ ]]中可以直接使用&&和||。且&&和||短路,-a和-o不短路[ ]中使用-a或-o[root@mao_aliyunserver bin]# cat test.sh #!/bin/basha=$1b
2022-02-10 21:44:14 1692 1
原创 对字符串变量取值的处理一
shell中对字符串变量取值的处理一定义字符串变量table_name='maomao_table_temp_20220106'获取变量字符串长度# ${#变量名}echo ${#table_name} # 结果: 26字符串变量的位数截取# 从左边开始截取 ${变量名:起始位置:截取位数};字符串就相当于字符数组,从0开始计算位数echo ${table_name:7:5} # 结果: table# 可以将截取位数省略,就相当于截取从起始位置开始直到末尾的字符echo ${tab
2022-01-06 23:56:41 535
原创 linux&shell-sed编辑器基础(概述)
sed流式编辑器sed基础-运行流程一次从输入读入一行数据根据所提供的的编辑器命令匹配数据按照命令修改流 中的数据将新的数据输出到标准输出sed基础-基本语法# sed 【选项】 【脚本命令】 【文件名】 #例:sed -e '/miao/d' file.txtsed基础-语法解析常用选项选项作用实例-e指定多个脚本对文本文件进行处理sed -e ‘/mao/s/m/M/g’ -e ‘/mao/s/a/A/g’ file.txt-f指定使用
2022-01-04 23:08:53 94
原创 git常用命令
git常用命令git-参数设置命令作用备注git config --global user.name 用户名设置全局用户名,信息记录在~/.gitconfig文件中git config --global user.email 邮箱设置全局邮箱地址,信息记录在~/.gitconfig文件中git init初始化本地仓库git remote add origin 仓库链接将本地仓库和远程仓库关联ssh方式需要部署个人公钥到远程仓库,http方式需要账号
2021-12-26 00:45:19 95
原创 shell语法-2
shell语法-ssh登录配置#ssh命令登录到别的机器执行命令ssh 用户名@ip#给ssh命令的用户名配置别名:在.ssh文件夹中创建config文件,添加配置信息Host 别名 HostName IP地址或域名 User 用户名 使用别名登录:ssh 别名#配置免密登录,创建秘钥ssh-keygen#将公钥分发到想免密登录的服务器中ssh-copy-id 别名#最终ssh登录命令,默认登录端口22ssh 别名shell语法-ssh执行命令#命令格式
2021-12-25 17:54:22 521
原创 shell语法-1
shell语法-注释单行注释#这是一行注释多行注释:<<EOF 这是shell的第一行注释 这是shell的第二行注释 这是shell的第三行注释EOFEOF可以换成任意字符shell语法-变量定义变量#默认变量定义为字符串,且定义变量时,等号两边不能有空格a='maomao'b="maomao"c=maomao定义只读变量readonly a='maomao'declare -r b='maomao'#补充#de
2021-12-25 15:40:49 154
原创 tmux和vim
tmux教程tmux功能分屏,写shell时同时调试允许断开连接后,继续运行进程tmux结构tmux操作tmux可能需要自己安装1、tmux:新建一个session,其中包含一个window,window中包含一个pane,pane里打开了一个shell对话框2、按下Ctrl + b后手指松开,然后按%:将当前pane左右平分成两个pane3、按下Ctrl + b后手指松开,然后按"(注意是双引号"):将当前pane上下平分成两个pan4、Ctrl + b:关闭当前pane
2021-12-20 22:16:50 160
原创 数据存储之HBase的RowKey设计
HBase的RowKey设计需要根据具体的数据进行设计,一般来说需要依据的设计原则有三个:长度原则:避免没有必要的资源消耗散列原则:避免热点问题,也是RowKey设计主要考虑的地方唯一原则:保证RowKey不重复RowKey长度原则RowKey的长度一般设计为定长,越短越好。如果RowKey设计得过长容易引发以下问题: 第一、RowKey太长容易过多占用memorystore和磁盘空间,导致我们需要存储的数据使用的资源减少 第二、RowKey过长Client缓存元数据的条数会变少,导
2021-06-03 21:48:29 751 2
原创 数据存储之HBase数据读写流程
HBase写数据流程写数据流程:client访问zookeeper,获取元数据表位于哪个regionserver前往目标regionserver,拿到元数据表并根据rowkey等信息查询出数据应该位于哪个regionserver的哪一个region中,并将这个表的region信息以及meta表的位置信息缓存在客户端的meta cache,以便下次访问与目标regionserver通信将写入操作顺序写入(追加)到WAL将数据写入对应的memstore,数据会在memstore中进行排序向客户
2021-06-01 23:28:38 315 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人