[ Linux 命令基础 4 ] Linux 命令详解-文本处理命令

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

我们搞网络安全需要经常用到 linux 命令,比用拿到 linux 的 shell,需要使用 linux 命令。再比如 sh 脚本,我们经常需要使用。这里我将开始详细介绍一些常用的 linux 命令。本文讲解与网络管理相关的命令。
在这里插入图片描述

文章目录

  • 🍬 博主介绍
    • 4.1 查看文本内容
      • 4.1.1 cat
        • 4.1.1.1 基本功能:
        • 4.1.1.2 常用选项:
        • 4.1.1.3 cat 命令常用用途:
      • 4.1.2 more
        • 4.1.2.1 基本功能:
        • 4.1.2.2 基本语法
        • 4.1.2.3 常用选项:
        • 4.1.2.4 常用交互命令:
      • 4.1.3 less
        • 4.1.3.1 基本功能:
        • 4.1.3.2 主要功能:
        • 4.1.3.3 基本语法:
        • 4.1.3.4 常用交互式命令
      • 4.1.4 head
        • 4.1.4.1 基本功能:
        • 4.1.4.2 基本语法:
        • 4.1.4..3 常用选项:
      • 4.1.5 tail
        • 4.1.5.1 主要功能:
        • 4.1.5.2 基本语法:
        • 4.1.5.3 常用选项:
      • 4.1.6 hexdump
        • 4.1.6.1 基本功能:
        • 4.1.6.2 基本语法:
        • 4.1.6.3 常用选项:
    • 4.2 文本搜索和处理
      • 4.2.1 grep
        • 4.2.1 基本功能:
        • 4.2.2 基本语法:
        • 4.2.3 常用选项:
        • 4.2.4 使用示例:
      • 4.2.2 awk
        • 4.2.2.1 基本功能:
        • 4.2.2.2 基本特性
        • 4.2.2.3 基本语法
        • 4.2.2.4 常用操作:
      • 4.2.3 sed
        • 4.2.3.1 基本功能:
        • 4.2.3.2 基本特性:
        • 4.2.3.3 基本语法:
        • 4.2.3.4 常用命令和选项
    • 4.3 文本编辑器
      • 4.3.1 vim
        • 4.3.1.1 核心特性:
        • 4.3.1.2 基本使用
      • 4.3.2 nano
        • 4.3.2.1 主要特性:
        • 4.3.2.2 基本使用
  • 相关资源

4.1 查看文本内容

4.1.1 cat

4.1.1.1 基本功能:

cat命令最直接的用途是显示文本文件的内容。同时利用这个命令还可以做到合并多个文件、创建新文件、向现有文件添加内容。

4.1.1.2 常用选项:
  • -b: 编号非空输出行。不会为空白行编号
  • -e: 在每行的结束处显示$符号,能够较好区分出文件中的空格和空行。
  • -s: 压缩连续的空白行成一行。
  • -t: 显示制表符为^I
  • -A: 显示所有控制字符
4.1.1.3 cat 命令常用用途:
# 显示文件内容
cat file.txt
# 合并多个文件
cat file1.txt  file2.txt > combined.txt
# 创建新的文件
cat > new.txt
# 向现有文件添加内容
cat >> exsitingfile.txt
# 显示行号
cat -n file.txt

4.1.2 more

4.1.2.1 基本功能:

more命令是Linux和Unix系统中一个传统的文本阅读器,用于在命令行逐页查看较长的文本文件。交互式

逐页显示文本内容: 默认将文件内容分页显示,每页的大小通常由终端窗口的大小决定。

搜索文本: 在查看文件时进行搜索操作。

查看百分比位置: 在浏览文件时, more显示当前位置在文件中的百分比.

