Linux总结(十二):linux文件显示命令 cat,more,less,head,tail

2024-04-28 05:18

本文主要是介绍Linux总结(十二):linux文件显示命令 cat,more,less,head,tail,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、cat命令:连接文件或打印输出

        cat 命令可以用来显示文本文件的内容(类似于 DOS 下的 type 命令),也可以把几个文件内容附加到另一个文件中,即连接合并文件。关于此命令,有人认为写 cat 命令的人是因为喜欢猫,因此给此命令起名为“cat”,其实不然,cat 是 concatenate(连接、连续)的简写。

1、基本命令

[root@localhost ~]# cat [选项] 文件名
或者
[root@localhost ~]# cat 文件1 文件2 > 文件3
cat 命令常用选项及含义
选项含义
-A相当于 -vET 选项的整合,用于列出所有隐藏符号;
-E列出每行结尾的回车符 $;
-n对输出的所有行进行编号;
-b同 -n 不同,此选项表示只对非空行进行编号。
-T把 Tab 键 ^I 显示出来;
-V列出特殊字符;
-s当遇到有连续 2 行以上的空白行时,就替换为 1 行的空白行。

        注意,cat 命令用于查看文件内容时,不论文件内容有多少,都会一次性显示。如果文件非常大,那么文件开头的内容就看不到了。不过 Linux 可以使用PgUp+上箭头组合键向上翻页,但是这种翻页是有极限的,如果文件足够长,那么还是无法看全文件的内容。

        因此,cat 命令适合查看不太大的文件。

2、使用

[root@localhost ~]# cat anaconda-ks.cfg
[root@localhost ~]# cat -n anaconda-ks.cfg
#如果使用 "-n" 选项,则会显示行号。
[root@localhost ~]# cat -A anaconda-ks.cfg
#如果使用 "-A" 选项,则相当于使用了 "-vET" 选项,可以查看文本中的所有隐藏符号,
#包括回车符($)、Tab 键(^I)等。
cat file1.txt file2.txt > file3.txt
#将文件 file1.txt 和 file2.txt 的内容合并后输出到文件 file3.txt 中

二、more命令:分页显示文件内容

        在讲解 cat 命令时,我们留下了一个疑问,即当使用 cat 命令查看文件内容时,如果文件过大,以至使用PgUp+上箭头组合键向上翻页也无法看全文件中的内容,more 命令可以分页显示文本文件的内容,使用者可以逐页阅读文件中内容。

1、基本命令

[root@localhost ~]# more [选项] 文件名
more 命令选项及含义
选项含义
-f计算行数时,以实际的行数,而不是自动换行过后的行数。
-p不以卷动的方式显示每一页,而是先清除屏幕后再显示内容。
-c跟 -p 选项相似,不同的是先显示内容再清除其他旧资料。
-s当遇到有连续两行以上的空白行时,就替换为一行的空白行。
-u不显示下引号(根据环境变量 TERM 指定的终端而有所不同)。
+n从第 n 行开始显示文件内容,n 代表数字。
-n一次显示的行数,n 代表数字。

      more 命令的执行会打开一个交互界面,以下是交互命令:

more 命令交互指令及功能
交互指令功能
h 或 ?显示 more 命令交互命令帮助。
q 或 Q退出 more。
v在当前行启动一个编辑器。
:f显示当前文件的文件名和行号。
!<命令> 或 :!<命令>在子Shell中执行指定命令。
回车键向下移动一行。
空格键向下移动一页。
Ctrl+l刷新屏幕。
=显示当前行的行号。
'转到上一次搜索开始的地方。
Ctrf+f向下滚动一页。
.重复上次输入的命令。
/ 字符串搜索指定的字符串。
d向下移动半页。
b向上移动一页。

2、基本使用

[root@localhost ~]# more anaconda-ks.cfg
[root@localhost ~]# more -10c anaconda-ks.cfg

三、head命令:显示文件开头的内容

1、基本格式:

[root@localhost ~]# head [选项] 文件名
head 命令常用选项及含义
选项含义
-n K这里的 K 表示行数,该选项用来显示文件前 K 行的内容;如果使用 "-K" 作为参数,则表示除了文件最后 K 行外,显示剩余的全部内容。
-c K这里的 K 表示字节数,该选项用来显示文件前 K 个字节的内容;如果使用 "-K",则表示除了文件最后 K 字节的内容,显示剩余全部内容。
-v显示文件名;

        如不设置显示的具体行数,则默认显示 10 行的文本数据。 

2、基本用法

[root@localhost ~]# head anaconda-ks.cfg
[root@localhost ~]# head -n 20 anaconda-ks.cfg
[root@localhost ~]# head -20 anaconda-ks.cfg

 四、less命令:查看文件内容

        less 命令的作用和 more 十分类似,都用来浏览文本文件中的内容,不同之处在于,使用 more 命令浏览文件内容时,只能不断向后翻看,而使用 less 命令浏览,既可以向后翻看,也可以向前翻看。

             不仅如此,为了方面用户浏览文本内容,less 命令还提供了以下几个功能:

              (1)使用光标键可以在文本文件中前后(左后)滚屏;

              (2)用行号或百分比作为书签浏览文件;

              (3)提供更加友好的检索、高亮显示等操作;

              (4)兼容常用的字处理程序(如 Vim、Emacs)的键盘操作;

              (5)阅读到文件结束时,less 命令不会退出;

              (6)屏幕底部的信息提示更容易控制使用,而且提供了更多的信息。

