cat,tac,nl,more,less,head,tail,od,touch-读书笔记(五)

文件内容查阅

cat 由第一行开始显示文件内容

tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

nl 显示的时候,顺道输出行号!

more 一页一页的显示文件内容

less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

head 只看头几行

tail 只看尾巴几行

od 以二进制的方式读取文件内容!


cat 查看文件内容

在Linux系统中,cat命令用于以文本格式显示文件的内容。

cat命令的参数使用:

  • -n:显示行号。
  • -b:显示行号,但对于空白行不加以编号。
  • -s:将多个连续空行压缩成一个空行。

例子1:

cat file.txt

这个命令会将文件file.txt的内容显示在终端上。

例子2:

cat -n file.txt

这个命令会将文件file.txt的内容显示在终端上,并在每一行前面加上行号。


tac 反向列式

命令名称: tac

作用说明: 反向显示文件内容,从最后一行开始逐行显示。

参数使用:

  • -b, --before: 在每行之前添加指定的字符串。
  • -r, --regex: 使用正则表达式而不是字符串进行匹配。
  • -s, --separator: 指定列与列之间的分隔符,默认为制表符。
  • -v, --version: 显示命令的版本信息。

示例1:

命令: tac file.txt

作用: 逐行反向显示文件file.txt的内容。

示例2:

命令: tac -b "Line " file.txt

作用: 在每行之前添加字符串"Line ",然后反向显示文件file.txt的内容。


nl 添加行号打印

在Linux系统中,nl命令用于给文件添加行号,并将添加了行号的文件输出到标准输出或指定文件。

nl命令常用参数:

  • -b:指定行号的方式,有a、t和n三种方式。a代表行号不为空行时就行数,t代表行号不为空行时就行数,n代表行号永远不会为空行。
  • -n:设置行号的起始值,默认为1。
  • -w:设置行号的位数,不足位数时使用0填充。

两个例子:

  1. 给文件file.txt添加行号,并输出到标准输出:

nl file.txt

  1. 给文件file.txt添加行号,起始值为10,输出到newfile.txt:

nl -n 10 file.txt > newfile.txt

nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样,nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能呢。


more 一页一页翻动

more命令用于逐页查看文件的内容,可用于打开文本文件,按页显示文件内容,支持上下翻页、搜索等功能。它在处理大型文件时比cat命令更加方便,因为可以分批加载文件内容,避免一次性加载整个文件。

more命令的常用参数如下:

  • num:指定每次显示的行数,默认为10行。
  • +num:指定从文件的第num行开始显示。
  • /pattern:向下搜索文件中包含指定模式(pattern)的文本。
  • -c:显示内容时进行颜色区分。
  • -p:通过清屏再显示来避免屏幕闪烁。
  • -s:将连续多个空行合并为一个空行。
  • -u:不使用下划线来标记反向文本。

实例1:显示文件的前20行

more -20 file.txt

实例2:显示文件的内容,并且高亮显示匹配到的关键词

more -c -p /pattern file.txt

loss 一页一页翻

less 的用法比起 more 又更加的有弹性,怎么说呢?在 more 的时候,我们并没有办法向前面翻只能往后面看,但若使用了 less 时,呵呵!就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,你瞧,是不是更容易使用来观看一个文件的内容了呢!

head 取前面几行

在Linux系统中,head命令用于显示文件的开头部分,默认显示文件的前10行内容。可以通过参数来指定显示的行数或者字节数。

常用参数说明:

  • -n :显示文件的前几行,数字代表行数。
  • -c [b|k|M]:显示文件的前几个字节,数字可以后跟b(字节,默认)、k(千字节)或M(兆字节)。

例子1:显示文件的前5行内容

head -n 5 filename.txt

例子2:显示文件的前100个字节

head -c 100b filename.txt

tail 取后面几行

命令名称:tail

作用说明:tail命令用于显示文件的末尾内容,默认显示文件末尾的10行内容。

参数使用:

  • -n:指定显示文件末尾的行数,为具体的行数。
  • -f:实时监控文件的新增内容,当文件有新内容追加时,会自动显示新内容。

示例1:显示文件末尾的20行内容

命令:tail -n20 filename.txt

说明:此命令将显示文件filename.txt末尾的20行内容。

示例2:实时监控文件的新增内容

命令:tail -f filename.txt

说明:此命令会实时监控文件filename.txt的新增内容,当文件有新内容追加时,会自动显示新内容。

例题:假如我想要显示 /etc/man_db.conf 的第 11 到第 20 行呢?

