随笔分类 -  shell

摘要:在日常编程过程中,我们经常需要在一个比较大的文件中定位到某一行进行修改或查看。在Linux系统中,有很多种方法可以实现这个操作,例如使用文本编辑器、grep命令等。本文将从多个角度分析如何在Linux中跳转到文件指定行。 一、使用vim编辑器 vim是Linux系统中一个非常常用的文本编辑器,它有很 阅读全文
posted @ 2024-02-24 17:14 陈晓猛 阅读(1536) 评论(0) 推荐(0) 编辑
摘要:使用脚本统计字符串出现次数 #!/bin/bash # 获取要监控的本地服务器IP地址 IP=`ifconfig | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}'` echo "IP地址:"$IP # 获取cpu总核数 cpu_n 阅读全文
posted @ 2024-02-22 19:40 陈晓猛 阅读(442) 评论(0) 推荐(0) 编辑
摘要:linux之查找包含指定内容(字符串)的文件 文件内容包含指定字符串 find . | xargs grep string 查找当前目录下文件内容包含字符串string的文件为什么要这样写,因为管道命令符是把上一部的结果传递给下一步来处理,在 find . | grep string中虽然看似和fi 阅读全文
posted @ 2022-03-22 22:10 陈晓猛 阅读(9365) 评论(0) 推荐(0) 编辑
摘要:1. 为什么需要xargs命令 1.1 管道|的缺陷 管道实现的是将前面的输出stdout作为后面的输入stdin,但是有些命令不接受管道的传递方式。例如:ls,这是为什么呢? 因为有些命令希望管道传递过来的是参数,但是直接使用管道有时无法传递到命令的参数位。这时候就需要xargs,xargs实现的 阅读全文
posted @ 2022-03-22 17:41 陈晓猛 阅读(7161) 评论(0) 推荐(1) 编辑
摘要:1:搜索某个文件里面是否包含字符串,使用grep "search content" filename1 eg:搜索、查找utlspadv.sql文件中包含ORA的字符内容 [oracle@DB-Server admin]$ grep "ORA" utlspadv.sql -- ORA-XXXXX: 阅读全文
posted @ 2021-12-13 17:11 陈晓猛 阅读(1269) 评论(0) 推荐(0) 编辑
摘要:linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。 本文中假设inittab中设置的init tree为: /etc/rc.d/rc0.d/etc/rc.d/rc1.d/etc/rc.d/rc2.d/etc/rc.d/rc3.d/etc/rc.d/rc4 阅读全文
posted @ 2021-12-13 16:46 陈晓猛 阅读(1223) 评论(0) 推荐(0) 编辑
摘要:sed替换的基本语法为: s后面跟的是分隔符,原字符串可使用.*这种正则表达式进行整行替换 sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义,但是单引号”‘”是没有办法用反斜线”\”转义的,这时候只要把命令中的单引号改为双 阅读全文
posted @ 2021-12-13 16:36 陈晓猛 阅读(3901) 评论(0) 推荐(1) 编辑
摘要:可以使用shell脚本做菜单列表 根据自己的需求去选择当前想要做的事情 echo ' ###############便捷骚操作############### ' i=1 while((i <= 10000)) do function menuList { echo ' 菜单列表: 一: Panel 阅读全文
posted @ 2021-10-14 20:27 陈晓猛 阅读(1388) 评论(0) 推荐(0) 编辑
摘要:利用传递参数的形式对当前的内容进行测试 #!/bin/sh Interval=5 A=1000 Free=`cat /proc/meminfo|grep "MemFree" | awk '{print $2}'` if [ ! -f "pidconf" ] then echo "FILE pidco 阅读全文
posted @ 2020-07-08 11:24 陈晓猛 阅读(360) 评论(0) 推荐(0) 编辑
摘要:USB的读写 先把对应大小的文件放在tmp,然后拷贝到指定地址 #!/bin/sh #mkdir /sda #mkfs.ext4 /dev/sda1 #mount -t ext4 /dev/sda1 /sda count=1 while [ 1 ]; do md5_usb=c33f04ad3d677 阅读全文
posted @ 2020-05-06 13:57 陈晓猛 阅读(454) 评论(0) 推荐(0) 编辑
摘要:这边科普一下sync 写缓存命令——sync 在用reboot命令启动unix系统后,系统提示出错信息,部分应用程序不能正常工作。经仔细检查系统文件,并和初始的正确备份进行比较,发现某些文件确实被破坏了,翻来覆去找不到文件遭破坏的原因,最后想到了写缓存命令——sync,在reboot前没有运行syn 阅读全文
posted @ 2020-04-02 21:00 陈晓猛 阅读(288) 评论(0) 推荐(0) 编辑
摘要:ping 192.168.2.1 -c 10 | awk '{ print $0"\t" strftime("%H:%M:%S",systime()) } ' ping加时间戳回复 阅读全文
posted @ 2019-08-13 13:39 陈晓猛 阅读(624) 评论(0) 推荐(0) 编辑
摘要:1.测试CPU,最高CPU,最低CPU,平均CPU,单个进程如wlan的CPU占比,脚本后面接的第一个参数是要打印cpu的次数,第二个是sleep多久,第三个参数是记录当前数据的路径path #!/bin/sh if [ $# != 3 ];then echo "wrong parameter!" 阅读全文
posted @ 2019-08-08 16:39 陈晓猛 阅读(331) 评论(0) 推荐(0) 编辑
摘要:1.往磁盘内写入东西后再擦掉再写入 阅读全文
posted @ 2019-07-03 16:29 陈晓猛 阅读(386) 评论(0) 推荐(0) 编辑
摘要:1.累计增加设备,尽量多增加设备 先从要连接的设备那边获取到 pro_id root@ROUTER:~# postgres -u postgres -d loraserver_ns 查看当前设备的loraserver_ns的地址 将上面的device_profile_id作为脚本的第一个参数,第二个 阅读全文
posted @ 2019-07-03 09:43 陈晓猛 阅读(801) 评论(0) 推荐(0) 编辑
摘要:cat /proc/17616/cmdline 17616代表进程号 用这个可以完整打印出当前的进程的全名 当前shell的进程号。你可以使用ps -A 看你自己shell 的pid。是内置变量。$#传递到脚本的参数个数$*以一个单字符串显示所有向脚本传递的参数,与位置变量不同,此选项参数可超过9个 阅读全文
posted @ 2019-07-01 20:19 陈晓猛 阅读(307) 评论(0) 推荐(0) 编辑
摘要:参考链接 https://blog.csdn.net/zong596568821xp/article/details/77899454 kill + PID kill -9 + PID 加上-9 是强制终止的信号 killall 是直接加进程名(但是进程名一定要完整) 就能杀掉这些进程 1) 查看进 阅读全文
posted @ 2019-05-15 09:32 陈晓猛 阅读(5717) 评论(0) 推荐(0) 编辑
摘要:sh: missing ] if 条件语句 “或”多个条件并行时 执行then命令 变量a等于aa且变量b等于bb 或者 变量c等于cc且变量d等于dd 这样的条件成立的话,输出success if [ $a = "aa" -a $b = "bb" ] || [$c = "cc" -a $d = " 阅读全文
posted @ 2019-05-14 20:56 陈晓猛 阅读(308) 评论(0) 推荐(0) 编辑
摘要:脚本1: 用于测试重启后识别hostapd两个进程,如果当前正常识别到两个进程,则重启设备,重复进行识别进程,知道进程识别有误之后,会退出,往text.txt内写入识别异常的时间 #!/bin/sh sleep 30 count=`ps | grep hostapd | grep -v grep | 阅读全文
posted @ 2019-04-23 16:29 陈晓猛 阅读(463) 评论(0) 推荐(0) 编辑