首页 > 其他分享 >Liunx基础知识 -- 9 文本操作

Liunx基础知识 -- 9 文本操作

时间:2023-03-10 16:22:29浏览次数:153  
标签:文件 -- 基础知识 etc Liunx conf mysql 我们 snort

正如我在之前的 Linux 教程中多次提到的,Linux 中几乎所有的东西都是一个文件,而且它们通常是文本文件。例如,Linux 中的所有配置文件都是文本文件。要在 Linux 中重新配置应用程序,我们只需打开配置文件,更改文本,重新保存,然后重新启动应用程序,我们的重新配置就会应用。

对于如此多的文本文件,处理文本在管理 Linux 和 Linux 应用程序中变得至关重要。在本教程中,我们将了解一些在 Linux 中处理文本的命令和技术。

 

出于演示目的,我们将使用来自世界上最好的网络入侵检测系统 (NIDS) Snort 的文件。

第 1 步:cat 那个文件

正如之前教程中所演示的,cat 可能是最基本的文本显示命令。让我们 cat 在 /etc/snort 中找到的 Snort 配置文件。

 

kali > cat /etc/snort/snort.conf

 

 

 如您所见,snort.conf 一直显示在我们的屏幕上,直到到达文件末尾。这不是使用此文件的最方便或最实用的方法。

 

 

 第 2 步:取头部

如果我们只想查看一个文件的开头,我们可以使用 head 命令。默认情况下,此命令显示文件的前 10 行。

 

kali > head /etc/snort/snort.conf

 

 如果我们想看到多于或少于默认的 10 行,我们可以通过将我们想要的行数(使用 - 开关)放在命令和文件名之间来告诉 head 我们想要看到多少行。

kali > head -20 /etc/snort/snort.conf

 

 在这里我们可以看到只显示了 snort.conf 的前 20 行。

第 3 步:抓住那条尾巴

与 head 命令类似,我们使用 tail 命令查看文件的最后几行。让我们在 snort.conf 上使用它。

 

kali > tail /etc/snort/snort.conf

 

 请注意,它显示了一些规则文件的最后“包含”,但不是全部。现在让我们看看是否可以通过抓取 snort.conf 的最后 20 行来显示所有“包含”规则。

kali > tail -20 /etc/snort/snort.conf

现在我们可以在一个屏幕上查看几乎所有的规则。

 

 第 4 步:对这些行进行编号

有时——尤其是对于非常长的文件——我们可能希望文件显示有行号。snort.conf 可能就是这种情况,因为它有 600 多行。这样可以更轻松地引用更改并返回到文件中的同一位置。要显示带有行号的文件,我们只需键入

kali > nl /etc/snort/snort.conf

 

 

 请注意,现在每一行都有一个编号,使引用变得更加容易。

第 5 步:grep

在 cat 之后,grep 可能是使用最广泛的文本操作命令。这是一个过滤命令;换句话说,它使我们能够过滤文件的内容以供显示。例如,如果我们想查看 snort.conf 文件中出现单词“output”的所有实例,我们可以要求 cat 仅显示出现它的那些行,方法是键入:

kali > cat /etc/snort/ snort.conf | grep output

 

 此命令将首先获取 snort.conf,然后将其“管道”(|) 到 grep,它将其作为输入,然后查找出现的单词“输出”并仅显示这些行。Grep 是在 Linux 中工作的强大且必不可少的命令,因为它可以节省我们搜索每个出现的单词或命令的时间。

第6步: sed

sed 命令本质上允许我们搜索单词或文本模式的出现,然后对其进行一些处理。这个名字来自流编辑器的概念,是这两个词的缩写。在其最基本的形式中,sed 的操作类似于 Windows 中的查找和替换功能。让我们使用 grep 在 snort.conf 文件中搜索单词“mysql”。

cat /etc/snort/snort.conf | grep mysql

 

 我们可以看到 grep 命令找到了两次出现的单词 mysql。

假设我们希望 sed 将每次出现的 mysql 替换为 MySQL(记住,Linux 区分大小写),然后将新文件保存到 snort2.conf。

我们可以通过键入以下内容来做到这一点:

kali > sed s/mysql/MySQL/g /etc/snort/snort.conf > snort2.conf

 

 这个命令说,“搜索单词 mysql 并在全局范围内用单词 MySQL 替换它(即在文件中找到它的任何地方)。”

cat /etc/snort/snort2.conf | grep MySQL

现在,当我们对 mysql 进行 grep snort2.conf 时,我们发现没有找到任何内容,而当我们对 MySQL 进行 grep 时,我们发现有两次出现 MySQL。

如果我们只想替换单词 mysql 的第一次出现,我们可以省略尾随 g(代表全局),它只会替换第一次出现的地方。

