17. 【Linux教程】查看文件内容

前面小节介绍了文件和目录相关的操作,本小节介绍如何使用 filecatmoretail 命令在不同场景下去查看文件相关信息和内容。

1. file 查看文件类型

file 命令可以用来查看文件类型,还能查看文件的编码格式,下面列举一些 file 命令的参数:

file 命令参数名称功能与作用描述
-b表示 --brief,显示查看结果时,不显示文件名
-c表示 --checking-printout,显示指令执行过程
-f表示 --files-from FILE,列出文件中文件名的文件类型
-F表示 --separator STRING,使用指定符号替换输出文件名后的默认的 
-i输出 mime 类型的字符串
-L表示 --dereference,查看对应软链接对应文件的文件类型
-z表示 --uncompress,尝试查看压缩文件信息

1.1 查看文件类型

这里还是以 /home 目录里面的文件为例,命令如下:

cd /homelsfile a.txtfile new_dircd study/file alltxt.tarfile alltxt.tar.gzfile alltxt.tar.bz2file alltxt.tar.Z

执行结果如下图:

Tips:如图所示,使用 file 命令可以看到文件的编码、文件类型。

1.2 查看文件时不显示文件名称

在 file 命令后面跟上一个 -b 参数重复一次上面的流程,命令如下:

cd /homelsfile -b a.txtfile -b new_dircd study/file -b alltxt.tarfile -b alltxt.tar.gzfile -b alltxt.tar.bz2file -b alltxt.tar.Z

执行结果如下图:

Tips:如图所示使用 -b 参数查看的文件信息时没有打印出文件名。

1.3 查看压缩包信息

进入到 /home/study,使用 -z 参数去查看压缩包信息,命令如下:

cd /home/studylsfile -z alltxt.tar.gzfile -z alltxt.tar.bz2file -z alltxt.tar.Z

执行结果如下图:

Tips:如图所示,展示了压缩包相关的信息。

2. cat 查看文件内容

cat 命令可以用来查看文件内容,下面列举一些 cat 命令的参数:

cat 命令参数名称功能与作用描述
-A表示 --show-all,展示所有内容
-b表示 --number-nonblank,对查看的内容的非空行,对其行数编号
-n表示 --number,对查看的内容行数编号输出
-v表示 --show-nonprinting,使用^ 和M- 引用,除了LFD和 TAB 之外
-E表示 --show-ends,在每行的最后展示KaTeX parse error: Expected 'EOF', got '符' at position 1: 符̲号;就是无论你输入了什么,屏幕…符号结尾
-e同 -vE
-s表示 --squeeze-blank,抑制空行输入,就是如果你有多行连续的空行,他会压缩成一行输出
-T表示 --show-tabs,将跳格字符显示为^I
-t同 -VT

2.1 查看文件所有内容

这里以之前小节配置过的 /etc/sysconfig/network-scripts/ifcfg-ens160 文件为例,使用如下命令查看其中的内容:

cd /etc/sysconfig/network-scriptslscat ifcfg-ens160

执行结果如下图:

Tips:在输入路径或者文件名称的时候可以使用 Tab 键来补全。

2.2 对查看内容编排

命令如下:

cat -b ifcfg-ens160cat -n ifcfg-ens160

执行结果如下图:

Tips-b 表示排除掉空行的内容,然后对其输出编号,会后会补上一行空行展示出来。

3. more 命令查看文件内容

more 命令也用来查看文件内容,下面列举一些 more 命令的参数:

more 命令参数名称功能与作用描述
+n从第 n 行开始显示
-n定义屏幕大小为 n 行
+/pattern在每个档案显示前搜寻该字串 pattern,然后从该字串前两行之后开始显示
-c从顶部清屏,然后显示
-d提示 Press space to continue,'q' to quit(按空格键继续,按q键退出),而禁用响铃功能
-l忽略 Ctrl+l(换页) 字符
-p通过清除窗口而不是滚屏来对文件进行换页,与 -c 选项相似
-s把连续的多个空行显示为一行
-u把文件内容中的下画线去掉

这里以查看 /etc/mtools.conf 文件内容为例,命令如下:

cd /etcmore mtools.conf

执行结果如下图:

Tips : 如图中所示,可以按空格键继续浏览剩下内容,也可以按 q 键结束浏览。

4. tail 命令查看文件内容

