前言

Linux 有八个常用的文本操作命令:catheadtailnlgrepsedmoreless。本文介绍它们的区别和简单用法。

cat命令

显示文本的最基本命令。

cat file
cat /usr/share/metasploit-framework/data/wordlists/passwd.lst

cat命令不是最方便的命令,但却十分快捷。

head命令

该命令将显示文件的前10行(默认情况下)。

head filename

如果你想显示指定的行数,请在head命令后使用-来指定。

head -20 passwd.lst

tail命令

该命令与head命令相反,将显示文件的最后10行(默认情况下)。

tail filename

如果你想显示指定的行数,请在tail命令后使用-来指定。

tail -20 passwd.lst

nl命令

显示带有行号的文件。

nl file

如果你用管道输出到它,它使参考变得更容易。

head -35 passwd.lst | nl

grep命令

可能是使用最广泛的文本处理命令。关于这个命令,有好几本书。

cat file | grep keyword

它可以让你过滤显示文件的内容。

cat passwd.list | grep output

结合前面的命令,让我们查看passwd.lst第20至50行中所有含有23的字词。

head -50 passwd.lst | tail -30 | grep 23 | nl
  • head -50 passwd.lst 表示我们想要显示前50行。
  • tail -30 表示想要从head命令得到的前50行里的最后30行,也就是20-50行。
  • grep 23 将只显示包含23的行。
  • nl将显示行数。

sed命令

这个命令可以让你搜索出现的单词或测试模式,然后对它执行一些操作。类似于Windows中的查找和替换。sed中的命令以单个字母开头。

s是替换命令:

echo "gwyn" | sed 's/gwyn/gps'

让我们使用sedsnort.conf文件中找到mysl的所有实例,并将其替换为MySQL,并将该文件保存为当前目录中的snorttest.conf

sed s/searchterm/replacementterm/occurence

这里的g代表全局,意味着替换发生的所有实例。

sed s/mysql/MySQL/g /etc/snort/snort.conf > snorttest.conf

你可以通过在末尾使用/1/2等来指定你要替换的行的哪一次出现。

我们假设我们有一个textfile.txt文件:

gwyn gps
gwyn gps gps
gwyn gps gps gps

我们如何才能在每一行中只将第二次出现的gps替换为gwyneth

sed s/gps/gwyneth/2 textfile.txt > sample.txt

现在,如果我们想只在第三行中替换第二个出现的内容,该怎么办?我们可以在s命令的前面加上一个数字来表示。

sed 3s/gps/gwyneth/2 textfile.txt > sample2.txt

让我们看看在snort.conf 中,mysql每次出现的地方:

并将第二行中出现的每一个mysql替换为dogs,并将其保存到sample2.txt

more命令

每次显示文件的一页,并允许分页。

more file
more snort.conf

less命令

more命令类似,只不过更加实用。毕竟少即是多。

less file

如果你按下/键,less将允许你在文件中搜索术语。

less snort.conf

在这里,我按下/键,并键入选项:

less带我到第一个发生的地方,按n键是下一个。

总结

就这样吧,我终于开始理解把这些命令连在一起的强大力量了。

Linux系列之文本操作命令的更多相关文章

  1. [Linux] Linux常用文本操作命令整理

    简单的总结一下常用的一些实用的Linux文本操作命令,包括wc(统计).cut(切分).sort(排序).uniq(去重).grep(查找).sed(替换.插入.删除).awk(文本分析). 1.统计 ...

  2. Linux常用文本操作命令整理

    阅读目录 1.统计命令——wc 2.切分命令——cut 3.排序命令——sort 4.去重命令——uniq 5.查找命令——grep 6.替换/查找/删除命令——sed 7.强大的文本分析命令——aw ...

  3. Linux系列教程(十)——Linux文本编辑器vim

    通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...

  4. 跟着鸟哥学Linux系列笔记2-第10章VIM学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...

  5. 跟着鸟哥学Linux系列笔记1

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...

  6. .Neter玩转Linux系列之六:Linux下MySQL的安装、配置、使用

    一.Linux安装MySQL (1)下载安装包:https://dev.mysql.com/downloads/mysql/ (2)解压并安装 命令:tar zxvf 文件名 解压完成之后,重名一下文 ...

  7. Linux系列(17)之系统服务

    我们知道,在我们登陆Linux后,系统就为我们提供了很多服务,比如例行工作调度服务crond.打印服务.邮件服务等.那么这些服务是如何被启动的呢? 这个问题先放一下,接下来我们先了解一下Linux的启 ...

  8. 跟着鸟哥学Linux系列笔记3-第11章BASH学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...

  9. 跟着鸟哥学Linux系列笔记0-如何解决问题

    跟着鸟哥学Linux系列笔记0-扫盲之概念 在发生问题怎么处理: 1.  在自己的主机.网络数据库上查询How-To或FAQ -Linux 自身的文件数据: /usr/share/doc -CLDP中 ...

随机推荐

  1. 【Vue3+Express实战】项目开发环境搭建

    大家好,我是半夏,一个刚刚开始写文的沙雕程序员.如果喜欢我的文章,可以关注 点赞 加我微信:frontendpicker,一起学习交流前端,成为更优秀的工程师-关注公众号:搞前端的半夏,了解更多前端知 ...

  2. 利用java反射机制实现List>转化为List

    BEGIN; 最近在用hibernate做项目,由于后续的业务功能比较多,然后框架原设计没有使用到一对多.一对一等特性,(艹TA妹)没办法,只能用原生sql语句获得需要的结果集.但是返回过来的是一个L ...

  3. YARN线上动态资源调优

    背景 线上Hadoop集群资源严重不足,可能存在添加磁盘,添加CPU,添加节点的操作,那么在添加这些硬件资源之后,我们的集群是不能立马就利用上这些资源的,需要修改集群Yarn资源配置,然后使其生效. ...

  4. spring中的事件发布与监听

    点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人. 文章不定期同步公众号,还有各种一线大厂面试原题.我的学习系列笔记. spring事件发布与监听的应用场景 当处理完一段代码逻辑,接下来需要同 ...

  5. Go学习-基本语法(一)

    前言 一直对Service Mesh相关内容比较感兴趣,后面一路学习了Dcoker.Kubernetes等相关内容,可以说是对基本概念和使用有一定了解,随着开始学习一些相关的组件的时候,发现基本上全部 ...

  6. [操作系统]LINUX进程状态说明

    R(task_running) : 可执行状态 只有在该状态的进程才可能在CPU上运行.而同一时刻可能有多个进程 处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的 ...

  7. SSH只能用于远程Linux主机?那说明你见识太小了!

    开源Linux 长按二维码加关注~ 今天小编为大家分享一篇关于SSH 的介绍和使用方法的文章.本文从SSH是什么出发,讲述了SSH的基本用法,之后在远程登录.端口转发等多种场景下进行独立的讲述,希望能 ...

  8. 探索ABP基础架构-下

    配置应用程序 ASP.NET Core 的配置系统提供了一个基于键值对的配置方法.它是一个可扩展的系统,可以从各种资源中读取键值对,例如 JSON 设置文件.环境变量.命令行参数等等. 设置配置值 默 ...

  9. Spring 源码(16)Spring Bean的创建过程(7)属性填充

    知识回顾 上一篇介绍了Spring中三级缓存的singletonObjects.earlySingletonObjects.singletonFactories,Spring在处理循环依赖时在实例化后 ...

  10. jQuery基础入门+购物车案例详解

    jQuery是一个快速.简洁的JavaScript代码库(或JavaScript框架).jQuery设计的宗旨是"write Less,Do More",即倡导写更少的代码,做更多 ...