4.1.2.2 基本语法
# 支持传递一个或多个文件名作为参数
more [options] file ...# 搭配管道符使用
ls -l | more
4.1.2.3 常用选项:
  • -d: 显示翻页和退出 提示
  • -l: 忽略换行符作为分页条件。
  • -f: 计算行的方式更为宽松,显示为两行的视为多行。
  • -p: 通过清楚窗口而不是滚动屏幕来显示每个新屏幕。
  • -c: 在显示每页之前清屏。
  • -s: 多空行压缩为一行
  • -u: 关闭下划线显示
4.1.2.4 常用交互命令:
  • 空格键: 显示下一页内容
  • Enter: 逐行显示内容
  • b或Ctrl + B: 回滚到上一屏内容。
  • f: 向前滚动一屏
  • / 搜索字符串: 从当前位置向下搜索包含指定字符串的文本行。
  • n : 重复前一次的搜索。
  • =: 显示当前行的行号
  • v: 在当前行启动vivim编辑器
  • h: 显示帮助屏幕,列出所有的控制命令。

4.1.3 less

4.1.3.1 基本功能:

文本查看器,用于在Linux和Unix系统中查看(但不修改)文本文件的内容。less 允许你快速浏览大文件,支持向前和向后移动,这是它相较于旧的 more 命令的主要优势。因为 less 不需要读取整个文件就能开始显示内容,所以它在打开大型日志文件或其他长文本时特别有用。

4.1.3.2 主要功能:

双向导航

部分文件加载: less读取所需的文件部分,而不是一开始就加载整个文件,从而提高处理大文件的效率。

搜索功能: 支持向前向后的搜索功能。

自定义显示: 可调整显示设置

4.1.3.3 基本语法:
less [options] file ...
4.1.3.4 常用交互式命令
  • 空格键或f: 向下翻一页。
  • b: 向上翻一页
  • d: 向下翻半页
  • u: 向上翻半页
  • g: 跳转到文件的开始
  • G: 跳转到文件的结束
  • /pattern: 向下搜索匹配的字符串
  • ?pattern: 向上搜索匹配的字符产
  • n:重复最近的搜索(向下)
  • N: 重复最近的搜索(向上)
  • q: 退出less
    4.1.3.5 常用选项:
  • -N:显示行号
  • -S: 禁止自动换行
  • -i: 搜索时忽略大小写

4.1.4 head

4.1.4.1 基本功能:

用来显示一个文本文件的开头部分。默认情况下,head会显示文件的前十行。

4.1.4.2 基本语法:
head [options]... [file]..
# 未指定文件名,head将从标准输入读取数据
4.1.4…3 常用选项:
  • -n <行数>:指定要显示的行数。
  • -c <字节数>: 指定要显示的字节数
  • -q: 当显示多个文件的头部时,不显示每个文件的名字
  • -v: 总是显示每个文件的名字,即使只有一个文件

4.1.5 tail

4.1.5.1 主要功能:

用于查看文件文件或数据流魔为部分内容的实用工具。默认显示指定文件的最后10行内容。这个命令适合于监视实时更新的日志文件。

4.1.5.2 基本语法:
tail [option].. [file]..
# 不指定文件名时,tail将从标准输入读取数据
4.1.5.3 常用选项:
  • -n <行数>: 指定显示的行数
  • -c <字节数>: 指定显示的字节数。
  • -f: 跟踪显示文件的新增内容。
  • -F: 与-f类似,当文件被删除或重命名时,会尝试重新打开该文件。
  • --pid=<pid>: 与-f选项一起使用,当指定的进程终止时,tail会自动停止监控文件。

4.1.6 hexdump

4.1.6.1 基本功能:

是一个在Unix和Linux系统中用来查看文件内容的命令行工具,它以十六进制格式显示二进制数据。

4.1.6.2 基本语法:
hexdump [options] file...
4.1.6.3 常用选项:
  • -C: 规范的十六进制和ASCII显示,每行16字节,十六进制值和对应的ASCII字符并排显示。
  • -b: 单字节八进制显示,一个字节一个八进制值。
  • -c: 单字节字符显示,一个字节一个字符。
  • -d: 双字节十进制显示,每两个字节一组。
  • -o:双字节八进制显示,每两个字节一组。
  • -x: 双字节十六进制显示,每两个字节一组。
  • -n length: 显示文件前length字节的数据
  • -s offset: 从文件的offset字节处开始显示数据。