这个应该不算难,想一想,在第 11 到第 20 行,那么我取前 20 行,再取后十行,所以结果就是:“ head -n20 /etc/man_db.conf | tail -n 10 ”,这样就可以得到第 11 到第 20 行之间的内容了!这两个指令中间有个管线(|)的符号存在,这个管线的意思是:“前面的指令所输出的讯息,请通过管线交由后续的指令继续使用”的意思。所以, head -n 20 /etc/man_db.conf 会将文件内的 20 行取出来,但不输出到屏幕上,而是转交给后续的 tail 指令继续处理。因此 tail “不需要接文件名”,因为 tail 所需要的数据是来自于 head 处理后的结果!

od 非纯文本文件

touch 修改文件时间或创建新文件

我们在ls 这个指令的介绍时,有稍微提到每个文件在linux下面都会记录许多的时间参数,其实是有三个主要的变动时间,那么三个时间的意义是什么呢?

modification time (mtime):当该文件的“内容数据”变更时,就会更新这个时间!内容数据指的是文件的内容,而不是文件的属性或权限喔!

status time (ctime):当该文件的“状态(status)”改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间啊。

access time (atime):当“该文件的内容被取用”时,就会更新这个读取时间(access)。举例来说,我们使用 cat 去读取/etc/man_db.conf ,就会更新该文件的 atime 了。这是个挺有趣的现象,举例来说,我们来看一看你自己的 /etc/man_db.conf 这个文件的时间吧!

在Linux系统中,touch命令用于更改文件的访问和修改时间,如果文件不存在则创建一个空文件。

touch命令常用的参数包括:

  • -a:只更改访问时间。
  • -c:不创建文件,如果文件不存在则忽略操作。
  • -d:使用指定的日期和时间而不是当前的时间。
  • -m:只更改修改时间。
  • -r:使用指定文件的时间戳。
  • -t:使用指定的日期和时间 戳。

例1:创建一个空文件

touch file.txt

该命令将在当前目录下创建一个名为file.txt的空文件。

例2:更改文件的访问和修改时间

touch -m -a -r source.txt target.txt

该命令将把source.txt文件的访问和修改时间赋值给target.txt文件。

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

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

相关文章

OpenAI 推出新网络爬虫GPTBot,为GPT-5做准备

目录 一、GPTBot是什么?它是如何工作的?二、GPTBot 与 Google Bot 等搜索引擎网络爬虫有何不同?三、GPTBot 与 Perplexity AI 的网络爬虫有何不同?四、允许 GPTBot 爬取有哪些风险和好处?4.1 允许 GPTBot 的好处4.2 允…

笔记-Building Apps with the ABAP RESTful Application Programming Model-Week3

Week3 Unit 1: The Enhanced Business Scenario 本节介绍了将要练习的demo的业务场景,在前两周成果的基础上,也就是只读列表,也可以说是报表APP基础上启用了事务能力,也就是CURD以及自定义业务功能的能力,从创建基本的behavior definition,然后behavior definition proj…

Python(8):文件的IO读写操作(操作普通文件/csv/excel)

文章目录 一、文件的IO读写操作1.常用的文件读取标志符2.普通文件的读操作 二、csv文件的读写操作1.读取操作2.读取时候跳过某一行3.列表方式写入csv文件4.字典方式写入csv文件 三、excel的数据操作(非pandas模块)1.读取excel的某个sheet的某一行的某一列…

【C++】stringstream

stringstream 定义于头文件 <sstream>&#xff0c;它其实是个别名&#xff0c;具体定义如下&#xff1a; typedef basic_stringstream<char> stringstream;<sstream> 定义了三个类&#xff1a;istringstream、ostringstream 和 stringstream&#xff0c;分别…

java数据结构与算法刷题-----LeetCode268. 丢失的数字

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 数学位运算 数学 解题思路&#xff1a;时间复杂度O( n n n)&…

锐腾授权世强硬创代理导热硅脂等热界面材料,最大化降低界面热阻

随着热界面材料下游新兴应用领域如数据中心、新能源汽车、可穿戴设备等的高速发展&#xff0c;其散热需求也将同步上升&#xff0c;国内热界面材料行业市场规模呈现上涨态势。 在此趋势下&#xff0c;国内锐腾新材料制造&#xff08;苏州&#xff09;有限公司&#xff08;下称…

从零到部署指南:Ubuntu上安装Boost和Crow库

1.安装boost 在安装Crow之前&#xff0c;需要确保您的系统中已经安装了Boost库。以下是Boost库安装步骤&#xff1a; 首先&#xff0c;从Boost官方网站或通过特定的链接下载Boost的源码&#xff0c;boost源码具体可参看这个链接&#xff1a; https://blog.csdn.net/duan199201…

vue3+高德地图+turfjs实现等压线,色斑图(用于显示气象,环境等地图场景)

首先是turf.js(英文官网),也有中文网不过也就目录翻译了一下. 高德官网自行获得key 使用turf的isobands api实现. 数据: 需要准备geojson格式经纬度信息业务值(比如温度,高度,光照只要是number值什么数据都可以) 国内各地区geojson数据点这里获得 参考的是这位大佬写的内容 我…

