一分钟学一个 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常用命令,坚持每 ...
随机推荐
- call、apply 及 bind 函数
首先从以下几点来考虑如何实现这几个函数 不传入第一个参数,那么上下文默认为 window: 改变了 this 指向,让新的对象可以执行该函数,并能接受参数. 实现call 首先 context 为可选 ...
- 手把手带你从0完成医疗行业影像图像检测三大经典模型InceptionV3-RestNet50-VGG16(附python源代码及数据库)——改变世界经典人工智能项目实战(一)手把手教学迁移学习
目录 1.迁移学习简介 2.项目简介 3.糖尿病视网膜病变数据集 4.考虑类别不平衡问题 5.定义模型质量 6.定义损失函数 7.预处理图像 8.搭建迁移学习网络 VGG16 迁移学习网络 Incep ...
- 使用webpack 优化自己的项目。
一.首先要了解概念:module,chunk 和 bundle 到底是什么? module,chunk 和 bundle 其实就是同一份逻辑代码在不同转换场景下的取了三个名字: 我们直接写出来的是 m ...
- 游戏模拟——Position based dynamics
目录 Verlet积分 基本积分方法 Verlet 算位置 Verlet 算速度 PBD 基于力的方法解碰撞 过冲问题 基于位置的方法解碰撞 算法流程 求解器借用的思想 关于动量守恒 约束投影 简单约 ...
- Golang 常用库之jwt-go
本文地址 https://www.cnblogs.com/zichliang/p/17303759.html github地址:https://github.com/dgrijalva/jwt-go ...
- mysql 清空数据表id 重1开始 帝国cms清空数据表id 重1开始
alter table phome_ecms_news auto_increment=1; alter table phome_ecms_news_check auto_increment=1; al ...
- Golang爬虫:使用正则表达式解析HTML
之前所写的爬虫都是基于Python,而用Go语言实现的爬虫具有更高的性能. 第一个爬虫 使用http库,发起http请求 package main import ( "fmt" & ...
- c语言趣味编程(3)打鱼还是筛网
一.问题描述 中国有句俗语叫"三天打鱼两天晒网".某人从1990年1月1日起开始"三天打鱼两天晒网",问这个人在以后的以后的某一天中是打鱼还是晒网. 二.设计思 ...
- 第6章. 部署到GithubPages
依托GitHub Pages 服务,可以把 vuepress 编译后的 博客静态文件 放置到该平台,那么就可以把静态页面发布出来,就会实现了不用购买云服务器就可以发布静态页面的功能. 1. 创建仓库 ...
- vue导入Excel数据并展示成表格
前言: 用到的库参考链接: FileReader:https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader 这个在之前的下载exce ...