4.2 文本搜索和处理

4.2.1 grep

4.2.1 基本功能:

文本搜索工具,用于搜索包含指定模式的行。grep支持使用正则表达式来进行复杂的模式和匹配操作。

4.2.2 基本语法:
grep [options] pattern [file...]
4.2.3 常用选项:
  • -i: 忽略大小写
  • -v: 反向查找,只输出不匹配的行。
  • -c: 统计匹配的行数而不是显示匹配的文本
  • -n:显示匹配的行及其行号
  • -r或-R: 递归搜索目录中所有文件
  • -l: 只输出包含匹配文本的文件名
  • -L:只输出不包含匹配文本的文件名
  • -o:只输出匹配到的部分,而不是整行文本
  • -e: 允许指定多个搜索模式,或用于模式以-开头的情况
4.2.4 使用示例:
# 搜索包含指定文本的行
grep "special text" filename.txt
#递归搜索包含文本的文件
grep -r "special text" filename.txt
# 忽略大小写的搜索
grep -i "special text" filename.txt
#统计文件中匹配到的行数
grep -c "special text" filename.txt
#查找不含特定文本的行
grep -v "special text" filename.txt

4.2.2 awk

4.2.2.1 基本功能:

awk是一个强大的文本分析工具。它不仅是一个命令行工具,也是一个完整的编程语言,非常适合对文本和数据进行模式扫描和处理。

4.2.2.2 基本特性

模式扫描和处理: awk通过模式匹配和提供处理逻辑来分析和操作文本

内置变量和函数: awk有多种内置变量和函数,支持数学运算、字符串操作等。

字段识别: 模式情况下,awk根据空白字符(空格、制表符)将每行分割成多个字段,每个字段可以单独处理

4.2.2.3 基本语法
awk [options] `program` input-file(s)
# program中的直累,指定如何处理输入的文本,可以将处理逻辑编写成一个文件,通过—f进行指定
4.2.2.4 常用操作:
# 打印文件的某些列
awk '{print $1,$2}'filename
# 模式匹配,匹配输出整行
awk `/pattern/  {print $0}` filename
# 字段求和
awk '{sum += $1} END {print sum}' filename
# 文本替换并输出
awk `{gsub(/old/, "new"); print}` filename
# 多条件和符合模式
awk '$1 > 100 && $2 == "YES" {print $0}' filename
# 使用内置函数
awk '{print toupper($1)}' filename

4.2.3 sed

4.2.3.1 基本功能:

文本处理工具。主要用于自动编辑一个或多个文件;简化对文件的重复操作;sed 可以读取指定的文本输入,执行对其的处理,然后输出结果。sed 处理时不会修改原始文件,除非明确指示,而是将结果发送到标准输出。

4.2.3.2 基本特性:
  • 行处理: sed 主要按行处理文本数据
  • 支持正则表达式: 使用正则表达式来匹配文本
  • 脚本化编辑: 可以通过编写脚本来执行复杂的文本操作,支持插入、删除、替换和更多操作。
4.2.3.3 基本语法:
sed [options] `command` file...
# 不指定sed的话,从标准输入读取数据
4.2.3.4 常用命令和选项
# 替换,默认只替换匹配到的第一个
sed 's/old-pattern/new-pattern/' filename
# 全局替换
sed 's/old-pattern/new-pattern/g' filename
# 删除行
sed '/pattern/d' filename
# 插入和追加
# i 在指定行前插入文本
sed '3iThis is inserted text.' filename
# a在指定行后追加文本
sed '3aThis is inserted text' filename
# 编辑原文件
sed -i 's/old/new/g' filename# 多点编辑
sed -e 's/old/new/g' -e '/delete-pattern/d' filename
# 指定行的范围
sed '1,5d' filename

