关于LINUX的几个指令寻求帮助awk、sed、grep 、vim。关于他们之间的关系,哪位用大白话指点一下迷津,不胜

你是对的,vim、grep、sed 和 awk 已经是 Linux/Unix 世界中古老的神器了。

上周有客户问我,为什么他们的新运维同事总是抱怨这些命令很难用。
我遇到的困境是,2 02 3 年我在上海某商场调试服务器时,由于系统只有一个SSH访问端口,而且我对vim热键不熟悉,导致光标长时间随机跳跃。
最终我还是用传统的点击鼠标选择文本的方法,完全没有效果。

Vim 绝对是文本编辑器之王,但学习曲线确实很陡峭。
我有一个朋友2 02 2 年才学这个,他在杭州花了一个月的时间才学会了gg跳转到文件开头和G跳转到文件末尾的基本操作。
相比之下,记事本这种直接点击打开、移动光标、删除的思路对于Windows用户来说肯定会感到熟悉。

grep函数非常实用,我经常使用它。
例如,2 02 1 年我在北京处理日志文件时,像 grep -r "error" /var/log 这样的命令可以帮助我快速定位问题。
我提到的例子都非常真实:
grep "LINUX" a.txt 查找包含 LINUX 的行
grep -v "LINUX" a.txt 排除 LINUX 行
cat a.txt |使用 grep "LINUX" 管道也很常见
sed 和 awk 都很棒,绝对是命令行世界的“瑞士军刀”。
2 02 2 年夏天,我在深圳做一个项目时,使用awk处理CSV报告比编写Python脚本更快。
例如: 重击 awk -F, '$2 > 1 00 {print $1 , $3 }' data.csv
这会用逗号分隔字段,过滤掉第二列大于 1 00 的记录,并在一行上执行此操作。
sed 擅长文本替换和流编辑。
2 02 3 年初我在成都调试配置文件时,使用 sed -i 's/old/new/g' config.txt 一次性修改配置文件并不是一个好主意。

但说实话,深入使用这些工具需要很长时间。
我有一个同事,2 02 1 年开始研究系统,现在已经可以写不同的宏命令了。
如果您刚刚开始,建议从 grep 开始。
毕竟这是最直观的。
明白了这一点,就可以逐步转向sed和awk,效率会高很多。

Linux中vi和vim命令有什么区别

哎呀,Linux 上的 vi 和 vim,这两个家伙看上去有点相似,但实际上却各有各的做法。
Vi,这是一个老古董。
第一次接触它是在2 009 年,当时我使用的是Linux系统来编辑文本,vi是标配。
有命令模式、输入模式、末行模式三种模式,就像三把钥匙,分别打开三扇门。

例如,如果您想输入文字,只需按 i 进入输入模式即可打字。
键入后,如果要删除字符,请按 x。
如果你想删除整行,只需dd即可。
如果你想保存并退出,只需:wq。
如果您想在不保存的情况下上线,只需:q。
如果无论是否保存都想强制退出,只需:q!。

然后vim就出来了,大概在2 006 年,它是vi的改进版本。
vim 继承了 vi 的所有功能,还添加了新的技巧,如更多热键、多级撤消和多文件编辑。
vim 中的 i 命令也进入插入模式,但多了一个 ESC 键来退出插入模式。

vim中还有一个有用的东西,就是搜索文本,按/,输入你要查找的内容,按回车键查找,然后按n键查找下一个匹配项。

一般来说,vim 有一些比 vi 更好的功能,使其更易于使用且更高效。
说实话,当时我不太明白为什么 vim 这么受欢迎。
后来慢慢习惯了,感觉比vi好。
不过,很多人还是喜欢老古董酒。
毕竟它简单易用。
对于老手来说,有时候 vi 不需要多想就可以直接做。