sed sed sed

vim模式下

:%s/demon/newdemon/g

#sed -i 's/nologin/login/g' 接文件名 替换关键词

#sed -i '/^SELINUX/s/enforcing/disabled/g' /etc/selinux/config

sed -e '命令' -e '命令'或者sed '命令';'命令' -e是and的意思

sed 's/$/& xxx/g' 在文件末尾加xxx

sed 's/^/&xxx/g' 在文件前加xxx

sed多个语句结合sed 's/%/ /g;s/G/ /g'

在匹配行的下一行加用'//axxxx'

sed '/^\[mysqld\]/alob-bin=bin-log' /etc/my.cnf

sed 's/,/\n/g'  把文档里的逗号换行

将test.txt中所有的回车替换成空格

sed -i ':label;N;s/\n/ /;b label' test.txt

cat test.txt|tr "\n" " "

sed -i ’$d’ file 删除文档最后一行

awk

awk '条件 (action)    NR当前行数,NF当前记录字段个数 $0当前记录

awk 'NR==3 -e NR==5 {print $}

awk -F: '{print $2}'awk -F':' '{if($3+0>500) print $0}' /etc/passwd这个是打印出普通用户

grep

grep 工具,以前介绍过。grep -[acinv]   '搜索内容串'   filename-a 以文本文件方式搜索

-c 计算找到的符合行的次数-i 忽略大小写-n 顺便输出行号

-v 反向选择,即显示不包含匹配文本的所有行

-h 查询多文件时不显示文件名。

-l 查询多文件时只输出包含匹配字符的文件名。

-s 不显示不存在或无匹配文本的错误信息。

grep命令加- E参数,这一扩展允许使用扩展模式匹配。例子:以下为整理的grep 正则表达式的大部分功能,详细参见mangrep: 要用好grep这个工具,其实就是要写好正则表达式,所以这里不对grep的所有功能进行实例讲解,只列几个例子,讲解一个正则表达式的写法。$ ls -l | grep '^a' 通过管道过滤ls -l输出的内容,只显示以a开头的行。$ grep 'test' d* 。$ grep 'test' aa bb cc 显示在aa,bb,cc文件中匹配test的行。$ grep '[a-z]/{5/}' aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。$ gr显示所有以d开头的文件中包含test的行ep 'w/(es/)t.*/1' aa 如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(/1),找到就显示该行。如果用egrep或grep -E,就不用"/"号进行转义,直接写成'w(es)t.*/1'就可以了。grep正则表达式元字符集(基本集)^ 锚定行的开始 如:'^grep'匹配所有以grep开头的行。$ 锚定行的结束 如:'grep$'匹配所有以grep结尾的行。. 匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。* 匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。.*一起用代表任意字符。[] 匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。[^] 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。/(../) 标记匹配字符,如'/(love/)',love被标记为1。/ 锚定单词的结束,如'grep/>'匹配包含以grep结尾的单词的行。x/{m/} 重复字符x,m次,如:'o/{5/}'匹配包含5个o的行。 x/{m,/} 重复字符x,至少m次,如:'o/{5,/}'匹配至少有5个o的行。x/{m,n/} 重复字符x,至少m次,不多于n次,如:'o/{5,10/}'匹配5--10个o的行。/w 匹配文字和数字字符,也就是[A-Za-z0-9_],如:'G/w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。/W /w的反置形式,匹配一个或多个非单词字符,如点号句号等。/b 单词锁定符,如: '/bgrep/b'只匹配grep。关于匹配的实例:grep -c "48" test.txt 统计所有以“48”字符开头的行有多少grep -i "May" test.txt 不区分大小写查找“May”所有的行)grep -n "48" test.txt 显示行号;显示匹配字符“48”的行及行号,相同于 nl test.txt |grep 48)grep -v "48" test.txt 显示输出没有字符“48”所有的行)grep "471" test.txt 显示输出字符“471”所在的行)grep "48;" test.txt 显示输出以字符“48”开头,并在字符“48”后是一个tab键所在的行grep "48[34]" test.txt 显示输出以字符“48”开头,第三个字符是“3”或是“4”的所有的行)grep "^[^48]" test.txt 显示输出行首不是字符“48”的行)

grep "[Mm]ay" test.txt 设置大小写查找:显示输出第一个字符以“M”或“m”开头,以字符“ay”结束的行)

grep "K…D" test.txt 显示输出第一个字符是“K”,第二、三、四是任意字符,第五个字符是“D”所在的行)

grep "[A-Z][9]D" test.txt 显示输出第一个字符的范围是“A-D”,第二个字符是“9”,第三个字符的是“D”的所有的行

