Linux 下 VIM 编辑器学习记录:从基础到进阶(中)

news/2025/2/22 23:40:17

在 Linux 系统的学习与实践过程中,对文件内容的查看是一项极为基础且高频的操作。熟练掌握各类内容查看命令,不仅能提升我们在 Linux 环境下的工作效率,对于学习 Java 全栈开发的同学来说,在处理项目相关的配置文件、日志文件时也能更加得心应手。接下来,我将详细介绍一些常用的文件内容查看命令。

一、内容查看命令

1. Cat

作用cat命令用于一次性输出文件中的所有内容

  • cat 文件名称:按正序从头开始输出文件内容。比如我们要查看一个名为test.txt的文件,执行cat test.txt,就可以在终端看到该文件的全部内容。在 Java 全栈开发中,有时查看一些简单的配置文件,若文件内容较少,使用cat命令能快速获取信息。
  • tac 文件名称:按反序从尾开始输出文件内容。这个命令在某些特殊场景下很有用,比如查看日志文件时,最新的日志往往在文件末尾,tac命令可以让我们从最新的日志开始查看。

  • 适用场景:由于cat命令会一次性输出全部内容,所以适用于文件内容相对较少的情况。如果文件内容过多,在终端中会快速滚动,难以查看关键信息。
cat 文件名称 #按正序从头开始输出 
tac 文件名称 #按反序从尾开始输出

2. More

  • 作用more命令用于分页输出文件内容,这对于查看大文件非常实用。
    • more 文件名称:执行该命令后,会以分页的形式展示文件内容,每一页展示一部分内容。通过按下空格键可以跳转到下一页,按下回车键可以跳转到下一行。例如,执行more anaconda-ks.cfg,就能分页查看anaconda-ks.cfg文件的内容。
    • more -10 文件名称:可以限制每一页显示 10 行数据,这样可以更精细地控制每页展示的行数,方便查看结构较为规整的文件。
    • more +5 -10 文件名称:从第 5 行开始显示,并每页限制 10 行数据。在查看一些有特定格式的文件,如配置文件,我们可能只关心从某一行开始的内容,这个功能就派上用场了。
  • 缺陷more命令有一定的局限性,它不能显示行号,也不能进行关键字检索。在多人协作开发 Java 全栈项目时,若查看代码文件或日志文件,没有行号和关键字检索功能会不太方便定位问题。
#输出文件内容
more anaconda-ks.cfg

#限制每一页显示10行数据
more -10 anaconda-ks.cfg

#从第5行开始显示,并每页限制10行数据
more +5 -10 anaconda-ks.cfg

3. less

  • 作用:同样是分页输出文件中的内容,但less命令相比more命令功能更强大。
    • less [选项] 文件名称:其中-N选项可以显示行号,这在查看文件时非常实用,特别是在排查代码错误或分析日志时,行号能帮助我们快速定位问题所在。例如,执行less -N anaconda-ks.cfg,就能在查看文件内容的同时看到行号。
    • /关键字:在使用less命令查看文件时,可以通过输入/加上关键字实现关键字检索。比如在查看 Java 项目的日志文件时,输入/error,就能快速定位到所有包含error关键字的行,方便排查错误。
    • pgUppgDn:分别用于向上翻页和向下翻页,操作更加便捷。
less -N anaconda-ks.cfg 
# /关键字 实现关键字检索 
# pgUp 向上翻页 
# pgDn 向下翻页

4. head

  • 作用用于查看文件的头部内容
    • head 文件名称:默认查看文件的前 10 行内容。在查看一些配置文件或代码文件时,通过head命令可以快速了解文件的开头部分的关键信息,比如配置文件的全局配置部分。
    • head -5 文件名称:可以指定查看文件的前 5 行内容,根据实际需求灵活调整查看的行数。
head 文件名称 #查看文件的前10行内容 
head -5 文件名称 #查看文件的前5行内容