4.3 文本编辑器

4.3.1 vim

文本编辑器。

4.3.1.1 核心特性:
  • 模式编辑:
    • 普通模式: 移动光标、复制、粘贴、删除等操作
    • 插入模式: 输入文本
    • 命令行模式: 保存文件、设置、执行更复杂的编辑命令等
    • 可视模式:选择文本块进行操作
    • 替换模式: 替换字符
  • 可拓展性:可以通过安装插件来增强功能,如代码自动完成、语法高亮、项目管理等
  • 定制化: 用户可以通过 .vimrc 配置文件来自定义键绑定、插件和设置,使得编辑环境完全符合个人习惯。
  • 强大的搜索和替换: 支持复杂的正则表达式,进行高效的文本操作。
  • 多窗口和标签页:支持同时打开多个文件,并通过分屏和标签页来组织工作区域
4.3.1.2 基本使用
  • 进入和退出
    • 打开或常见文件: vim filename
    • 退出: 在普通模式下,:q (未做修改情况下), :q!不保存退出,:wq 或ZZ保存修改并退出
  • 编辑命令
    • 插入文本: i进入插入模式,在当前光标位置插入。a在当前光标后插入,o在当前行下新开一行。
    • 复制粘贴: yy复制当前行,p粘贴到光标后,P粘贴到光标前
    • 删除文本: dd删除当前行,dw删除一个词
    • 撤销和重做: u撤销, Ctrl+r重做
  • 命令行模式
    • 保存和退出: :w 保存,:wq 保存并退出,:xZZ 同样保存并退出。
    • 查找和替换: :/pattern查找文本, :%s/old/new/g全局替换
  • 高级功能
    • 分屏: :split水平分屏,:vsplit垂直分屏,Ctrl + w切换窗格
    • 标签页: :tabnew新建标签页,:tabnext:tabprev切换标签页

4.3.2 nano

简易文本编辑器。

4.3.2.1 主要特性:
  • 用户界面: 提供一个直观的命令行界面,底部显示常用的快捷键提示
  • 基本文本编辑功能:包括插入、删除、剪切、复制和粘贴文本
  • 搜索和替换: 支持搜索文本,并可选择替换匹配项
  • 软换行: 允许长行文本在屏幕上自动换行显示
  • 多缓冲区: 可以同时打开多个文件
4.3.2.2 基本使用
  • 打开和创建文件: nano filename
  • 保存文件: Ctrl + o保存文件更改,然后按Enter确认文件名
  • 退出编辑器: Ctrl + X 退出nano.
  • 剪切整行: Ctrl + k
  • 粘贴: Ctrl + U
  • 查找文本: Ctrl + W打开查找界面,输入要搜索的字符串
  • 替换文本: Ctrl + \进入替换页面,输入要查找的字符串和替换用的字符串。

相关资源

shell脚本 从入门到精通
[ DOS 命令基础 1 ] DOS 命令命令详解-系统查询相关命令
[ DOS 命令基础 2 ] DOS 命令命令详解-网络相关命令
[ DOS 命令基础 3 ] DOS 命令命令详解-文件操作相关命令
[ DOS 命令基础 4 ] DOS 命令命令详解-端口进程相关命令
[ Linux 命令基础 7 ] Linux 命令详解-磁盘管理相关命令
[ Linux 命令基础 6 ] Linux 命令详解-权限和用户管理命令
[ Linux 命令基础 5 ] Linux 命令详解-网络管理命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/60003.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 实验:日志的备份与恢复 xfs文件系统

添加一个新的硬盘&#xff0c;创建硬盘分区sdc1 设置文件系统格式xfs&#xff0c;提示安装xfsprogs&#xff0c;如果安装失败&#xff0c;在后缀加上--fix-missing直到安装完成为止 mkdir创建空目录data&#xff0c;将sdc1挂载到data&#xff0c;data是根目录下新建的目录&…

【C#】使用.net9在C#中向现有对象动态添加属性

