一分钟学一个 Linux 命令 - cat 和 tail
前言
大家好,我是 god23bin。今天我给大家带来的是 Linux 命令系列,每天只需一分钟,记住一个 Linux 命令不成问题。今天,需要你花费两分钟时间,因为我们要介绍的是两个常用的查看文件内容的命令:cat 和 tail 命令。
cat
什么是 cat 命令?
cat 命令源自于 concatenate files and print 这个词组,意思为「连接文件并输出」。
cat 命令用于连接一个或多个文件,并将结果输出到终端或其他文件,这样我们就能在终端直接看到输出的内容。cat 命令适合查看内容较少、纯文本的文件。
如何使用 cat 命令?
cat 命令的使用非常简单。你只需在终端中输入 cat,并指定要连接的文件名。
基本语法:
cat [选项参数] 文件名
如果想要同时查看多个文件的话,那么可以这样:
cat 文件名1, 文件名2
这样就能将这两个文件连接起来了,并输出到终端。
举例说明
假设我们在 /opt/games/gta6 目录下,现在有一个 show.txt 的文本文件,我们想查看该文件的内容,那么可以在终端输入以下命令:
cat show.txt
这将在终端中显示 show.txt 文件的内容。

常用选项参数
-n(--number):显示行号。-b(--number-nonblank):显示行号,空行没有行号。-s(--squeeze-blank):显示行号,多个空行压缩合并成一行,显示空行行号。-T(--show-tabs):在文件中显示制表符(将 TAB 字符显示为^I符号)
例子
cat某个文件的同时显示行号:
cat -n show.txt

cat某个文件的同时显示行号,空行不显示行号:
cat -b show.txt

cat某个文件的同时显示行号,多个空行合并成一行显示行号:
这里我修改 show.txt 的内容,多加上几个空行,接着使用 -s 命令输出内容。
cat -s show.txt

- 显示在文件中的制表符:
cat -T show.txt
这将在文件中的制表符位置显示 ^I 符号。

清空指定文件内容
我们可以借助「空设备文件」和「输出重定向操作符」,清空指定文件的内容。
cat /dev/null > show.txt
此时再 cat show.txt 就看不到任何内容了。

写入内容到文件
借助「输出重定向操作符」写入内容到指定的文件,遇到 EOF 中止符后才结束写入并保存。
cat > show.txt << EOF

tail
什么是 tail 命令?
tail 的意思就是「尾部、尾巴」,顾名思义,该命令用于显示文件的尾部内容,默认会显示指定文件的末尾 10 行的内容。
tail 命令通常用于查看日志文件或实时监控日志文件的更新。
如何使用 tail 命令?
使用 tail 命令非常简单。你只需在终端中输入 tail,并指定要查看内容的文件名。
基本语法:
tail [选项参数] 文件名
同样,tail 也可以指定多个文件,如果指定了多个文件,那么会在显示的每个文件内容前面加上文件名来加以区分。
举例说明
依旧在 /opt/games/gta6 目录下,现在有一个 readme.txt 的文本文件,我们想查看该文件的尾部内容,那么可以在终端输入以下命令:
tail readme.txt

默认输出显示 10 行的尾部内容。
指定多个文件:
tail show.txt readme.txt

常用选项参数
-n:指定要显示的尾部行数。-f:(follow)持续跟踪显示文件尾部最新的内容,比如你查看日志文件的时候,当日志发生变化,就能实时看到日志的输出显示。
例子
- 指定显示文件尾部 20 行的内容
tail -n 20 readme.txt

