【Linux】learning notes(4)cat、more、less、head、tail、vi、vim

在这里插入图片描述

文章目录

  • cat
  • more 查看整个文件
  • less 查看整个文件
  • head 查看部分文件
  • tail 查看部分文件
  • vim / vi

cat

cat 命令在 Linux 和 Unix 系统中非常常用,它用于连接文件并打印到标准输出设备(通常是屏幕)。虽然 cat 的基本用法很简单,但它也支持一些参数来提供额外的功能。

  • -n 或 --number:对所有输出的行进行编号。
    示例:cat -n file.txt
    这会显示 file.txt 的内容,并在每行的开头加上行号。

  • -b 或 --number-nonblank:仅对非空行进行编号。
    示例:cat -b file.txt
    这同样会显示 file.txt 的内容,但仅对非空行(即包含文本的行)进行编号。

  • -s 或 --squeeze-blank:压缩连续的空行为一个空行。
    示例:cat -s file.txt
    如果 file.txt 中有多个连续的空行,cat -s 会将它们压缩为一个空行显示。

  • -E:在每行的末尾显示 $ 符号,以帮助区分空行和包含空格的行。
    示例:cat -E file.txt
    如果行末尾有不可见的字符(如空格或制表符),-E 参数可以帮助识别。

  • -T 或 --show-tabs:将制表符显示为 ^I。
    示例:cat -T file.txt
    这有助于识别文本中的制表符。

  • -v 或 --show-nonprinting:显示非打印字符(如制表符和换行符)。对于制表符,默认显示为 ^I;对于换行符,在大多数系统上会显示为 $(但请注意,-v 和 -E 的行为可能因系统而异)。
    示例:cat -v file.txt

  • -A 或 --show-all:显示所有字符,包括非打印字符(如制表符和换行符,后者通常显示为 $ 或 \n)。
    示例:cat -A file.txt
    这是 -vTE 的组合,提供了一个全面的非打印字符视图。

  • --help:显示帮助信息,列出 cat 命令的所有参数和简短的描述。
    示例:cat --help

  • --version:显示 cat 命令的版本信息。
    示例:cat --version

注意:并非所有 cat 实现都支持上述所有参数,但大多数现代 Linux 发行版中的 GNU cat 确实支持它们。如果你在使用某个特定的 Unix 系统或旧版本的 Linux,建议查看该系统的 cat 命令手册页(通过运行 man cat 命令)以获取最准确的参数列表和描述。


more 查看整个文件

more 是 Linux 和类 Unix 操作系统中的一个命令行工具,用于分页显示文本文件的内容。

当你打开一个非常大的文本文件时,使用 more 命令可以让你逐页或逐行地查看文件内容,而不是一次性将整个文件内容滚动输出到终端,这有助于更好地管理和阅读文件。

用法:more [+数字] [-数字] file

常用选项

  • -d:显示翻页提示信息(例如,百分比进度)。
  • -f:不折叠长行,即长行会完整显示,不会自动换行。
  • -l:忽略换行符(仅适用于处理非文本文件时)。
  • -p:清除屏幕(类似于 clear 命令)后再显示文件内容。
  • -s:将多个连续的空行压缩成一行显示。
  • -u:不将下划线字符视为下划线,而是正常显示。
  • +num:从文件的第 num 行开始显示
  • -num:一次显示 num 行,然后暂停

交互命令

  • 空格键(Space):显示下一页,或者 f
  • Enter:显示下一行。
  • b:向上翻一页(back)。
  • f:向下翻一页(forward),或者空格。
  • q:退出 more 命令。
  • /:搜索文本字符串。输入你要搜索的字符串,然后按 Enter 键。n 键用于查找下一个匹配项,N 键用于查找上一个匹配项。
  • h:显示帮助信息。
  • v:在当前行启动文本编辑器(通常是 vi)来编辑文件。

有些软件安装的时候显示的是该页面,例如 anaconda3

more 命令是文本处理的基本工具之一,但对于现代使用场景,less 命令提供了更多的功能和灵活性,因此经常被推荐作为 more 的替代品。