tail 命令也用来查看文件内容,下面列举一些 tail 命令的参数:

tail 命令参数名称功能与作用描述
-f表示 --follow[={name|descriptor}],该参数用于监听文件新增内容。
-c表示 --bytes=[+]NUM,从 num 字节位置读取指定文件
-n表示 --lines=[+]NUM,从 num 行位置读取指定文件。
-F同 -f
-q表示 --quiet,从不输出给出文件名的首部
-s表示 --sleep-interval=N,与-f合用,表示在每次反复的间隔休眠S秒

4.1 查看文件最后几行内容

以 /etc/mtools.conf 文件为例,如要查看最后 6 行内容,命令如下:

cd /etctail -5 mtools.conf

执行结果如下图:

Tips:使用如图所示的命令可以查看 mtools.conf 文件的最后 5 行内容。

4.2 查看指定行数的内容

以 /etc/mtools.conf 文件为例,如要从第 45 行开始显示内容,命令如下:

tail -n +45 mtools.conf

执行结果如下图:

Tips:使用如图所示的命令可以查看 mtools.conf 文件的第 45 行开始的内容。

4.3 监听日志文件

在实际工作中,经常会使用 -f 去监听日志新增内容,达到开发者调试的目的,这里为了演示方便,需要打开之前安装过的 MobaXterm,按照之前第 7 小节的步骤,打开两个登录窗口,示例如下:

首先进入 /home 目录,新建一个日志文件 access.log,命令如下:

cd /homelstouch access.log

执行结果如下图:

接下来使用 tail 命令跟上 -f 参数对 access.log 日志文件监听,命令如下:

tail -f access.log

执行结果如下图:

接下来在新打开的窗口中,进入 /home 目录,向 access.log 文件写入内容:

cd /homeecho "这是第一条测试内容(time=2020-05-05 18:00)" >> access.logecho "这是第二条测试内容(time=2020-05-05 19:00)" >> access.logecho "这是第三条测试内容(time=2020-05-05 20:00)" >> access.log

执行结果如下图:

Tips:这种监听日志的方法经常用在后端程序开发调试工作中。

此时模拟日志数据输入完成,接着打开原来的监听窗口,如下图所示:

5.小结

本小节介绍了如何使用 filecatmoretail 去查看文件内容,读者根据不同场景来选择合适的命令查看文件内容,其中 tail -f 命令经常用于后端开发日志监听,来调试代码的作用,也能帮助快速捕捉到程序异常,提升修复问题的效率。

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

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

相关文章

文件上传漏洞--Upload-labs--Pass04--.htaccess绕过

一、什么是 .htaccess 文件 1、官方解释: .htaccess文件主要用于控制Web服务器(如Apache)的配置,使得无需修改主服务器配置文件即可对特定目录进行访问控制和功能设置。 2、通俗解释: 现有一份 写有恶意代码的 .ph…

[力扣 Hot100]Day28 两数相加

题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都…

计算机网络-数据通信基础

目录 前言 一、数据通信基本概念 二、数据通信相关知识1 总结 前言 正在学习计算机网络体系,把每日所学的知识梳理出来,既能够当作读书笔记,又能分享出来和大家一同学习讨论。 一、数据通信基本概念 基本概念:信源、信道、信宿&…

【LeetCode: 589. N 叉树的前序遍历 + DFS】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

NBA2K24 精品蔡徐坤面补

NBA2K24 精品蔡徐坤面补 NBA2K23-NBA2K24通用 精品蔡徐坤面补 下载地址: https://www.changyouzuhao.cn/13072.html

精读《What‘s new in javascript》

1. 引言 本周精读的内容是:Google I/O 19。 2019 年 Google I/O 介绍了一些激动人心的 JS 新特性,这些特性有些已经被主流浏览器实现,并支持 polyfill,有些还在草案阶段。 我们可以看到 JS 语言正变得越来越严谨,不…

MySQL导入/导出数据

MySQL导入/导出数据 文章目录 MySQL导入/导出数据一、MySQL 导入数据1、mysql 命令导入2、source 命令导入3、使用 LOAD DATA 导入数据4、使用 mysqlimport 导入数据4.1、mysqlimport的常用选项介绍 二、MySQL 导出数据1、使用 SELECT ... INTO OUTFILE 语句导出数据2、mysqldu…