kali > sed s/mysql/MySQL/ snort.conf > snort2.conf

sed 命令也可用于查找和替换单词的任何特定出现。例如,如果我只想替换单词 mysql 的第二次出现,我可以简单地将出现的次数放在命令的末尾,sed 只会将单词“mysql”的第二次出现替换为“MySQL” .

kali > sed s/mysql/MySQL/3 snort.conf > snort2.conf

第 7 步:少即是多

虽然 cat 是显示文件和创建小文件的好工具,但在显示大文件时它肯定有缺点。当我们 cat snort.conf 时。它滚动浏览许多页面,直到结束。不太实用。

为了处理更大的文件,我们还有两个其他实用程序,more 和 less。更多是第一位的,是手册页使用的实用程序。让我们用更多命令打开 snort.conf。

 

more /etc/snort/snort.conf

 

 请注意,more 仅显示第一页,并在左下角为我们显示显示了多少文件(在本例中为 2%)

要查看其他行或页面,我们可以使用 ENTER 键或 PAGE UP 或 PAGE DN 来移动整个页面。要退出更多,只需键入“q”退出。

less 与 more 非常相似,但具有额外的功能,因此常见的 Linux爱好者打趣道“Less is more”。

让我们用 less 打开 snort.conf。

kali > less /etc/snort/snort.conf

 

 请注意,在屏幕左下方附近,less 突出显示了文件路径。

如果我们点击 / 键,less 将使我们能够在文件中搜索术语。例如,在设置 snort 时,我们需要确定发送输出的方式和位置。如果我们需要找到配置文件的那个部分,我们可以简单地键入;

/output

 

 这将立即将我们带到第一次出现的output并突出显示它。

 

 然后我们可以通过为下一个键入“n”来查找下一个输出。

 

 如您所见,less 将我们带到下一个单词输出的出现位置,突出显示所有搜索词,在本例中,我们直接将我们带到了 snort 的输出部分。多方便啊!

参考链接:https://www.hackers-arise.com/post/2016/12/07/Linux-for-Hackers-Part-9-Text-Manipulation

标签:文件,--,基础知识,etc,Liunx,conf,mysql,我们,snort
From: https://www.cnblogs.com/wgd-elwood/p/17203790.html

相关文章

  • C# ASP.NET MVC 配置允许跨域访问
    在web.config文件中的system.webServer节点下增加如下配置<httpProtocol><customHeaders><addname="Access-Control-Allow-Origin"value="*"/>......
  • AI 脸部美容,一键让你变瘦变美变老变年轻
    目录......
  • 线性安全和非线性安全的区别
    线性安全:就是当多线程访问时,采用了加锁的机制;即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能访问,直到这个线程读取完之后,其他线程才可以使用,防止出现......
  • 如何搭建属于自己的服务器(Linux7.6版)
    从0搭建属于自己的服务器最近小伙伴推荐的华为云活动,购买服务器相当的划算,本人也是耗费巨资购买了一台2核4GHECS云服务器。话不多说,在这里给华为云打一个广子,活动力度还......
  • 手机提醒APP如何选择?
    对于很多记性不好的网友来说,忘记生活、工作上的各种事情是很常见的,所以在手机上使用一款能够定时提醒事情的APP非常有必要,它能够帮助我们不再忘记重要的日程、任务和节日......
  • Element UI:能在一个html中使用它提供的组件吗?
    一、寻找组件找到需要使用的组件,比如一个表单  二、创建html文件导入element样式库、脚本库和它依赖的vue2库。<!DOCTYPEhtml><html><head>......
  • Liunx基础知识 -- 8
    管理用户环境在Linux新手发现有问题的领域中,管理用户环境变量可能是最晦涩的。尽管Windows操作系统有环境变量,但大多数用户很少(如果有的话)管理他们的环境变量。要从我......
  • 1万元!TP-Link发布Wi-Fi 7挖矿路由器:比RTX 4090快得多
    利润丰厚的挖矿市场人人眼红,TP-Link都单独成立了一家子公司TP-LinkASIC,一出手就打造了一款能挖矿的路由器。这款路由器型号“NX314”,重达3.9公斤,尺寸没有明确数据,但看起......
  • 谷歌浏览器插件实现拦截处理网页内容
    公司市面上有一套产品,且学校有对应教学教材,学校偶尔会用来做实操比赛,由于比赛系统是在产品外层包了一层壳(iframe嵌入产品)来实现实操,内部产品直接使用的线上正式版,产品经常......
  • 基于Mindspore2.0的GPT2预训练模型迁移教程
    摘要: 这篇文章主要目的是为了让大家能够清楚如何用MindSpore2.0来进行模型的迁移。本文分享自华为云社区《MindNLP-基于Mindspore2.0的GPT2预训练模型迁移教程》,作者:Sup......