当处理非常大的文件时,使用 more 或 less 可以避免一次性加载整个文件到内存中,从而提高系统的响应速度


less 查看整个文件

more 的替代品

常用选项

  • -N 或 --LINE-NUMBERS:显示行号。
  • -i 或 --IGNORE-CASE:在搜索时忽略大小写。
  • -F 或 --QUIET 或 --SILENT:在文件内容显示完毕后立即退出,而不是等待用户输入。
  • -q 或 --QUIT:禁止在文件仅有一屏时自动退出。
  • -r 或 --RAW-CONTROL-CHARS:将特殊字符以控制码显示。
  • -S 或 --CHOP-LONG-LINES:禁止自动换行,将过长的行进行截断。
  • -X:禁止清屏。
  • -h 或 --HELP:显示帮助信息。

交互命令

  • 空格键:向下滚动一屏。
  • Enter:向下滚动一行。
  • b:向上滚动一屏(backward)。
  • y 或 k:向上滚动一行(在某些版本的 less 中,k 也用于向上滚动一行)。
  • G:跳转到文件尾部。
  • g:跳转到文件开头。
  • /:搜索指定的字符串。输入你要搜索的字符串,然后按 Enter 键。搜索结果会高亮显示,n 键用于跳转到下一个匹配项,N 键用于跳转到上一个匹配项。
  • ?:向上搜索关键字(与 / 相反)。
  • q:退出 less 命令。
  • h:在 less 中显示帮助信息。
  • v:在当前行启动默认的文本编辑器(如 vi)来编辑文件。

head 查看部分文件

head 是 Linux 和类 Unix 操作系统中的一个常用命令,它用于显示文本文件的开头部分。

基本语法

head [选项] [文件...]

常用选项

  • -n NUM 或 --lines=NUM:指定显示文件的前 NUM 行,NUM 为正整数。如果不指定该选项,head 命令默认显示文件的前 10 行。
  • -c NUM 或 --bytes=NUM:指定显示文件的前 NUM 个字节。
  • -q 或 --quiet 或 --silent:不显示文件名。
  • -v 或 --verbose:总是显示文件名,即使只有一个文件作为输入。
  • -z 或 --zero-terminated:将行的结束符改为 NUL 字符,适用于处理包含 NUL 字符的文件。
  • –help:显示 head 命令的帮助信息。
  • –version:显示 head 命令的版本信息。

使用示例

  • 显示文件 file.txt 的前 10 行(默认行为):

    head file.txt
    
  • 显示文件 file.txt 的前 5 行:

    head -n 5 file.txt
    
  • 显示文件 file.txt 的前 100 个字节:

    head -c 100 file.txt
    
  • 不显示文件名,仅显示文件 file.txt 的前 5 行内容:

    head -q -n 5 file.txt
    
  • 显示文件名和文件 file.txt 的前 5 行内容:

    head -v -n 5 file.txt
    
  • 处理 NUL 结尾的行,并显示文件 file.txt 的前 5 行:

    head -z -n 5 file.txt
    

注意事项

  • head 命令通常用于快速查看文件的开头部分,以了解文件的内容或结构。
  • 你可以将 head 命令与其他命令结合使用,如管道操作符(|),以实现更复杂的功能。例如,可以使用 cat /var/log/syslog | head 命令查看 /var/log/syslog 文件的前 10 行内容。
  • head 命令不会修改原始文件的内容,它只是读取并显示文件的开头部分。

tail 查看部分文件

tail 是 Linux 和类 Unix 操作系统中一个非常实用的命令,它主要用于查看文件的末尾部分。

基本语法

tail [选项] [文件...]

常用选项

  • -n NUM 或 --lines=NUM:指定显示文件末尾的 NUM 行,NUM 为正整数。如果不指定该选项,tail 命令默认显示文件末尾的 10 行。
  • -f 或 --follow:实时追踪文件的变化,并持续显示新增的内容。这个选项特别适用于查看日志文件等动态更新的文件。
  • -c NUM 或 --bytes=NUM:指定显示文件末尾的 NUM 个字节。
  • -q 或 --quiet--silent:不显示文件名或处理信息。
  • -v 或 --verbose:总是显示文件名和处理信息。
  • --pid=PID:与 -f 合用,表示在进程 ID 为 PID 的进程终止后结束 tail 命令。
  • -s NUM 或 --sleep-interval=NUM:与 -f 合用,表示在每次循环读取之间休眠 NUM 秒。
  • --help:显示 tail 命令的帮助信息。
  • --version:显示 tail 命令的版本信息。