- 持续跟踪文件尾部最新内容
tail -f sys-user.log
一般这样就会跟踪 sys-user.log 日志文件的尾部最新的内容,我们就能看到会持续输出的日志。
不过,目前这样只能输出尾部 10 行的内容,跟踪也只能看 10 行,我们想看更多行怎么办呢?一般在查看日志的时候,日志的输出是比较多的,我一般是跟踪 1000 行,那么可以在终端输入:
tail -1000f sys-user.log
这样,就能够指定跟踪尾部最新的 1000 行的内容了!
总结
现在,相信聪明的你已经掌握了这两个命令了!你可以开始在终端中尝试使用 cat 和 tail 命令,自己捣鼓玩玩!掌握 cat 和 tail 命令的基本用法和常见选项参数,将使我们更加高效地查看相关文件的内容。
这里需要注意的是这两个命令都有 -n 参数,cat 的 -n 是用来显示行号的,而 tail 的 -n 是用来指定显示多少行的。
最后的最后
希望各位屏幕前的靓仔靓女们给个三连!你轻轻地点了个赞,那将在我的心里世界增添一颗明亮而耀眼的星!
咱们下期再见!
一分钟学一个 Linux 命令 - cat 和 tail的更多相关文章
- 一天学一个Linux命令:第一天 ls
文章更新于:2020-03-02 注:本文参照 man ls 手册,并给出使用样例. 文章目录 一.命令之`ls` 1.名字及介绍 2.语法格式 3.输出内容示例 4.参数 二.命令实践 1.`ls ...
- 一天学一个Linux命令:第二天 cd pwd
文章更新于:2020-03-08 注:本文参照 man pwd 手册,并给出使用样例. 文章目录 一.命令之 `cd` 和 `pwd` 1.命令介绍 2.语法格式 3.使用样例 4.pwd 参数 5. ...
- 每天一个linux命令(1):tail 命令
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新, ...
- 【转载】每天一个Linux命令
目 录 每天一个linux命令(1) : ls 命令 每天一个linux命令(2) : cd 命令 每天一个linux命令(3) : pwd 命令 每天一个linux命令(4) : mkdi ...
- 2018/03/07 每日一个Linux命令 之 cat
每日一个Linux命令 2018-03-07 Linux 命令 cat cat [-参数] fileName 在之前的Linux使用中 cat 命令一直作为文本输出指令来使用,很少可以深入学习的该命令 ...
- 每天一个linux命令:cat(10)
cat cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用 注意:当文件较大时,文本在屏幕上迅速 ...
- 每天一个 Linux 命令(21):find命令之xargs
在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...
- 每天一个linux命令目录
出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...
- 每天一个linux命令-转载
每天一个linux命令目录 转载自: http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令 ...
- [转]每天一个linux命令目录
[转]每天一个linux命令目录 http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每 ...
随机推荐
- 方差分析1—单因素方差分析(R语言)
方差分析是由英国著名统计学家:R.A.Fisher推导,也叫F检验,用于多个样本间均数的比较(分析类别变量.有序变量).当包含的因子是解释变量时,关注的重点通常会从预测转向组别差异的分析.方差分析是一 ...
- 华为 A800-9000 服务器 离线安装MindX DL
MindX DL(昇腾深度学习组件)是支持 Atlas 800 训练服务器.Atlas 800 推理服务器的深度学习组件参考设计,提供昇腾 AI 处理器资源管理和监控.昇腾 AI 处理器优化调度.分布 ...
- 【算法总结】强化学习部分基础算法总结(Q-learning DQN PG AC DDPG TD3)
总结回顾一下近期学习的RL算法,并给部分实现算法整理了流程图.贴了代码. 1. value-based 基于价值的算法 基于价值算法是通过对agent所属的environment的状态或者状态动作对进 ...
- mumpy常用函数
numpy.array(list(1,2,3,4)) #将一个list类型/tupe类型数据转换为一个array数组对象 #默认所有的数据类型都是相同,若传进来的参数类型不同,则遵循以下优先级: st ...
- 补五月三号java基础知识
1.泛型技术可以通过一种类型或方法操纵各种不同类型的对象,同时又提供了编译时的类型安全保证.2.容器(即集合)是以类库形式 提供的多种数据结构,用户在编程时可直接使用3.泛型其实质就是将数据的类型参数 ...
- Mysql简明语法
show databases ; use mybatis; show tables ; select * from user; select * from user where id=1; updat ...
- Django笔记二十二之多数据库操作
本文首发于公众号:Hunter后端 原文链接:Django笔记二十二之多数据库操作 这一篇笔记介绍一下多数据库操作. 在第十篇笔记的时候,简单介绍过 using() 的使用方法,多个数据库就是通过 u ...
- Python爬取pexels图片
研究Python爬虫,网上很多爬取pexels图片的案例,我下载下来运行没有成功,总量有各种各样的问题. 作为菜鸟初学者,网上的各个案例代码对我还是有不少启发作用,我用搜索引擎+chatGPT逐步对代 ...
- 狠狠地切割(Hard Version)
狠狠地切割(Hard Version) (https://www.luogu.com.cn/problem/P8889) 跟easy版非常像,但是数据太大开标记数组的话会爆所.以得转换一下 开一个ma ...
- YOLO3论文中文版
文章目录 YOLO3论文中文版 摘要 1.引言 2. 解决方案 2.1 边界框预测 2.2 类预测 2.3 多尺度预测 2.4 特征提取器 2.5 训练 3.我们的做法 4. 失败的尝试 5.这一切意 ...