grep

文本处理工具和正则表达式、SHELL脚本编程

断了今生、忘了曾经 提交于 2020-04-06 03:30:37
一、文本编辑工具VIM ●命令模式 --> 插入模式 i insert, 在光标所在处输入 I 在当前光标所在行的行首输入 a append, 在光标所在处后面输入 A 在当前光标所在行的行尾输入 o 在当前光标所在行的下方打开一个新行 O 在当前光标所在行的上方打开一个新行 ●插入模式 --- ESC-----> 命令模式 ●命令模式 ----:----> 扩展命令模式 ●扩展命令模式 ---ESC,enter---->命令模式 1、进入编辑界面首先为命令模式,按o键切换为插入模式,且光标切换到当前行的 下一行行首另起一行。 2、 进入编辑界面首先为命令模式,按 O键切换为插入模式,且光标切换到当前行的 上一行行首另起一行。 3、进入编辑界面首先为命令模式,按A键切换为插入模式,且光标切换到当前行的 行尾。 4、命令模式输入:r后加文件名称,可将文件内容读到当前文件中。 5、命令模式下输入:!加命令可不退出文本编辑界面执行命令,输入:r!加命令可将执行命令的输出读入到当前光标所在行。 6、命令模式下输入:set number 可显示行号。 7、命令模式下输入:2,4d,表示删除2-4行的内容,:2,4y复制2-4行的内容,在光标所在行按p键即可粘贴内容。(p贴在当前行的后一行,P贴在当行的后一行) 8、搜索替换内容,命令模式下输入,该命令为搜索1-5行的root,将1

马哥博客作业第三周

筅森魡賤 提交于 2020-04-05 17:11:43
grep常用选项总结 grep是Linux中最常用的"文本处理工具"之一,grep、sed和awk合称Linux中的文本三剑客grep命令主要对文本(正则表达式)的行基于模式进行过滤 gerp与正则表达式结合使用时功能很强大 下面对grep常用选项进行解释 为了方便解释我提前建好了一个测试文件 [root@centos8 ~]# cat test.txt clg abc abc clg 123 test abcc ABC TEST123 fghj qwer 首先想要从文件中搜索包含"test"字符串可以使用下面命令 [root@centos8 ~]#grep "test" test.txt test abcc 可以看到包含"test"字符串的行被打印了出来并且带着颜色的 所以在centos8中使用grep命令时不用指定"--color=auto"选项,默认会高亮显示被匹配的关键字 grep命令是区分大小写的,所以在文件中包含大写"TEST"没有被打印出来 如果想在搜索时不区分大小写可以使用"-i"选项 范例如下 [root@centos8 ~]#grep -i "test" test.txt test abcc ABC TEST 123 在搜索时想要知道那一行包含被搜索的字符串时 可以使用"-n"范例如下 [root@centos8 ~]#grep -n "clg" test

跟高手学习LINUX笔记-20

假如想象 提交于 2020-04-03 14:23:14
第20节:条件判断语句和if的使用 本节所讲内容: 20.1 read命令键盘读取变量的值 read命令最主要是读入输入的参数 重要参数 -p:后面跟提示内容 read -p "请输入您的姓名:" $name -t:后面跟个数字,超过此数字的秒数不输入则自动退出 read -t 5 -p "请输入您的姓名:" $name 5秒钟不输入则自动跳出 -s:不显示输入内容,常用于输入密码时 例1: [root@node-1 scripts]# cat test-read.sh #!/bin/bash read -p "Please input your name:" NAME read -p "Please input your age :" AGE cat << eof 你的基本信息如下: 姓名: $NAME 年龄:$AGE eof 20.2 流程控制语句if 流程控制语句if语法: if [ 条件判断 ] then 命令 elif 命令 else 命令 fi 在说明if之前先介绍if中比较的意义 2.1数值的比较 -eq:是否相等 -nq:是否不相等 -gt:是否大于 -lt:是否小于 -ge:是否大于等于 -le:是否小于等于 例2: [root@node-1 scripts]# cat test2.sh #!/bin/bash read -p "input num1 num2 :

