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

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]