5. tail

  • 作用:用于查看文件的尾部内容
    • tail 文件名称:默认查看文件的后 10 行内容。在 Java 全栈开发中,查看日志文件时,经常需要关注最新的日志,tail命令就很常用。
    • tail -5 文件名称:指定查看文件的后 5 行内容。
      tail 文件名称 #查看文件的后10行内容 
      tail -5 文件名称 #查看文件的后5行内容
      

未来在企业工作小技巧

在企业开发中,经常会查看大量的日志文件。使用less命令时,可以结合管道符|和其他命令进行更复杂的操作。例如,less -N catalina.out | grep "ERROR",这条命令可以在catalina.out日志文件中筛选出所有包含ERROR关键字的行,并显示行号,大大提高排查问题的效率。

在企业的服务器运维中,有时需要实时监控日志文件的变化。可以使用tail -f 文件名称命令,其中-f选项表示持续跟踪文件的变化,新写入的日志内容会实时显示在终端上,方便及时发现系统运行中的问题。

文件内容少,使用cat命令能快速获取全貌;文件内容多,使用less命令能更灵活地查看,还能进行行号显示和关键字检索。这些内容查看命令是我们在 Linux 系统中工作的得力助手,熟练掌握它们,能为未来在企业中的开发和运维工作打下坚实的基础。在后续的学习中,我还将继续探索更多 Linux 命令的高级用法,不断提升自己的技术能力。


http://www.niftyadmin.cn/n/5861304.html

相关文章

C#的序列化[Serializable()]

[Serializable] 是 .NET 框架中的一个特性(Attribute),用于标记一个类、结构体、枚举或委托可以被序列化。序列化是将对象的状态转换为可以存储或传输的格式(如二进制、XML 或 JSON)的过程,以便在需要时可以…

C语言学习,插入排序

C语言,插入排序是一种简单直观的排序算法,插入排序是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 示例: // 插入排序函数 void insertionSort(int arr[], int n)…

ref() 和 reactive()响应性 浅解

文章目录 1. ref() 和 reactive() 的区别2. 解构 详解2.1. 什么是解构2.2. 解构避免丢失响应性的办法2.2.1. 解决方案:toRefs() 保持响应性2.2.2. 解决方案: toRef()保持响应性 3. 最佳实践 在 Vue 3 中,ref() 和 reactive() 都是用于响应式数…

2024华为OD机试真题-恢复数字序列(C++/Java/Python)-E卷-100分

2024华为OD机试最新E卷题库-(C卷+D卷+E卷)-(JAVA、Python、C++) 目录 题目描述 输入描述 输出描述 用例1 题目解析 代码 c++ Java python 题目描述 对于一个连续正整数组成的序列,可以将其拼接成一个字符串,再将字符串里的部分字符打乱顺序。 如序列8 9 10 11 12…

javaSE学习笔记22-线程(thread)-线程通信、线程池

线程通信 应用场景:生产者和消费者问题 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待&#xff0c…

现代游戏UI架构深度解析——以UIController为核心的模块化界面管理系统

一、架构全景与设计哲学 本文将以重构后的UIController为核心,深入探讨Unity引擎下的高效UI管理方案。该体系采用"分层-分治"设计理念,通过界面生命周期管理、动态适配策略、资源优化机制三个维度的协同工作,构建了适应复杂交互需…

Transformer Decoder 详解

Transformer Decoder 详解 1. 模型结构图解 Transformer Decoder 由 N 个相同的层堆叠而成,每个层包含以下组件(与 Encoder 不同,Decoder 包含两种注意力机制): Input (Shifted Output) │ ├─> Masked Multi-Head Self-Attention → Add & LayerNorm → Encod…

23种设计模式 - 组合模式

模式定义 组合模式(Composite Pattern)是一种结构型设计模式,通过将对象组织成树形结构,使客户端能够以统一的方式处理单个对象和组合对象。该模式特别适用于需要表示“部分-整体”层次结构的场景,例如数控系统中的多…