使用示例

显示文件 file.txt 的末尾 10 行(默认行为):

tail file.txt

显示文件 file.txt 的末尾 20 行:

tail -n 20 file.txt

实时追踪文件 logfile.txt 的变化:

tail -f logfile.txt

此时,tail 命令会持续运行,并实时显示 logfile.txt 文件中新增的内容。你可以通过按下 Ctrl+C 组合键来中断 tail 命令的运行。

显示文件 file.txt 的末尾 50 个字节:

tail -c 50 file.txt

不显示文件名,仅显示文件 file.txt 的末尾 10 行内容:

tail -q file.txt

在进程 ID 为 1234 的进程终止后结束 tail 命令的实时追踪:

tail --pid=1234 -f logfile.txt

注意事项

  • tail 命令特别适用于查看日志文件等动态更新的文件,因为它可以实时追踪文件的变化并显示新增的内容。
  • 当你使用 -f 选项时,tail 命令会一直运行,直到你手动中断它(如按下 Ctrl+C 组合键)。
  • tail 命令不会修改原始文件的内容,它只是读取并显示文件的末尾部分。

vim / vi

vim 是 vi 的升级版,兼容性更好,功能更丰富

vim tmp.py 打开 tmp.py 文件

搜索 content 用 :/content

n 跳到下一个 content,N 跳到上一个 content

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

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

相关文章

C++11函数包装器

目录 std::function 注意事项 包装静态成员函数 包装非静态成员函数 std::bind 用法 应用场景 std::function function是C11引入的类,可以用任何可调用对象作为参数,构造出一个新对象。 可调用对象有函数指针,仿函数,lamb…

maven的安装配置

目录 一、官网下载压缩包 二、配置环境变量 设置 MAVEN_HOME 添加 MAVEN_HOME\bin 到 PATH 三、配置本机仓库和远程仓库 四、配置idea 一、官网下载压缩包 Download Apache Maven – Maven 如上图。选择这个压缩包 选择好文件,下载完后,配置环境变…

分布式事务

1 事务 众所周知,事务具有ACID四大特性: 原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。 一致性(Consistency)&a…

Postman中Authorization和Headers的区别

案例 笔者在进行token验证的时候碰到的问题 一般如果是进行token验证,大部分是在Headers下面添加token名称及token的值 这样:后端提取请求头的token即可 还有一种是,左侧选择Bearer Token,右侧添加token的值,后端传递的 大概…

1.备战SISAP 2025挑战:调研2024挑战

