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

相关文章

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

MySQL的ALTER TABLE命令的使用解读

《MySQL的ALTERTABLE命令的使用解读》:本文主要介绍MySQL的ALTERTABLE命令的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、查看所建表的编China编程码格式2、修改表的编码格式3、修改列队数据类型4、添加列5、修改列的位置5.1、把列

Linux CPU飙升排查五步法解读

《LinuxCPU飙升排查五步法解读》:本文主要介绍LinuxCPU飙升排查五步法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录排查思路-五步法1. top命令定位应用进程pid2.php top-Hp[pid]定位应用进程对应的线程tid3. printf"%

Linux下安装Anaconda3全过程

《Linux下安装Anaconda3全过程》:本文主要介绍Linux下安装Anaconda3全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录简介环境下载安装一、找到下载好的文件名为Anaconda3-2018.12-linux-x86_64的安装包二、或者通