Linux中查看文本文件内容命令cat/tac/nl/more/less/head/tail/vi总结
概述
在Linux系统下,有很多命令可以查看文本文件的内容,如cat/tac/nl/more/less/head/tail等命令,当然还有vi/nano等文本编辑器。在这里,我只介绍其中自己常用的一部分命令和操作。
cat:从第一行开始显示全部的文本内容;
tac:从最后一行开始,显示全部分文本内容,与cat相反;
nl:显示文本时,可以输出行号;
more:按页显示文本内容;
less:与more差不多,也是按页显示文本内容,区别是less可以一行一行的回退,more回退只能一页一页回退;
head:从头开始显示文件指定的行数;
tail:显示文件指定的结尾的行数,但每一行的位置还是原文件中的位置,不会像tac那样与原文件相反。
vi: NB的Linux文本编辑器。
例子与说明
cat
- cat demo.txt
显示demo.txt文件全部内容 - cat -b demo.txt
显示demo.txt文件全部内容,非空的行输出行号,空行会输出,但不标记行号 - cat -n demo.txt
显示demo.txt文件全部内容,所有行都输出行号
优点:简单
缺点:当文本文件内容多于一页内容时,只能显示出最后一页的内容,无法看到前面的内容。
tac
- tac demo.txt
从最后一行开始,倒序输出demo.txt的内容。本人不常用。
nl
- nl demo.txt
显示文件内容,顺便输出行号,默认情况下空行不记录行号 - nl -b a demo.txt
- b a #空行也输出行号
- b t #默认设置
- n ln ##行号最左方显示
- n rn ##行号最右方显示,且不加0(然并卵,我的机器上依然显示在左边)
- n rz ##行号最右方显示,且加0(再次然并卵,但加了0了,如下图所示)
- w ##设置行号字段占用的位数
优点:貌似很灵活的样子
缺点:就查看下内容,输出个行号而已,搞那么复杂有卵用。。。
more
- more demo.txt
- 按一下空格则往下翻一页
- 按一下Enter则往下翻一行
- 按一下B键往上翻一页
- 不能往上一行一行的翻回去了
- :f 可以显示文件名和现在的行数
- q退出more
less
- less demo.txt
- more命令的所有按键less都支持
- ↑↓箭头可以实现一行一行的上下翻
- PageDown/PageUp可以实现一页一页的上下翻
head
- head demo.txt
默认只显示文件的前10行文本内容 - head -n 6 demo.txt
-n 6 参数指定显示文件的前6行 - head -n -4 demo.txt
-n -4 负数表示除去文件结尾的4行,其他的从头开始的所有行都显示出来
tail
- tail demo.txt
默认只显示从文件最后一行开始的10行文本内容 - tail -n 5 demo.txt
-n 5 参数指定显示文件的最后5行 - tail -n -5 demo.txt
**-n -5**tail命令不支持负数,执行结果同-n 5
vi
vi命令是使用VIM文本编辑器打开文本,VIM编辑器目前本人也是刚开始学习,只记住了一些简单的命令:
- vi demo.txt 进入Normal模式查看文本
- i 进入Insert模式插入内容,编辑文本
- nG n代表行号,在Normal模式输入nG则定位到第n行
- :set number 在Normal模式输入则显示文本行号,空行也会显示行号
- ESC 退出Insert模式至Normal模式
- :wq 在Normal模式下保存退出。w保存;q退出;可以单独使用
就知道那么多了。希望以后能熟练使用VIM编辑器。
关于VIM的入门,请参考我的另一篇博客:VIM编辑器操作命令积累
陈皓老师的博客文章:VIM练级攻略
Linux中查看文本文件内容命令cat/tac/nl/more/less/head/tail/vi总结的更多相关文章
- Linux文件内容查阅 - cat, tac, nl, more, less, head, tail, od
cat 由第一行开始显示文件内容 tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写! nl 显示的时候,顺道输出行号! more 一页一页的显示文件内容 less 与 more 类似 ...
- Linux 常用命令——cat, tac, nl, more, less, head, tail, od
Drecik学习经验分享 转载请注明出处:http://blog.csdn.net/drecik__/article/details/8453584 1. cat 由第一行开始显示文件内容 2. ta ...
- Linux中查看日志文件的正确姿势,求你别tail走天下了!
作为一个后端开发工程师,在Linux中查看查看文件内容是基本操作了.尤其是通常要分析日志文件排查问题,那么我们应该如何正确打开日志文件呢?对于笔者这种小菜鸡来说,第一反应就是 cat,tail,vi( ...
- 大数据之路week07--day04 (Linux 中查看文件内容的关键字处)
Linux如何对文件内容中的关键字进行查找 如果是用vi打开文件后,在命令行下输入“/关键字” 如果是在没有打开文件的前提就用"cat 文件名 | grep "关键字" ...
- linux中一些简便的命令之tac/comm
tac tac是cat的反写,即反序显示文件内容 如文件a.txt内容如下: 1 2 3 4 5 则tac a.txt打印如下: 54321 我们可以使用awk来实现tac的功能: awk '{arr ...
- 【Linux学习】Linux文件系统5—查看文件内容命令
Linux文件系统5-查看文件内容命令 cat: 由第一行开始显示文件内容 more: 一页一页地显示文件内容,空格键可以继续翻页显示下一页内容 less:与more类似,但是可以往前翻页 head: ...
- Linux中查看socket状态(转)
Linux中查看socket状态:cat /proc/net/sockstat #(这个是ipv4的) sockets: used 137 TCP: inuse 49 orphan 0 tw 3272 ...
- linux基础命令-文件查看类命令cat/tac/more/less/tail/head
cat 查看文本文件内容 -b :给每一行编号不包括空白行 -n:给所有行编号 [root@host01 tmp]# cat -An /root/anaconda-ks.cfg # Kickstart ...
- Linux下查看进程的命令输出的内容解释
Linux下查看进程的命令输出的内容解释 ps (process status) ps -e 或者ps -A (-e和-A完全一样) PID TTY TIME ...
随机推荐
- c#代码输入图片
Image bgimage = Image.FromFile(flieUrl + bgImg); if (bgimage != null) { Bitmap bmp1 = new Bitmap(bgi ...
- [LeetCode] Strange Printer 奇怪的打印机
There is a strange printer with the following two special requirements: The printer can only print a ...
- 1086: [SCOI2005]王室联邦
1086: [SCOI2005]王室联邦 Time Limit: 10 Sec Memory Limit: 162 MBSec Special JudgeSubmit: 1554 Solved: ...
- [HNOI 2010]Bus 公交线路
Description 题库链接 有 \(N\) 个车站, \(K\) 条公交线路.第 \(1\) 到 \(K\) 站是这 \(K\) 线路的起点站.第 \(N-K+1\) 到 \(N\) 是终点站. ...
- [POJ 3487]The Stable Marriage Problem
Description The stable marriage problem consists of matching members of two different sets according ...
- FJOI2017 RP++
嗯如果算得没错大概十二小时之后就是省选二试了 这次考试貌似就在我们学校 虽然机子挺旧的基本没用过 平时训练都是在专门的机房 其实貌似压力不是很大 因为一试跪了TAT 那时候还是图样 T3按照惯例是 ...
- SparkSQL——用之惜之
SparkSql作为Spark的结构化数据处理模块,提供了非常强大的API,让分析人员用一次,就会为之倾倒,为之着迷,为之至死不渝.在内部,SparkSQL使用额外结构信息来执行额外的优化.在外部,可 ...
- WPF 实现换肤功能
将所有控件的基本样式汇集到一个资源字典中,构成界面的基本样式文件,然后进行不同颜色皮肤的定制. 即在新的皮肤资源字典文件中引入基本样式文件,然后使用资源继承,并且只设置控件的颜色属性等,形成一个皮肤文 ...
- day4 liaoxuefeng--调试、线程、正则表达式
一.错误.调试和测试 二.进程和线程 三.正则表达式
- 认识Json解析json生成json
.markdown-body hr::after,.markdown-body::after { clear: both } .loopLine,.messageLine0 { } .markdown ...