写在最前面
本篇文章整理工作中常用的linux基础命令,将平常的散乱笔记汇总成博客,方便后续更新和查阅,同时预留相关专题以督促自己。本篇是文本内容操作相关知识。
一、 编辑(vi)
三种模式
- 命令模式
- 编辑模式
- 末行模式
模式切换
默认进入命令行模式
- 命令模式进入编辑模式:i/a/o
- 编辑模式进入命令模式:Esc
- 命令模式进入末行模式:: /
退出及保存
- w:保存
- q:退出
- wq:保存退出
- q!:不保存强制退出
光标移动
- 0/^:移动到行首
- $:移动到行尾
- gg:移动到文首
- G:移动到文尾最后一行
- [n]G:移动到第n行
复制
- yy:复制光标所在行
- [n]yy:复制光标所在行后面n行
- p:将缓冲区内容粘贴到光标所在位置
- yw:复制光标所在位置到行尾
- [n]yw:复制光标所在位置开始后面n行
删除
- dd:删除光标所在行
- [n]dd:删除光标所在行后n行
- D:删除光标位置到行尾
- d0:删除光标前一位置到行首
末行模式
- set nu:每一行前面列出行号
- /[keyword]:查找关键字,向前搜索【n:下一个,N:反向下一个】
- ?[keyword]:查找关键字,向后搜索【n:下一个,N:反向下一个】
- 替换
举例如下:
将文本中所有feixun*123替换为PHI!e2eNet4u
1, $s/feixun\*123/PHI!e2eNet4u/g
1表示从第一行开始;$表示最后一行;s是替换命令;*转义;g表示替换每一行所有的,不加的话只替换第一个;
参考:https://blog.csdn.net/zhouzhaoxiong1227/article/details/28657665
撤销&重做
- u:撤销操作
- ctrl+r:恢复撤销操作
更多vi命令可参考linux vi命令详解,linux vi命令大全
二、查看
基本命令
命令 | 说明 |
---|---|
cat | 从第一行开始查看文件内容 |
tac | 从最后一行开始查看文件内容 |
more | 一页一页的显示文本内容 |
less | 与more类似,但可以向前翻页 |
head | 只看头几行 |
tail | 只看尾几行 |
提示:翻页快捷键:f b u d space
思考:linux如何显示一个文件的某几行(中间几行)可参考这里
过滤命令
命令 | 说明 | 备注 |
---|---|---|
grep | 过滤器输出匹配指定模式的行 | 最简单和常用的过滤命令 |
sed | 过滤和转换文本的强大的流编辑器 | |
awk | 卓越的模式扫描和处理语言 | 功能强大,语法复杂 |
- grep详解
参数 | 含义 |
---|---|
-v | 不包括 |
-A | 显示匹配行时,同时显示Append几行 |
-B | 显示匹配行时,同时显示Before几行 |
-C | 显示匹配行时,同时显示前后几行 |
-e | 正则匹配,基础正则 |
-E | 等于egrep,扩展正则 |
-m | 当匹配内容的行数达到后,grep停止搜索 |
多个过滤条件或操作举例
netstat -an | grep -E "ESTABLISHED|CONNECTED"
netstat -an | grep -e "ESTABLISHED\|CONNECTED"
组合操作
命令 | 说明 |
---|---|
wc | 统计行数、字数、字节数等 |
uniq | 报告或删除文件中的重复行 |
sort | 对含内容进行排序 |
cut | 从一个文本文件或者文本流中提取文本列 |