linux系统根据关键字查看日志

馋奶兔 提交于 2020-04-02 20:15:27
假设存在日志文件 hrun.log,查询的关键字为"新增用户": 根据关键字查看日志 cat hrun.log | grep "新增用户" 根据关键字查看后10行日志 cat hrun.log | grep "新增用户" -A 10 根据关键字查看前10行日志 cat hrun.log | grep "新增用户" -B 10 根据关键字查看前后10行日志,并显示出行号 cat -n hrun.log | grep "新增用户" -C 10 查看日志前 50 行 cat hrun.log | head -n 50 查看日志后 50 行,并显示出行号 cat -n hrun.log | tail -n 50 说明: -A 表示关键字之后,After -B 表示关键字之前,Before -C 表示关键字前后,Context linux之grep命令 grep是一个多用途的文本搜索工具,linux中使用非常频繁,并且使用很灵活,可以是变量,也可以是字符串。最基本的用法有以下两种: 1.搜索内容中无空格,可以直接执行grep命令,比如:grep pass a.txt,表示在a.txt文件中搜索pass所在的行。 2.如果搜索内容中有空格,则需要使用单引号或者双引号把搜素内容引起来,比如: grep "hello all" a.txt或者grep 'hello all' a.txt

linux shell 检查进程PID

徘徊边缘 提交于 2020-04-02 08:23:54
# # check the pid of such program # checkPid() { if [ -z "`ps x | grep $1 | grep -v grep | grep -v $0 | awk '{print $1}'`" ]; then echo "The $1 program cant run well." fi } 简单说明: ps 报告程序状况。 ps x 显示所有程序,不以终端机来区分。 $1 函数的第一个参数,如: checkPid test , 则: $1 = test,$0 = checkPid test。 grep 查找文件里符合条件的字符串。 ps x | grep $1 显示包含关键字'$1'的程序状况。 ps x | grep $1 | grep -v grep | grep -v $0 去掉本身命令的影响 awk '{print $1}' 将命令执行的显示中抽取数据包并格式化 如: ps x | grep test | grep -v grep | grep -v "checkPid test" 执行后显示为: 12040 pts/1 Ss 0:00 test 那么, ps x | grep test | grep -v grep | grep -v "checkPid test" | awk '{print $1}' 就显示为:

Memcached内存缓存技术

北战南征 提交于 2020-04-01 15:17:06
Memcached是什么,有什么作用? Memcached是一个开源的、高性能的内存缓存软件,从名称上看Mem就是内存的意思,而Cache就是缓存的意思。 Memcached通过在事先规划好的内存空间中临时缓存数据库中的各类数据,以减少业务直接对数据库的访问,从而减轻数据库的访问压力和网站集群的响应速度。 Memcached服务在企业集群架构中应用场景 1.作为数据库的前端缓存应用 完整缓存(易):例如商品分类,以及商品信息,可实现放到内存里,然后再对外提供数据访问。这个被称之为预热。用户访问时可以只读取memcached缓存,不读取数据库了。 热点缓存(难):需要前端程序配合。只缓存热点的数据,即缓存经常被访问的数据。先预热基础数据,然后再动态更新。程序先读取缓存,如果缓存里没有对应的数据,程序再去读取数据库,然后程序把读到的数据放入缓存。 特殊说明: 如果碰到电商秒杀等高并发的业务,一定要事先预热,或者其他思想实现,例如:秒杀只是获取资格,而不是瞬间秒杀到手商品。如果数据更新,要同时触发缓存更新,防止给用户过过期数据。 2.作为集群的session会话共享存储 优点:速度比files块,可以解决共用session问题 缺点:不能持久化,只能单点部署,多点数据无法同步,即使用hash分配节点,也会有session丢失 Memcached服务在不同企业业务应用场景中的工作流程 1