洛谷 - P1187 3D模型

3D模型 题目描述 一座城市建立在规则的 n m n \times m nm 网格上&#xff0c;并且网格均由 1 1 1 \times 1 11 正方形构成。在每个网格上都可以有一个建筑&#xff0c;建筑由若干个 1 1 1 1 \times 1 \times 1 111 的立方体搭建而成&#xff08;也就是所有建筑的底部…

Unity MySql安装部署与Unity连接 下篇

一、前言 上篇讲到了如何安装与部署本地MySql&#xff1b;本篇主要讲Unity与MySql连接、创建表、删除表&#xff0c;然后就是对表中数据的增、删、改、查等操作。再讲这些之前会说一些安装MySql碰到的一些问题和Unity连接的问题。 当把本地MySql部署好之后&#xff0c;我们可能…

uniapp 小程序获取WiFi列表

<template><view ><button click"getWifiList">获取WiFi列表</button><scroll-view:scroll-top"scrollTop"scroll-yclass"content-pop"><viewclass"itemInfo"v-for"(item, index) in wifiList&…

网络原理(应用层、传输层)

文章目录 一、应用层1.1 自定义协议1.2 通用协议XMLJSONprotobuf 二、传输层2.1 UDP协议2.2 TCP协议协议端格式及解析可靠性机制确认应答超时重传连接管理&#xff08;三次握手&#xff0c;四次挥手&#xff09;流量控制拥塞控制 效率机制滑动窗口延迟应答捎带应答 粘包问题TCP…

3月产品更新来袭,快来看有没你期待的功能

亮点更新一览 增强制作报表易用性&#xff0c;提升用户体验&#xff0c;如仪表盘图层锁定保持原有层级、即席查询支持批量选择表字段。 增强报表展示和分析能力&#xff0c;满足更多项目需求&#xff0c;如仪表盘表格支持配置是否显示分析菜单按钮、Web电子表格新增多选输入…

Unity(MVC思想)

MVC 一下演示使用MVC和不使用MVC的做法区别。 前两个没有使用MVC 主面板逻辑&#xff1a; mainPanel是该脚本名字 每个场景中不一定存在该面板&#xff0c;单纯的显隐需要去手动挂载过于麻烦。 所以自己读取创建面板出来(每个场景仅创建一次)&#xff0c;存下该面板&#xf…

车载平板丨车载数据终端是什么,如何在农机领域发挥作用

车载数据终端是指一种能够获取和处理车辆及其周边环境信息的设备&#xff0c;它集成了GPS导航、行车记录仪、车况诊断、通信等功能&#xff0c;能够实时监测车辆的位置、速度、行驶路线、油耗等数据&#xff0c;为车辆管理和运营提供数据支持。在农机领域&#xff0c;车载数据终…

C++ //练习 11.16 使用一个map迭代器编写一个表达式,将一个值赋予一个元素。

C Primer&#xff08;第5版&#xff09; 练习 11.16 练习 11.16 使用一个map迭代器编写一个表达式&#xff0c;将一个值赋予一个元素。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /*************************************…

负荷预测 | Matlab基于TCN-BiGRU-Attention单输入单输出时间序列多步预测

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于TCN-BiGRU-Attention单输入单输出时间序列多步预测&#xff1b; 2.单变量时间序列数据集&#xff0c;采用前12个时刻预测未来96个时刻的数据&#xff1b; 3.excel数据方便替换&#xff0c;运行环境matlab…

Ant Desgin Vue Tree Tab 个性化需求

背景 个人对前端不是很熟&#xff0c;或者说过目就忘&#xff0c;但是对前端还要求不少&#xff0c;这就难搞了。 使用的前端是Mudblazor和ant design vue, Mudblazor 还没有开始搞&#xff0c;现在先用ant design vue&#xff0c;版本是vue3&#xff0c; ant design vue 4版…

OSPF 开放式最短路径优先协议

目录 技术产生原因&#xff1a;因为RIP存在不足 OSPF优点&#xff1a; RIPV2和OSPFV2比较&#xff1a; 相同点&#xff1a; 不同点&#xff1a; OSPF的结构化部署 --- 区域划分 区域划分的主要目的&#xff1a; 区域边界路由器 --- ABR &#xff1a; 区域划分的要求&am…

【静态分析】静态分析笔记03 - 数据流分析(应用)

参考&#xff1a; 【课程笔记】南大软件分析课程3——数据流分析应用&#xff08;课时3/4&#xff09; - 简书 ---------------------------------------------------------------------------- 1. 数据流分析总览 may analysis: 输出可能正确的信息&#xff08;需做 over-…