找座位 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C 题目描述 在一个大型体育场内举办了一场大型活动,由于疫情防控的需要,要求每位观众的必须间隔至少一个空位才允许落座。 现在给出一排观众座位分布…

Nginx 正向代理、反向代理

文章目录 前言1. 正向代理1.1 概念1.2 逻辑图1.3 使用场景 2. 反向代理2.1 概念2.2 逻辑图2.3 使用场景 前言 正向代理主要是用来解决访问限制问题;反向代理则是提供负载均衡、安全防护等作用 1. 正向代理 1.1 概念 正向代理是一个位于客户端和目标服务器之间的代理…

入门OpenCV:图像阈值处理

基本概念 图像阈值是一种简单、高效的图像分割方法,目的是将图像转换成二值图像。这个过程涉及比较像素值和阈值,根据比较结果来确定每个像素点的状态(前景或背景)。图像阈值在处理二维码、文本识别、物体跟踪等领域中非常有用。…

数据结构第十六天(二叉树层序遍历/广度优先搜索(BFS)/队列使用)

目录 前言 概述 接口 源码 测试函数 运行结果 往期精彩内容 前言 从前的日色变得慢,车,马,邮件都慢,一生,只够爱一个人。 概述 二叉树的层序遍历可以使用广度优先搜索(BFS)来实现。具体步骤如下&…

LiveGBS流媒体平台GB/T28181常见问题-基础配置流媒体服务配置中本地|内网IP外网IP(可选)外网IP收流如何配置

LiveGBS常见问题基础配置流媒体服务配置中本地|内网IP外网IP外网IP收流如何配置? 1、流媒体服务配置2、播放提示none rtp data receive3、多网卡服务器4、收流端口配置5、端口区间可以如何配置6、搭建GB28181视频直播平台 1、流媒体服务配置 LiveGBS中基础配置-》流…

多线程---创建线程

1.概述 多线程是指从软件或者硬件上实现多个线程并发执行的技术。线程是程序中独立运行的程序片段,每个线程都有独立的执行流程,可以在同一时间内执行不同的任务。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提…

反编译调试C#编写的exe软件和dll方法详解

1.首先需要下载软件dnSpy.exe,下载地址:https://github.com/dnSpy/dnSpy/releases/tag/v6.1.8 2.使用方法: 首先打开项目,我们这里可以选择dll,也可以选择exe 这边我们是打开了一个WPF写的客户端软件。 2.打开后我…

不同品牌和种类的电容与电感实测对比(D值、Q值、ESR、X)

最近买了个LCR电桥,就想测一下手头上的各种电容电感的参数,对比一下。 测试设备是中创ET4410,测量的参数有:电容值、电感值、D(损耗角正切值)、Q(品质因数)、ESR(等效串联电阻)、X(电抗,通常表示为感抗XL或容抗XC)。 …

使用 LangChain+大模型,基于文本数据构建知识图谱

大家好!在本篇博客中,我将带领大家学习知识图谱以及如何利用大模型和自己的文本数据构建一个。 喜欢本文记得收藏、关注、点赞。 什么是知识图谱? 知识图谱,也被称为语义图,是一种智能结构,以高效的方式…

【打工日常】使用docker部署Dashdot工具箱

一、Dashdot介绍 dashdot是一个简洁清晰的服务器数据仪表板,基于React实现 ,主要是显示操作系统、进程、存储、内存、网络这五个的数据。 二、本次实践介绍 1. 本次实践简介 本次实践部署环境为个人测试环境 2. 本地环境规划 本次实践环境规划&#xf…

PyCharm 自动缩进代码 (Auto-Indent Lines)

PyCharm 自动缩进代码 [Auto-Indent Lines] 1. Ctrl A2. Code -> Auto-Indent LinesReferences 1. Ctrl A 全选代码。 2. Code -> Auto-Indent Lines 自动缩进快捷键 Ctrl Alt I。 References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

JavaScript 对象判断

如何判断一个对象是否是Set、Map、Array、Object 参考链接: https://blog.csdn.net/yunchong_zhao/article/details/115915624 let set new Set() let map new Map() let arr [] let obj {}console.log(Object.prototype.toString.call(obj)); // [object Obje…

使用Apache ECharts同时绘制多个统计图表

目录 1、介绍 2、相关知识 3、代码 4、效果 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎Python人工智能开发和前端开发。 …