
Linux
Linux相关技术分享。
DB实践
数据库领域从业者,CSDN数据库领域新星创作者,墨天轮技术专家,ACDU成员,拥有丰富的数据库服务经验,主要服务于政府、公安、税务、社保、金融、电力、企业等各大行业。
展开
-
Linux磁盘IO测试工具:fio
fio在Linux系统下使用比较方便,iometer在window系统下使用比较方便,Orion是oracle的IO测试软件,可在没有安装oracle数据库的情况下模拟oracle数据库场景的读写。磁盘IO是检查磁盘性能的重要指标,可以按照负载情况分成照顺序读写,随机读写两大类。是我们关注的内容:磁盘的吞吐量bw,这个是顺序读写考察的重点;磁盘的每秒读写次数iops,这个是随机读写考察的重点。fio 用于测试磁盘性能时,测试之前需要先把要测试的磁盘卸载掉,测试完后需格式化一遍再挂载上去。转载 2023-12-26 16:16:19 · 1075 阅读 · 1 评论 -
dd工具使用及SSD顺序写性能测试
dd if=/dev/zero of=test bs=64k count=16k 是不准确的,可能有数据存在内核缓存中,没有同步到磁盘上。dd if=/dev/zero of=test bs=64k count=4k oflag=dsync or sync 每写一次就写一次磁盘,在实际操作中,可以听到磁盘响声,用时较长;dd if=/dev/zero of=test bs=64k count=16k conv=fsync 较为稳妥,但是时间用时较长,他在dd结束前会写数据和文件元数据到磁盘;转载 2023-08-29 14:56:59 · 979 阅读 · 0 评论 -
Linux7配置网络yum源(163yum源)
【代码】Linux7配置网络yum源(163yum源)原创 2022-08-30 22:17:06 · 813 阅读 · 0 评论 -
Linux下JDK环境变量配置
以CentOS为例,操作系统默认情况下会自带OpenJDK,但通常情况下,我们可能会需要使用自定义的JDK配置,整体配置很简单,按以下命令操作即可。原创 2022-08-22 15:37:45 · 573 阅读 · 0 评论 -
麒麟V10-NUMA关闭
一、海光+麒麟V10和鲲鹏+麒麟V10(1)vi /etc/default/grub文件,调整如下行,增加numa=off:GRUB_CMDLINE_LINUX="resume=/dev/sda1 splash=silent quiet showopts crashkernel=113M,high crashkernel=72M,low numa=off"(2)重新生成grub.cfggrub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg(3)查看是否生效c原创 2022-07-14 16:14:07 · 2278 阅读 · 0 评论 -
麒麟V10系统密码策略修改
1、备份原有配置文件2、设置复杂度策略找到包含pam_pwquality.so模块的行,将原有行注释并修改为如下的新配置,密码长度最少12位,至少包含一个大写字母,一个小写字母,一个数字,一个特殊符号。密码策略具体配置解释参考文件/etc/security/pwquality.confretry=N:定义登录/修改密码失败时,可以重试的次数minlen=N:新密码的最小长度dcredit=N:当N>0时表示新密码中数字出现的最多次数;当N0时表......原创 2022-06-13 09:58:56 · 5307 阅读 · 1 评论 -
在CentOS7中安装Docker
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。CentOS 7 的内核一般都是3.10的,而CentOS 6.X的内核一般都是2.6,在2.6的内核下,Docker运行会比较卡,所以一般会选择升级到3.10版本。原创 2022-03-17 13:35:26 · 1893 阅读 · 0 评论 -
shell编程——Shell多进程简单实现
多进程的方式&,使用wait等待所有进程运行结束。多线程fifo的那个理解起来会比较难。多进程探测http接口,并发数12。进程数不控制的话,会导致系统崩溃。支持控制进程数量,并发进程10个。上万个http接口探测的话,慢。以sleep代替响应慢的情况。原创 2021-11-09 11:36:22 · 1619 阅读 · 2 评论 -
shell编程——Shell批量探测http接口
使用curl探测http接口curl http://www.baidu.com #正常访问echo $?curl -m选项设置超时时间curl http://www.baidu.com:82 #响应超时,卡住curl -m 2 http://www.baidu.com:82 #设置2s超时echo $?curl -s选项静默输出,不会输出下载速度curl -s www.baidu.com >/tmp/aaacurl -v输出接口的请求和响应详细信息c原创 2021-11-09 11:35:31 · 674 阅读 · 0 评论 -
shell编程——Shell批量管理服务器
配置文件格式/data/shell/serverlistjackin_128 192.168.237.128jackin_131 192.168.237.131批量修改主机名OLDIFS=$IFSIFS=$'\n'for line in $(cat /data/shell/serverlist);domyhost=$(echo $line | awk '{print $1}')myip=$(echo $line | awk '{print $2}')e...原创 2021-11-05 16:36:08 · 569 阅读 · 0 评论 -
shell编程——Shell批量下发公钥
sshpass -p 'jackin' ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.237.131 #sshpass自动输入密码。ssh免输入yes,修改/etc/ssh/ssh_config。借助ssh-copy-id来实现公钥上传,需要输入服务器的密码。上千台服务器批量下发公钥,配置文件/root/.host。登录服务器需要有两个步骤,一个输入yes、一个输入密码。生成公钥(锁)、私钥(钥匙),公钥放。ssh免输入密码的实现2,通过密钥。原创 2021-11-05 16:34:32 · 964 阅读 · 0 评论 -
shell编程——统计各个字符出现的次数
使用{a..z}可以循环获取26个小写字母。注意如果统计到正则字符需要加反斜杠\。统计每个字母、每个数字出现的次数。循环统计每个字母出现的次数。把字母打印出来更加直观。原创 2021-11-05 16:33:19 · 3834 阅读 · 0 评论 -
shell编程——find文件查找加动作
linux文件时间,可用stat查看atime #access time访问时间mtime #modify time修改时间,比较常用。内容修改更新这个时间ctime #change time,包含内容修改或者属性修改(文件属主、文件权限)atime不生效原因由于atime频繁更改会对文件io产生影响,因此很多线上系统atime的修改是禁止的。挂载的时候使用noatime根据修改时间查找find /tmp/jackin-type f -mmin +3 #3分钟前修改..原创 2021-11-05 15:30:05 · 295 阅读 · 0 评论 -
shell编程——find文件查找入门
find简单介绍find命令用来搜索指定文件搜索到指定文件后可执行某些动作,例如rm操作文件准备mkdir /tmp/jackin; cd /tmp/jackinfor line in $(seq 10);dotouch file_$linemkdir dir_$linedoneln -s /tmp/jackin/file_10 /tmp/jackin/file_linktouch -d "365 days ago" file_9chown nobod...原创 2021-11-05 14:46:20 · 1835 阅读 · 0 评论 -
shell编程——sed文本替换和应用
示例文本文件/tmp/jackinPort 22 Port 22 Port 22PermitRootLogin yesPort 22PasswordAuthentication yesListenAddress 10.175.201.36sedsedsed//notenousePortsed普通替换cat /tmp/jackin| sed 's/22/1111/g' #全局替换cat /tmp/jackin| sed 's/22/1111/' ...原创 2021-11-05 11:05:57 · 534 阅读 · 0 评论 -
shell编程——sed文本操作入门
sed说明vim可编辑文本,Shell脚本中无法使用vimsed命令可对文本进行更改、删除、添加、打印,可以直接修改文本文件示例文本文件/tmp/jackin.txtPort 22 Port 22 Port 22PermitRootLogin yesPort 22PasswordAuthentication yesListenAddress 10.175.201.36sedsedsed//notenousesed语法sed '过滤+动作' 文件路径原创 2021-11-05 09:23:13 · 286 阅读 · 0 评论 -
shell编程——awk分析nginx日志
cat access.log |awk '{print $4}'|awk -F':' '{print $1":"$2":"$3}'|awk '{count[$1]++}END{for(time in count){print time,count[time]}}' #统计每分钟的请求数。cat access.log|awk '{count[$9]++}END{for(status in count){print status,count[status]/NR*100"%"}}' #比例统计。原创 2021-11-05 09:22:28 · 3046 阅读 · 0 评论 -
shell编程——awk数组循环语法
数组基础数字变量只能定义一个数,数组可以定义多个数数组有索引和值,一般的索引是使用0、1、2递增awk数组也支持使用字符串为索引,类似于字典Shell最简单的数组定义,为什么Shell数组不多讲?numbers[0]=2numbers[1]=4numbers[2]=6numbers[3]=8echo ${numbers[0]} #第一个数echo ${numbers[1]} #第二个数echo ${numbers[n]} #第n+1个数echo ${num原创 2021-11-03 13:59:51 · 1598 阅读 · 0 评论 -
shell编程——awk的判断语法
讲在前面awk语言的语法跟c语言比较类似。示例文本文件/tmp/jackinjackin1 28 hangzhoujackin2 30 shenzhenjackin3 32 shanghaizhangsan1 33 hangzhouzhangsan2 34 foreignzhangsan3 18 beijingawk的判断语法,每种语言都有自己的判断语法awk '{ if(条件){条件成立执行}else{条件不成立执行} }'多条语句,需要以;分隔.原创 2021-11-03 13:53:19 · 3028 阅读 · 0 评论 -
shell编程——awk列处理常用知识
示例文本文件/tmp/jackinjackin1 28 hangzhoujackin2 30 shenzhenjackin3 32 shanghaizhangsan1 33 hangzhouzhangsan2 34 foreignzhangsan3 18 beijingawk的BEGIN、ENDBEGIN{}大括号里: 只运行一次,在文本处理开始前运行{}大括号里: 针对每一行进行处理END{}大括号里: 只运行一次,在文本处理结束后运行举例说明ca.原创 2021-11-03 10:57:35 · 298 阅读 · 0 评论 -
shell编程——awk列处理入门
grep和awkgrep偏向于行处理awk偏向于列处理,会把一行分成多个列awk语言awk同时也是一门编程语言,也有变量、数组、判断、循环等语法,awk内置了很多实用函数要讲解的awk的内容:列处理、列过滤示例文本文件/tmp/jackinjackin1 28 hangzhoujackin2 30 shenzhenjackin3 32 shanghaizhangsan1 33 hangzhouzhangsan2 34 foreignzhangsan3.原创 2021-11-03 09:54:31 · 852 阅读 · 0 评论 -
shell编程——grep命令常用参数
示例文本文件/tmp/jackinjackin1 28 hangzhoujackin2 30 shenzhenjackin3 32 shanghaizhangsan1 33 hangzhouzhangsan2 34 foreignzhangsan3 18 beijingbegin asknamejackinor justdoitlisi1lisi2#mark#mark2jackingrep反向查找cat /tmp/jackin| gr...原创 2021-11-03 09:47:00 · 433 阅读 · 0 评论 -
shell编程——扩展正则表达式
正则表达式种类普通正则表达式,定了一些基础的符号及其含义扩展正则表达式,除了基础的符号,又扩展了更多的符号 + ?示例文本文件/tmp/jackinjackin1 28 hangzhoujackin2 30 shenzhenjackin3 32 shanghaizhangsan1 33 hangzhouzhangsan2 34 foreignzhangsan3 18 beijingjackin.testjackin888jackinjackinABC.原创 2021-11-03 09:45:24 · 286 阅读 · 0 评论 -
shell编程——grep和普通正则表达式
文本处理三剑客grep awk sed示例文本文件/tmp/jackinjackin1 28 hangzhoujackin2 30 shenzhenjackin3 32 shanghaizhangsan1 33 hangzhouzhangsan2 34 foreignzhangsan3 18 beijingjackin.testjackin888ABCDEFGwhoami#mark1#mark2mark3#test test中国.原创 2021-10-26 10:51:24 · 313 阅读 · 0 评论 -
shell编程——函数的退出码和应用
脚本的退出码使用exit或者以最后命令的退出码为准函数使用return定义退出码,0表示正常,非0表示异常。无return以最后一条命令function echo_name_age(){name=$1age=$2echo "name is $name, age is $age"return 6}echo_name_age jackin27echo $?使用函数检查rpm包是否已安装#check rpm package is n...原创 2021-10-18 10:29:14 · 369 阅读 · 0 评论 -
shell编程——Shell编程之函数
Shell函数模块化函数只定义,不执行函数定义完后可以被多次调用函数名函数名的命令规则跟变量名是一样的函数的语法function 函数名(){#具体的功能}函数定义function,但Shell中function可有可无function echo_hello(){echo "hello world"echo "jackin"}echo "call function one"echo_hello #调用echo...原创 2021-10-18 10:28:23 · 300 阅读 · 0 评论 -
shell编程——循环的break和continue
Shell循环中的break和continue,语法适用于while、forbreak直接结束循环,循环立即退出continue可以用来跳过一次循环,跳过后循环继续,直到循环停止break语法for line in lisi jackinxiaoming xiaohong noname;doecho $lineif [ "$line" == "jackin" ];thenbreakfidonecontinue用来跳过一次循环for l...原创 2021-10-18 10:27:21 · 576 阅读 · 0 评论 -
shell编程——Shell脚本之for循环
Shell的for循环for循环对于批量管理服务器非常有用for默认以所有的空白字符进行分隔:tab、空格、回车,去循环处理for循环语法,分隔成几段就循环几次for line in xxx yyy zzz; do#循环处理每个字符串,循环三次done输出jackin001到jackin100for line in $(seq -w 100);doecho "jackin$line"done一个字符串一个字符串处理for name in j...原创 2021-10-18 10:02:19 · 2295 阅读 · 0 评论 -
shell编程——Shell脚本之while循环
Shell循环Shell循环有while循环、for循环while循环偏向于解决有规律的问题,输出从1到100for循环偏向于解决重复性的问题,循环处理文本中的每一行while循环和if判断共同点和区别while循环也有条件判断,当条件成立的时候,会循环执行。当条件不成立退出if判断当条件成立时,会执行一次,然后退出。当条件不成立时直接退出if判断语法if 条件;thenecho "jackin"echo "run"fiwhile循环语法whi...原创 2021-10-18 10:01:24 · 3807 阅读 · 0 评论 -
shell编程——Shell运算符和命令行传参
let命令实现简单运算,不支持浮点数number=1+1 #shell默认是字符串echo $numberlet number=4+2echo $numberlet number=4-2 #减echo $numberlet number=4*2 #乘echo $numberlet number=4/2 #除echo $numberlet number=4%2 #余echo $numberlet number=2**10 #指数运算echo $numbe原创 2021-10-18 09:59:33 · 785 阅读 · 0 评论 -
shell编程——Shell读取用户输入
读取用户输入选择性输入,例如yes or no密码输入,不适合回显read命令读取用户输入,输入的内容放到变量里read nameecho "read name, name is $name"read ageecho "read age, age is $age"read命令的返回值,只有输入ctrl+d才会返回非0read nameecho $?read -p选项可提示用户输入啥内容read -p "Please input your name:原创 2021-10-18 09:58:52 · 4447 阅读 · 0 评论 -
shell编程——Shell多重判断及优化
多重判断语法elif,else if。只能选1if 条件1; then#命令,条件1成立执行elif 条件2;then#命令,条件1不成立,条件2成立执行elif 条件3;then#命令,条件1不成立,条件2不成立,条件3成立执行else#命令 ,以上条件都不成立执行fi案例如下,只能进入一个命令块number1=100if [ $number1 -le 0 ];thenecho "$number1 <= 0"elif [...原创 2021-10-18 09:58:11 · 3589 阅读 · 0 评论 -
shell编程——Shell的复杂判断
Shell复杂判断复杂判断:判断多个条件多个条件其中一个成立多个条件都要成立复杂判断语法|| #或的意思,两个条件只要一个条件成立就好&& #与的意思。两个条件都要成立复杂判断使用,或判断name="nonono"if [ "$name" == "jackin" ] || [ "$name" == "justdoit" ];thenecho "$name is my want"elseecho "in else"fi...原创 2021-10-18 09:57:12 · 1294 阅读 · 0 评论 -
shell编程——Shell条件判断之文件判断
文件、目录、权限判断语法-e "$path" #判断文件或目录是否存在 exits-f "$path" #判断文件是否存在 file-d "$path" #判断目录是否存在 directory-w "$path" #判断是否可写 write-r "$path" #判断是否可读 read-x "$path" #判断是否可执行 execute文件判断测试[ -e "/etc/passwd" ]echo $?[ -e "/etc/" ]echo $?[ -e "原创 2021-10-18 09:56:22 · 2492 阅读 · 0 评论 -
shell编程——Shell条件判断之字符串判断
条件判断语法if 条件; then#条件成立执行的命令,可以有多个命令else#条件不成立执行的命令,可以多个命令fi条件判断之字符串判断$str1 == $str2 #字符串是否相等$str1 != $str2 #字符串是否不相等-z "$str" #字符串长度是否为0 zero-n "$str" #字符串长度是否不为0 not zero条件判断之字符串判断测试[ "jackin" == "jackin" ]echo $?[ "j...原创 2021-10-18 09:54:54 · 10780 阅读 · 0 评论 -
shell编程——不同shell语法及判断实战
Bash Shell数字判断案例number1=3number2=3if [ $number1 -eq $number2 ];thenecho "$number1 equal $number2"echo "jackin"elseecho "$number1 not equal $number2"fi为什么说每种Shell的语法不一样?底下为c shell判断的语法if ( 3 == 3 ) thenecho "3 equal 3"ech...原创 2021-10-18 09:53:32 · 405 阅读 · 0 评论 -
shell编程——Shell条件判断之数字判断
条件判断之前顺序执行无语法条件判断、循环判断、函数等都要有语法条件判断可以控制命令的运行,不再是单纯的按顺序执行学习条件判断之前需要先了解Shell返回值Shell的返回值,运行一条命令,都会有一个返回值。0代表执行正常,非0代表命令执行异常ls /echo $? #返回值放到$?变量中ls /nonononoecho $?自编写Shell脚本如何设置返回值显示使用exit没有使用exit的话,以最后一条命令的返回值作为脚本的返回值Bash S原创 2021-10-18 09:52:06 · 3352 阅读 · 0 评论 -
shell编程——Shell的字符串拼接
Shell定义字符串,建议值使用双引号name=jackinecho $namename='jackin'echo $namename="jackin"echo $name字符串拼接name="jackin"echo "my name is $name" #拼接成功echo 'my name is $name' #单引号里面无法使用变量echo "my name is $name666" #拼接失败echo "my name is ${name}666原创 2021-10-18 09:49:31 · 5738 阅读 · 0 评论 -
shell编程——Shell脚本中的变量
编程界中的变量变量,字面上含义就是可变化的量与变量相对应的是常量,常量例如"Hello World",不可改变的变量可以给个变量名,假如为name,值是可变的变量具有变量名Shell脚本每个变量都有一个变量名,变量名有它的命名规则命名规则:必须由大写字母、小写字母、下划线、数字,并且首字母不能是数字1name 不符合要求nam,e 不符合要求my_name 符合要求_name 符合要求建议:变量名要有个含义,别人看到你的变量名,就要能大概知道这个变量是用来干嘛原创 2021-10-18 09:48:15 · 737 阅读 · 0 评论 -
shell编程——Shell脚本注释和顺序执行
bash shell脚本中的注释#!/bin/sh#jackin20181109 hello worldecho "Hello World!" #hello worldShell脚本的顺序执行,无语法/data/shell/order.shecho "jackin"ls -lh /df -h顺序执行编写apache的yum安装脚本/data/shell/install_httpd.shyum install httpd -ysystemctl sta...原创 2021-10-18 09:46:40 · 311 阅读 · 0 评论