linux命令:文件搜索命令

◇◆丶佛笑我妖孽 提交于 2020-04-01 02:20:58
---恢复内容开始--- 文件搜索命令: which 命令名称: which 命令所在路径 :/usr/bin/which 执行权限:所有用户 语法: which [ 命令名称 ] 功能描述:显示系统命令所在目录,以及别名记录 范例: $which ls 一切皆文件:命令根据权限(路径)可分为两类: 1 , root /sbin /usr/sbin 2 ,普通路径 /bin /usr/bin 此命令可根据查找的命令所在的路径判断其权限。 whereis [ 命令名称 ] 与 which 类似 可以显示系统命令的所在路径以及帮助文档(所在文档) 尽管可以搜索,但应该减少搜索,占用太多资源。所以服务器的规划应该有条理的规划。 文件搜索命令: find 命令名称: find 命令所在路径: /usr/bin/find 执行权限:所有用户 语法: find [ 搜索路径 ] [ 搜寻关键字 ] 功能描述:查找文件或目录(任意) 范例: $find /etc -name init 在目录 /etc 中查找文件或目录 init,精准的搜索。 $find / -size +204800 在根目录下查找大于 100MB 的文件或目录 $find /home -usr samlee 在根目录下查找所有者为 samlee 的文件或目录 -name 根据文件名查找 在根目录下查找,会遍历整个硬盘

ubuntu中彻底删除nginx

♀尐吖头ヾ 提交于 2020-04-01 01:21:29
ubuntu中彻底删除nginx 1.先执行一下命令: 1.1 删除nginx,–purge包括配置文件 1 sudo apt-get --purge remove nginx    1.2 自动移除全部不使用的软件包 1 sudo apt-get autoremove    1.3 罗列出与nginx相关的软件 1 dpkg --get-selections| grep nginx    1 2 3 4 5 执行1.3的结果: stephen@stephen-OptiPlex-390:~$ dpkg --get-selections| grep nginx nginx install nginx-common install nginx-core install    1.4 删除1.3查询出与nginx有关的软件 1 2 3 sudo apt-get --purge remove nginx sudo apt-get --purge remove nginx-common sudo apt-get --purge remove nginx-core   这样就可以完全卸载掉nginx包括配置文件 2.查看nginx正在运行的进程,如果有就kill掉 1 ps -ef | grep nginx   看下nginx还有没有启动,一般执行完1后,nginx还是启动着的,如下: 1 2

C2 shell

家住魔仙堡 提交于 2020-04-01 01:04:31
1.什么是shell? 用户与内核之间的一个接口。最流行和常用的: bash。 2.重定向 > 重定向到另外的文件。0,1,2对一个程序来说是最常用的三个文件描述符! >>是把内容附加到文件的尾部而不会覆盖文件原有的内容。 这命令啥意思? #kill -HUP 1234 >kill.std 2>kill.stderr #kill -l 1234 > kill.std 2>&1 第一条语句的解读:>kill.std等同于1>kill.std,标准输出1是默认的可以不写! 第二条语句的解读: 将标准错误输出2绑定到标准输出1,然后将标准输出重定向到kill.std。 另外一个例子: [chengmo@centos5 shell]$ ls test .sh test1.sh > /dev/null 2>&1 #将错误输出2 绑定给 正确输出 1,然后将 正确输出 发送给 /dev/null设备 这种常用 注意: (1)shell遇到”>”操作符,会判断右边文件是否存在,如果存在就先删除,并且创建新文件。不存在直接创建。 无论左边命令执行是否成功。右边文件都会变为空。很霸道的地方! (2)“>>”操作符,判断右边文件,如果不存在,先创建。以添加方式打开文件,会分配一个文件描述符[不特别指定,默认为1,2]然后,与左边的标准输出(1)或错误输出(2) 绑定。 (3)当命令执行完