1、基本格式

[root@localhost ~]# less [选项] 文件名
less 命令选项及含义
选项选项含义
-N显示每行的行号。
-S行过长时将超出部分舍弃。
-e当文件显示结束后,自动离开。
-g只标志最后搜索到的关键同。
-Q不使用警告音。
-i忽略搜索时的大小写。
-m显示类似 more 命令的百分比。
-f强迫打开特殊文件,比如外围设备代号、目录和二进制文件。
-s显示连续空行为一行。
-b <缓冲区大小>设置缓冲区的大小。
-o <文件名>将 less 输出的内容保存到指定文件中。
-x <数字>将【Tab】键显示为规定的数字空格。

          在使用 less 命令查看文件内容的过程中,和 more 命令一样,也会进入交互界面,因此需要读者掌握一些常用的交互指令

less 交互指令及功能
交互指令功能
/字符串向下搜索“字符串”的功能。
?字符串向上搜索“字符串”的功能。
n重复*前一个搜索(与 / 成 ? 有关)。
N反向重复前一个搜索(与 / 或 ? 有关)。
b向上移动一页。
d向下移动半页。
h 或 H显示帮助界面。
q 或 Q退出 less 命令。
y向上移动一行。
空格键向下移动一页。
回车键向下移动一行。
【PgDn】键向下移动一页。
【PgUp】键向上移动一页。
Ctrl+f向下移动一页。
Ctrl+b向上移动一页。
Ctrl+d向下移动一页。
Ctrl+u向上移动半页。
j向下移动一行。
k向上移动一行。
G移动至最后一行。
g移动到第一行。
ZZ退出 less 命令。
v使用配置的编辑器编辑当前文件。
[移动到本文档的上一个节点。
]移动到本文档的下一个节点。
p移动到同级的上一个节点。
u向上移动半页。

2、基本使用

[root@localhost ~]# less /boot/grub/grub.cfg
#
#DO NOT EDIT THIS FILE
#
#It is automatically generated by grub-mkconfig using templates from/etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; thenset have_grubenv=trueload_env
fi
set default="0"
if [ "$ {prev_saved_entry}" ]; thenset saved_entry="${prev_saved_entry}"save_env saved_entryset prev_saved_entry= save_env prev_saved_entryset boot_once=true
fifunction savedefault {if [ -z "${boot_once}" ]; then
:

        可以看到,less 在屏幕底部显示一个冒号(:),等待用户输入命令,比如说,用户想向下翻一页,可以按空格键;如果想向上翻一页,可以按 b 键。

五、tail命令:显示文件结尾的内容

tail 命令和 head 命令正好相反,它用来查看文件末尾的数据

1、基本格式

[root@localhost ~]# tail [选项] 文件名
tail 命令选项及含义
选项含义
-n K这里的 K 指的是行数,该选项表示输出最后 K 行,在此基础上,如果使用 -n +K,则表示从文件的第 K 行开始输出。
-c K这里的 K 指的是字节数,该选项表示输出文件最后 K 个字节的内容,在此基础上,使用 -c +K 则表示从文件第 K 个字节开始输出。
-f输出文件变化后新增加的数据。

2、tail的基本使用

[root@localhost ~]# tail -n 3 /etc/passwd
#查看 /etc/passwd 文件最后 3 行的数据内容。
[root@localhost ~]# tail -3 /etc/passwd
#除此之外,还可以采用如下这种形式,可以看到,
#使用 tail -n 3 /etc/passwd 命令和 tail -3 /etc/passwd 的效果是一样的。
[root@localhost ~]# tail -c 100 /etc/passwd
#查看 /etc/passwd 文件末尾 100 个字节的数据内容。
[root@localhost ~]#tail -f anaconda-ks.cfg
# 监听文件的新増内容。tail 命令有一种比较有趣的用法,
#可以使用 "-f" 选项来监听文件的新増内容

       这条命令会显示文件的最后 10 行内容,而且光标不会退出命令,每隔一秒会检查一下文件是否增加新的内容,如果增加就追加到原来的输出结果后面并显示。因此,这时如果向文件中追加一些数据(需要开启一个新终端):

[root@localhost ~]# echo 2222222222 >> anaconda-ks.cfg
[root@localhost ~]# echo 3333333333 >> anaconda-ks.cfg
#在新终端中通过echo命令向文件中追加数据

           那么,在原始的正在监听的终端中,会看到如下信息

[root@localhost ~]# tail -f anaconda-ks.cfg @server-platforin
@server-policy
pax
oddjob
sgpio
certmonger
pam_krb5
krb5-workstation
perl-DBD-SQLite
%end2222222222
33333333333
#在文件的结尾处监听到了新増数据

            如果想终止输出,按【Ctrl+c】键中断 tail 命令即可。

这篇关于Linux总结(十二):linux文件显示命令 cat,more,less,head,tail的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/942405

相关文章

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

Linux编译器--gcc/g++使用方式

《Linux编译器--gcc/g++使用方式》文章主要介绍了C/C++程序的编译过程,包括预编译、编译、汇编和链接四个阶段,并详细解释了每个阶段的作用和具体操作,同时,还介绍了调试和发布版本的概念... 目录一、预编译指令1.1预处理功能1.2指令1.3问题扩展二、编译(生成汇编)三、汇编(生成二进制机器语

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li