在 C# 中向现有对象动态添加属性并不像在 Python 或 JavaScript 中那样容易&#xff0c;因为 C# 是一种强类型语言。 但是&#xff0c;我们可以通过使用一些技术和库来实现这一点&#xff0c;例如扩展方法、字典等。本文将详细介绍如何在 C# 中实现这一点。ExpandoObject 方法 …

Python学习从0到1 day26 第三阶段 Spark ⑤ 搜索引擎日志分析

目录 一、搜索引擎日志分析 二、需求1&#xff1a;热门搜索时间段(小时精度)Top3 实现步骤 三、需求2&#xff1a;打印输出:热门搜索词Top3 实现步骤 四、需求3&#xff1a;打印输出:统计hadoop关键字在哪个时段被搜索最多 实现步骤 五、需求4&#xff1a;将数据转换为JSON格式…

#渗透测试#SRC漏洞挖掘#深入挖掘CSRF漏洞01

免责声明 本教程仅为合法的教学目的而准备&#xff0c;严禁用于任何形式的违法犯罪活动及其他商业行为&#xff0c;在使用本教程前&#xff0c;您应确保该行为符合当地的法律法规&#xff0c;继续阅读即表示您需自行承担所有操作的后果&#xff0c;如有异议&#xff0c;请立即停…

揭秘云计算 | 2、业务需求推动IT发展

揭秘云计算 | 1、云从哪里来&#xff1f;-CSDN博客https://blog.csdn.net/Ultipa/article/details/143430941?spm1001.2014.3001.5502 书接上文&#xff1a; 过去几十年间IT行业从大型主机过渡到客户端/服务器&#xff0c;再过渡到现如今的万物互联&#xff0c;IT可把控的资…

Grover算法——量子搜索算法

假设N个数据中符合条件的数据有M个&#xff0c;则量子搜索算法的复杂度为&#xff0c;远小于经典算法的复杂度。 黑箱 下面以N2为例&#xff0c;介绍黑箱如何标记符合条件的数据。N2意味着只有两个数据&#xff0c;可以用0和1来表示这两个数据&#xff0c;也就只需要一个量子比…

Ubuntu24.04网络异常与应对方案记录

PS: 参加过408改卷的ZJU ghsongzju.edu.cn 开启嘲讽: 你们知道408有多简单吗&#xff0c;操作系统真实水平自己知道就行&#xff5e;&#xff5e; Requested credits of master in UWSC30&#xff0c;in ZJU24&#xff0c;domestic master is too simple ubuntu安全软件 在 U…

智能的编织:C++中auto的编织艺术

在C的世界里&#xff0c;auto这个关键字就像是一个聪明的助手&#xff0c;它能够自动帮你识别变量的类型&#xff0c;让你的代码更加简洁和清晰。下面&#xff0c;我们就来聊聊auto这个关键字的前世今生&#xff0c;以及它在C11标准中的新用法。 auto的前世 在C11之前&#x…

Spark的Standalone集群环境安装

一.简介 与MR对比&#xff1a; 概念MRYARNSpark Standalone主节点ResourceManagerMaster从节点NodeManagerWorker计算进程MapTask&#xff0c;ReduceTaskExecutor 架构&#xff1a;普通分布式主从架构 主&#xff1a;Master&#xff1a;管理节点&#xff1a;管理从节点、接…

cache(一)基本概念

在知乎发现一份不错得学习资料 请教CPU的cache中关于line,block,index等的理解&#xff1f; PPT 地址 https%3A//cs.slu.edu/%7Efritts/CSCI224_S15/schedule/chap6-cache-memory.pptx 课程主页 https://cs.slu.edu/~fritts/CSCI224_S15/schedule/ 文章目录 1. cache概念2. cac…

前端CSS3 渐变详解

