当前位置: 首页 > news >正文

[ 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 命令详解-网络管理命令
[ Linux 命令基础 4 ] Linux 命令详解-文本处理命令


http://www.mrgr.cn/news/70618.html

相关文章:

  • Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
  • 负载均衡在线OJ项目
  • 探索Python PDF处理的奥秘:pdfrw库揭秘
  • 矩阵的拼接
  • Vue 3组件间通信全解:选项式API vs 组合式API
  • node.js fluent-ffmpeg 桌面推流
  • (RK3566驱动开发 - 1).pinctrl和gpio子系统
  • Java 抽象类(Abstract Class)详解
  • 生产与配置
  • 前端知识点---Javascript中检测数据类型函数总结
  • HTML常用标签
  • Python 多进程日志管理:最佳实践与实战指南
  • 图像增强的100种方法
  • 【AI学习】Mamba学习(十五):关于S4模型计算优化的再学习
  • http协议与内外网的划分
  • 【论文阅读】医学SAM适配器:适应医学图像分割的任意分割模型
  • glsl中vec4是行矩阵还是列矩阵
  • 满200减30,怎么样用python计算凑单正好满足要求呢?
  • [DEBUG] 服务器 CORS 已经允许所有源,仍然有 304 的跨域问题
  • 重构代码之移动字段
  • FTP、ISCSI、CHRONY、DNS、NFS、DOCKER、MARIADB、NGINX、PHP、CA各服务开启方法
  • 【科研积累】大模型的认知笔记
  • AUTOSAR_EXP_ARAComAPI的7章笔记(2)
  • Bililive-go开源录屏工具:本地部署远程管理精彩直播不在错过
  • 【韩老师零基础30天学会Java 】06章 数组、排序和查找
  • 常用的损失函数pytorch实现