grep "[35]..1998" test.txt 显示第一个字符是3或5,第二三个字符是任意,以1998结尾的所有行grep "4/{2,/}" test.txt 模式出现几率查找:显示输出字符“4”至少重复出现两次的所有行

grep "9/{3,/}" test.txt 模式出现几率查找:显示输出字符“9”至少重复出现三次的所有行

grep "9/{2,3/}" test.txt 模式出现几率查找:显示输出字符“9”重复出现的次数在一定范围内,重复出现2次或3次所有行

grep -n "^$" test.txt 显示输出空行的行号

ls -l |grep "^d" 如果要查询目录列表中的目录 同:ls -d *

ls -l |grep "^d[d]" 在一个目录中查询不包含目录的所有文件

ls -l |grpe "^d…..x..x" 查询其他用户和用户组成员有可执行权限的目录集合

find

使用高峰期时尽量少用find,尽量缩小搜索范围,尽量精确搜索关键词find -a (and) -o(or)find /路径 -name 文件名find /路径/*文件名*通配符find /路径/文件名???匹配三个字符find /路径 -iname 文件名 搜索结果包括大写的find -type f文件 d目录 l软连接-inum按节点find / -size +1M k 代表搜索大于100MB的文件 -204800 204800find -maxdeth 1  只查当前一级的目录find /home -user 用户名find /home -group 组名find / -amin访问时间accessfind / -cmin文件属性change(指long下的属性被改了)

find    /   -mmin   -5         # 查找在系统中最后5分钟里修改过的文件

find    /   -mtime   -1       #查找在系统中最后24小时里修改过的文件

du -sh 看文件大小find /etc -size +163840 -a -size -204800find  /etc -name inittab -exec ls -l  {} \;    {}和\之间有空格

find /etc -name inittab |xargs mv {} /tmp/bakcuplocate 文件名Windows上有类似的everythinglocate定期更新,不是在电脑上查找,是在自己的文件库里找,updatedb更新文件库,locate不能查/tmpfind是实时查找locate -i看不分大小写的which查命令所在路径whereis 查命令所在路径,配置文件所在路径grep在文件中查找 -i不区分大小写-i是为了查电脑自己定的目录,通常首字母是大写的#开头的行都是注释,不属于文件grep -v  ^# /etc/inittab 不看带#的行   ^表示行首你会发现下面只有一行有效行。。其他全是注释行

sort

sort -m a.txt c.txt //将两个文件内容整合到一起

uniq -c  统计出现的次数并计数

sort -nr 由大到小排序 -n由小到大排序

vim

:set nu 设置行号 :set nonu定位命令

gg到第一行 G到最后一行

nG到n行  :n到n行

$移动到行尾 0移动到行首

删除命令

x删除光标所在处字符 nx删除光标所在后n个字符

dd删除光标所在行 ndd删除n行

dG删除光标所在行至文件末尾内容

D光标所在处至行尾

:n1,n2d 删除指定范围行

复制和剪切命令

yy复制当前行  nyy复制当前行以下几行 yw复制词组

dd剪切当前行 ndd剪切当前行以下几行 dw删词组

p粘贴在行下 P粘贴在行上

简单来说就是yy和p或者dd和p的组合键

替换和取消命令

r替换光标所在字符 R输入新的字符会替换掉老的字符,按esc退出

u撤销

搜索和搜索替换命令

/youyou 搜索内容 n看下一个 N看上一个

%s/要替换的字符串 /新的字符串 /g(不询问)/c需要确认

起始行,终止行s

:%s:/usr/local/apache:/etc/httpd/:g

保存和退出命令

:wq保存并退出

:w /home/boduo 另存为文件

ZZ 保存修改并退出(即shift+zz)

:q!不保存退出

:wq!保存修改并退出 (文件所有者和root可用)只有r权限时用这个

插入模式有三种i a o

a光标所在字符后插入A在光标所在行行尾插入

i在光标所在字符前插入I在光标所在行行首插入

o在光标下插入新行O在光标上插入新行

vim技巧

:r /home/boduo 导入文件内容

:!which ls 会显示ls存放路径

:r !date 回车导入命令结果

设置快捷键

:map ctrl+v+p I#  回车(大些i为在行首插入)    然后就可以按Ctrl+p在行首加标注

:map ctrl+v+b 0x 回车(0为跳到行首) 然后就可以按ctrl+b删除行首的#号

:map ctrl+v+h imustafayin@icloud.com 然后就可以按ctrl+h插入邮箱

如果你经常编辑shell脚本或者修改配置文件,可以把经常使用的文字设置成快捷键

连续行注释

:set nu

:1,4s/^/#/g

:1.4s/(^)#//g

:1,4s/^/\/\/g

如果经常要在文本中插入很长的文本

命令模式下:ab mymail mustafayin@icloud.com

然后插入模式下输入mymail回车就会变成mustafayin@iCloud.com

要想把快捷键永久保存,需要写成文件

vim /root/.vimrc

mysql四剑客_四剑客,vim相关推荐

  1. mysql curd操作_(四):CURD操作详解(增删改查)

    基本操作:增删改查 一.增 增: insert 介绍: mongodb存储(单位)的是文档,. 文档是json格式的对象. 语法: db.collectionName.isnert(document) ...

  2. MySQL学习笔记(四)

    MySQL学习笔记(四) MySQL外键约束 通过建立外键,设置表与表之间的约束性,限制数据的录入. 主表(class) 序号 部门名称 部门地址 1 市场 北京 2 人事 上海 3 工程 南京 子表 ...

  3. matlab图形绘制经典案例,MATLAB经典教程第四章_图形绘制.ppt

    <MATLAB经典教程第四章_图形绘制.ppt>由会员分享,可在线阅读,更多相关<MATLAB经典教程第四章_图形绘制.ppt(32页珍藏版)>请在人人文库网上搜索. 1.Ma ...

  4. MySql详解(四)

    MySql详解(四) MySql的DML操作 插入: 一.方式一 语法: insert into 表名(字段名,...) values(值,...); 特点: 1.要求值的类型和字段的类型要一致或兼容 ...

  5. 零基础带你学习MySQL—创建表(四)

    零基础带你学习MySQL-创建表(四)

  6. 详解MySQL双活同步复制四种解决方案

    详解MySQL双活同步复制四种解决方案 参考文章: (1)详解MySQL双活同步复制四种解决方案 (2)https://www.cnblogs.com/wuchangsoft/p/10390552.h ...

  7. 数字化方法基础(四)_矩阵操作

    数字化方法基础(四)_矩阵操作 Chapter 7 矩阵操作 利用矩阵实现向量平移 使用矩阵实现向量旋转 如何让图形既平移又旋转 坐标系的旋转 让图形显示在屏幕中心且绕中心转动 全部教程链接: htt ...

  8. mysql数据库启动_MySQL数据库之Mysql启动的方式(四种)

    本文主要向大家介绍了MySQL数据库之Mysql启动的方式(四种) ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 废话不多说了,直奔主题了. mysql的四种启动方式: 1.m ...

  9. 形容语言aab c,形容aab成语有哪些_四字词语 - 成梦词典

    蠢蠢欲动 成语释义:蠢蠢:爬虫蠕动的样子.比喻敌人准备进攻或坏人阴谋捣乱. 高高兴兴 成语释义:由来自乐观的性情或由一些特殊的快乐原因产生的生气勃勃和乐观的高兴情绪. 耿耿于怀 成语释义:耿耿:有心事 ...

最新文章

  1. 下载的VS2017工程编译出错的问题
  2. 招聘职位:ERP咨询顾问(广州、厦门)
  3. NDVI最大值法MVC合成之ArcGIS Cell Statistics 实现
  4. Linux字符界面和图形界面
  5. MySQL字段拼接Concat
  6. mybatis if test 判断参数_什么?你还在if判断参数?Spring Boot 注解进行参数校验真香...
  7. resnet模型的图像分类结构图_ResNet - 2015年 ILSVRC 的赢家(图像分类,定位及检测)...
  8. 基于Web的浮动图片墙
  9. java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View...错误原因和解决方法
  10. 爬虫-scrapy数据的持久化存储
  11. python查询最高分_精通 Oracle+Python,第 1 部分:查询最佳应践
  12. underscore 系列之字符实体与 _.escape
  13. ES6_Day-1-let-const
  14. 社交网络图形可视化工具Gephi使用教程
  15. 精通CSS(5.6.3-end)PixyFairypureCSSToolHintscale
  16. iOS如何让APP删除后不接受APNS推送消息
  17. 历届CSP真题题解-CSP刷真题之路
  18. mac 13.0 自动关机设置
  19. 学习绘制专题地图的收获与心得
  20. 超链接的字体颜色设置

热门文章

  1. 拨测API接口+监控方案
  2. NEC为印度Aadhaar项目提供的生物识别系统注册人数突破10亿
  3. Java实战项目:尚医通,在线预约挂号平台遇到的问题和bug(不断完善)
  4. 蓝桥杯2020年第十一届国赛真题-皮亚诺曲线距离
  5. 实验二 帧中继协议配置
  6. 帧中继frame-relay
  7. 开源网安三款产品入选中国信通院首批《软件供应链厂商和产品名录》
  8. UI一揽子计划 12 (模态ViewController、单例、通讯录实战、)
  9. 不理财也发财的幸福方程式
  10. 360 评估反馈问题的示范案例