简介 紧张刺激的SISAP 2025 challenge发布了,此博客用于记录备战的一些准备,思路和实验。 25年挑战介绍 详细信息参考SISAP Indexing challenge 2025 Task 1:内存受限索引 这项任务要求参与者开发具有reranking(重排&#xf…

FPGA学习(二)——实现LED流水灯

FPGA学习(二)——实现LED流水灯 目录 FPGA学习(二)——实现LED流水灯一、DE2-115时钟源二、控制6个LED灯实现流水灯1、核心逻辑2、代码实现3、引脚配置4、实现效果 三、模块化代码1、分频模块2、复位暂停模块3、顶层模块 四、总结 一、DE2-115时钟源 DE2-115板子包含一个50MHz…

进程间通信--匿名管道

进程间通信介绍 进程间通信目的 数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件&…

【鸿蒙开发】Hi3861学习笔记-Visual Studio Code安装(New)

00. 目录 文章目录 00. 目录01. Visual Studio Code概述02. Visual Studio Code下载03. Visual Studio Code安装04. Visual Studio Code插件05. 附录 01. Visual Studio Code概述 vscode是一种简化且高效的代码编辑器,同时支持诸如调试,任务执行和版本管…

人工智能 Day06 pandas库进阶

1.处理缺失数据 总体流程是这样的, 归根在于如何处理NAN,接下来详细赘述 1.1. 处理缺失值的相关函数 判断缺失值 pd.isnull(df):用于判断 DataFrame df 中的元素是否为缺失值(NaN ),返回一个与df 形状相同…

【Tools】Visual Studio Code安装保姆级教程(2025版)

00. 目录 文章目录 00. 目录01. Visual Studio Code概述02. Visual Studio Code下载03. Visual Studio Code安装04. Visual Studio Code配置05. 附录 01. Visual Studio Code概述 Visual Studio Code(简称 VS Code)是由微软开发的一款免费、开源且跨平台…

14.使用各种读写包操作 Excel 文件:辅助模块

一 各种读写包 这些是 pandas 在底层使用的各种读写包。无须安装 pandas,直接使用这些读写包就能够读写 Excel 工作簿。可以尽可能地使用 pandas 来解决这类问题,只在 pandas 没有提供你所需要的功能时才用到读写包。 表中没有 xlwings ,因为…

AI赋能实时安全背带监测解决方案

背景:安全背带检测的行业刚需与技术痛点 在建筑施工、石油化工、仓储物流等高危行业中,安全背带是保障作业人员生命安全的最后一道防线。据统计,超过30%的高空坠落事故与未正确佩戴安全背带直接相关。传统依赖人工巡检的监督方式存在效率低、…

神聖的綫性代數速成例題2. 行列式的性質

性質 1:行列式與它的轉置行列式相等: 設為行列式,為其轉置行列式,則。 性質 2:交換行列式的兩行 (列),行列式變號: 若行列式經過交換第行和第行得到行列式,則。 性質 3&#xff…

大模型推理 memory bandwidth bound (3) - MLA

系列文章目录 大模型推理 & memory bandwidth bound (1) - 性能瓶颈与优化概述 大模型推理 & memory bandwidth bound (2) - Multi-Query Attention 大模型推理 & memory bandwidth bound (3) - MLA 文章目录 系列文章目录前言一、原理1.低秩压缩 & 动机2.矩阵…

CTP开发爬坑指北(九)

CTP API开发中有很多需要注意的小细节,稍有不慎就会出问题,不然,轻则表现与预期不符,重则程序崩溃影响策略盈利。本系列将容易遇到的坑列出来,以供开发时参考,如有疑义之处,欢迎指正。 在国内期…

python_巨潮年报pdf下载

目录 前置: 步骤: step one: pip安装必要包,获取年报url列表 step two: 将查看url列表转换为pdf url step three: 多进程下载pdf 前置: 1 了解一些股票的基本面需要看历年年报,在巨潮一个个下载比较费时间&…

量化交易backtrader实践(五)_策略综合篇(3)_经典策略复盘

01_经典策略复盘 在某款股票软件手机版App上,有一项“复盘”的功能,这个功能很强大,它能把这支股票近1年的走势,用设置好的六个策略去回测,得到每个策略的近一年的收益率,并做了从最好到最差的排序。这就能…

蓝桥与力扣刷题(蓝桥 字符统计)

题目:给定一个只包含大写字母的字符出 S, 请你输出其中出现次数最多的字符。如果有多个字母均出现了最多次, 按字母表顺序依次输出所有这些字母。 输入格式 一个只包含大写字母的字等串 S. 输出格式 若干个大写字母,代表答案。 样例输入 BABBACAC样…

protobuf安装

安装 github官方链接 https://github.com/protocolbuffers/protobuf/ 以protobuf21为例 https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protobuf-all-21.11.zip windows 解压好文件夹后,使用cmake,vs,qt creator等工具打开该项目,进行编译,编译需…

Compose 实践与探索八 —— LayoutModifier 解析

前面几节讲的 Modifier 都是起辅助作用的,比如 Modifier 的伴生对象、CombinedModifier、 ComposedModifier 以及几乎所有 Modifier 的父接口 Modifier.Element。本篇我们开始讲具有直接功效的 Modifier,分为几个大类:LayoutModifier、DrawMo…