文章目录 CSS3 渐变详解一、引言二、CSS3 渐变基础1、线性渐变1.1、基本线性渐变1.2、改变渐变方向 2、径向渐变2.1、基本径向渐变2.2、设置径向渐变的中心 三、高级渐变技巧1、重复渐变1.1、重复线性渐变1.2、重复径向渐变 四、总结 CSS3 渐变详解 一、引言 在现代网页设计中…

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver(二)

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver&#xff08;二&#xff09; 本教程作为gdb/gdbserver编译安装教程的一个补充&#xff0c;教会大家如何使用gdb/gdbserver进行远程调试。 如上图所示&#xff0c;我们需要将编译后的gdbserver上传至目标设备&#xff0c;其上…

(65)使用RLS自适应滤波器进行信道均衡的MATLAB仿真

文章目录 前言一、仿真说明二、码间串扰、色散、与频率选择性衰落1. 码间串扰&#xff08;ISI&#xff09;2. 信道的色散与码间串扰3. 减少ISI的方法 三、MATLAB仿真代码四、仿真结果1.发送16QAM信号的星座图2.信道的频率响应3.接收16QAM信号的星座图4.均衡后16QAM信号的星座图…

【数据分析】如何构建指标体系?

有哪些指标体系搭建模型&#xff1f;五个步骤教你从0开始搭建指标体系 一、企业指标体系搭建存在什么问题 许多企业在搭建数据指标体系时遇到了诸多难题&#xff0c;如问题定位不准确、数据采集不完整、目标不一致、报表无序、指标覆盖不全面以及报表价值未充分利用等。 1、…

【Linux 30】传输层协议 - TCP

文章目录 &#x1f308; 一、TCP 协议介绍⭐ 1. TCP 协议的特点 &#x1f308; 二、TCP 协议格式⭐ 1. TCP 报头中各字段的含义⭐ 2. 各 TCP 标志位的用途⭐ 3. 使用结构体描述 TCP 报头 &#x1f308; 三、TCP 的窗口⭐ 1. TCP 的发送和接收缓冲区⭐ 2. TCP 为什么存在缓冲区⭐…

【Linux杂货铺】IO多路复用

目录 &#x1f308;前言&#x1f308; &#x1f4c1; 五种IO模型 &#x1f4c2; 阻塞IO &#x1f4c2; 非阻塞IO &#x1f4c2; 信号驱动IO &#x1f4c2; 多路复用 &#x1f4c2; 异步IO &#x1f4c1; 非阻塞IO实现 &#x1f4c1; select &#x1f4c2; 接口使用 &#x…

Kafka 的一些问题,夺命15连问

kafka-中的组成员 kafka四大核心 生产者API 允许应用程序发布记录流至一个或者多个kafka的主题&#xff08;topics&#xff09;。 消费者API 允许应用程序订阅一个或者多个主题&#xff0c;并处理这些主题接收到的记录流 StreamsAPI 允许应用程序充当流处理器&#xff08;s…

ANNOVAR下载

1.官网 https://annovar.openbioinformatics.org/en/latest/user-guide/startup/ 都填英文 要不然会报错 tar -xzvf annovar.latest.tar.gztree . ├── annotate_variation.pl ├── coding_change.pl ├── convert2annovar.pl ├── example │ ├── ex1.avinput…

集群架构中Lua脚本的限制以及出现的报错

&#x1f680; 博主介绍&#xff1a;大家好&#xff0c;我是无休居士&#xff01;一枚任职于一线Top3互联网大厂的Java开发工程师&#xff01; &#x1f680; &#x1f31f; 在这里&#xff0c;你将找到通往Java技术大门的钥匙。作为一个爱敲代码技术人&#xff0c;我不仅热衷…

大语言模型:解锁自然语言处理的无限可能

0.引言 在当今的科技时代&#xff0c;自然语言处理技术正以前所未有的速度发展&#xff0c;语言大模型作为其中的核心力量&#xff0c;对各个领域产生了深远的影响。本文旨在探讨语言大模型的发展历程、核心技术以及广泛的应用场景&#xff0c;以帮助读者更好地理解这一前沿技…