linux命令和shell编程
say荣帅
这个作者很懒,什么都没留下…
展开
-
Shell中IF大于等于小于
整数比较-eq 等于,如:if [“a"−eq"a" -eq "a"−eq"b” ]-ne 不等于,如:if [“a"−ne"a" -ne "a"−ne"b” ]gt 大于,如:if [“a"−gt"a" -gt "a"−gt"b” ]-ge 大于等于,如:if [“a"−ge"a" -ge "a"−ge"b” ]-lt 小于,如:if [“a"−lt"a" -lt "a"−lt"b” ]-le 小于等于,如:if [“a"−le"a" -le原创 2021-08-30 10:14:01 · 6245 阅读 · 0 评论 -
Shell:判断变量是否由全数字组成
详细代码如下#!/bin/bash# 要判断的变量var="1234"res=`expr match $var "[0-9][0-9]*$"` # 注意var必须不能为空,否则这里会报错if [ ${res} -gt 0 ]; then echo "is a number"else echo "not a number"fi原创 2021-08-27 17:09:38 · 266 阅读 · 0 评论 -
Shell:用sed命令删除特定行
一、sed命令Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。此处用-i参数实现-i : 直接在文件上编辑 (edit files in place)二、sed命令删除特定行号删除第N行sed -i 'Nd' filename#删除前两行sed -i '1,2d' filename删除最后一行sed -i '$d' filename删除第N~M行sed -i 'N,Md' filename # file的[N,M]行原创 2021-08-27 16:54:41 · 18763 阅读 · 0 评论 -
Shell:自定义函数以及传参
#!/bin/bash # 定义一个叫print的函数function print() { name=$1; age=$2 echo "$name" echo "$age" } # 调用函数print,并传递两个参数 print "李四" 18;原创 2021-08-27 16:27:12 · 631 阅读 · 0 评论 -
Shell:用变量的值作为新的变量名-eval命令
一、需要使用eval命令eval会对后面的命令进行两遍扫描,如果第一遍扫描后,命令是个普通命令,则执行此命令;如果命令中含有变量的间接引用,则保证间接引用的语义。也就是说,eval命令将会首先扫描命令行进行所有的置换,然后再执行该命令。因此,eval命令适用于那些一次扫描无法实现其功能的变量。eval 执行以下两个步骤:第一步,执行变量替换,类似与C语言的宏替代;第二步,执行替换后的命令串。二、实例目的通过变量b获取到hello world 字符串shella=”hello world”原创 2021-08-26 17:51:17 · 1307 阅读 · 0 评论 -
Shell判断文件或目录是否存在
一、文件比较符-e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果 filename为符号链接,则为真 -r filename 如果 filename可读,则为真 -w filename 如果 filename可写,则为真 -x filename 如果 filename可执行,则为真 -s filename 如果 文件长度不为0,原创 2021-07-27 13:06:25 · 6467 阅读 · 0 评论 -
问题解决:tar: Removing leading `/‘ from member names
问题使用tar -zcvf命令压缩绝对路径的文件时,报错如下:tar: Removing leading `/’ from member names解决办法:出现该问题的原因是tar默认为相对路径,使用绝对路径的话就会报这个错,可以只用-P参数解决这个问题。(注意大写)源命令:tar -zcvf ${dir}/${filename}.tar.gz ${dir}/*.log修改后的命令tar -zcvf ${dir}/${filename}.tar.gz ${dir}/*.log-P参原创 2021-07-27 11:00:16 · 1864 阅读 · 2 评论 -
shell脚本中多线程和控制并发数量(包含同一脚本两个不同的并发数量)
正常执行shell脚本中命令正常执行顺序是从上到下#!/bin/bash for(( i = 0; i < ${count}; i++ )) do commands1 done commands2并发执行多线程使命令并发执行,减少等待时间,使用wait作用等待所有在此shell脚本中启动的后台任务完成#!/bin/bash for(( i = 0; i < ${count}; i++ )) do { commands1原创 2021-06-11 16:40:00 · 2001 阅读 · 0 评论 -
vim中自动格式化代码
vim中自动格式化代码全局格式化选择内容格式化全局格式化gg 跳转到第一行shift+v 转到可视模式shift+g 全选按下 =选择内容格式化shift+v或v 转到可视模式上下键选择需要格式化的行按下 =...原创 2021-06-11 16:14:50 · 611 阅读 · 0 评论 -
【Linux】tail命令:查看日志文件
简介显示文件结尾格式;tail[必要参数][选择参数][文件]功能tail命令用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。命令参数-f 循环读取-q 不显示处理信息-v 显示详细的处理信息-c<数目> 显示的字节数-n<行数> 显示行数--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.-q, --quiet, --silent 从不输出给出文件名的首部-s, --sleep原创 2021-01-15 17:13:07 · 3493 阅读 · 1 评论 -
【Linux】grep命令(强大的文本搜索工具)
1. 简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,原创 2021-01-14 16:09:32 · 3119 阅读 · 0 评论 -
【Linux】ps -ef 和 ps -eLf区别
ps -ef只打印进程,而ps -eLf会打印所有的线程原创 2019-11-18 11:33:04 · 5105 阅读 · 0 评论 -
【shell】shell脚本实现监控端口,端口不存在自动重启
服务总是自动挂掉,为解决运维人员不能及时重启,所以写个定时脚本,一分钟监控一次端口是否占用,不占用说明服务挂了,自动重启服务。脚本,以8080端口为例# vim /usr/local/taskStartTomcat.sh#!/bin/shtomcat=`netstat -an | grep ":8080" | awk '$1 == "tcp" && $NF ==...原创 2019-11-08 09:18:18 · 7149 阅读 · 1 评论 -
【shell】shell定时清理日志文件,只保留文件下最近的60个
最近发现服务器磁盘空间使用超过90%,查看原因是起得服务日志很长时间没清理导致的,所以写个脚本,定时清理日志文件,只保存logs文件下最近日期的60个日志文件。脚本如下#vim /testweb/shell/taskClean.sh#!/bin/bashDIR=/testwebFILE_BAK=file_bak# 定时清理日志,保留最近日期的60个文件ls -1t $DIR...原创 2019-11-08 09:05:10 · 4776 阅读 · 0 评论 -
【linux】利用ssh、sshpass和rsync命令,实现免密同步文件,指定非22端口
文章目录rsync安装sshpass安装rsync常用参数说明sshpass命令免密登录,默认22端口# sshpass -p password rsync -avz user@ip:/data/ /data/一行代码完事,免密登录,指定非22端口的其他端口号# sshpass -p password rsync -avz --compress --recursive --bwlimit...原创 2019-08-23 10:02:43 · 6742 阅读 · 2 评论 -
【linux】Linux 常用命令
Linux 常用命令1.tar 解压缩 tar xf name.tartar zxf name.tar.gztar zxf name.tar.ztar xzvf name..tgz2.ps 查看进程ps –e 显示所有进程搜索某一个具体的进程: ps –ef|grep name3.cat 查看文件内容cat file-namezcat file.gz,查看压...原创 2019-10-25 15:15:43 · 3076 阅读 · 0 评论 -
【linux】rsync命令 - 增量备份静态文件,实现容灾
目录静态文件容灾_定时增量同步1. 环境2. sshpass2.1. 应用范围2.2. 安装3. rsync3.1. 应用范围3.2. 安装4. crontab4.1. 应用范围4.2. 安装4.3. 定时任务表达式4.4. 相关命令5. 同步录音文件脚本5.1. 命令详解6. 停止同步脚本7. 创建定时任务8. 运维方...原创 2019-11-07 10:46:06 · 3303 阅读 · 0 评论