前言

Linux常用命令中,除了cat还有很多其他用于文本查看的命令。本文将简单介绍一下这些文本查看的命令。

全文本显示--cat

cat可能是常用的一个文本查看命令了,使用方法也很简单:

cat file  #全文本显示在终端
cat -n file #显示全文本,并显示行号

另外,cat也可用作合并文件:

cat file1 file2 >file3

该命令将file1 file2的内容合并写到file3中。

倒序显示全文本--tac

tac是cat倒过来的写法,tac以行为单位,倒序显示全文本内容。

tac file

分页显示文本--more

cat将整个文本内容输出到终端。那么也就带来一个问题,如果文本内容较多,前面的内容查看将十分不便。而more命令可以分页显示。

1.显示内容

more file

之后,就可以使用按键来查看文本。常用按键如下:

回车    #向下n行,默认为1行
空格 #向下滚动一屏
b #向上滚动一屏
= #输出当前行号
:f #输出当前文件名和当前行号
q #退出

2.从指定行开始显示

more +10 file

该命令从第10行开始显示file的内容。

3.从匹配的字符串行开始显示

more +/string file

该命令从有string的行的前两行开始file的内容。

任意浏览搜索文本--less

less命令的基本功能和more没有太大差别,但是less命令可以向前浏览文件,而more只能向后浏览文件,同时less还拥有更多的搜索功能。

常见使用方法:

less file     #浏览file
less -N file #浏览file,并且显示每行的行号
less -m file #浏览file,并显示百分比

常用按键如下:

f        #向前滚动一屏
b #向后滚动一屏
回车或j #向前移动一行
k #向后移动一行
G #移动到最后一行
g #移动到第一行
/string #向下搜索string,n查看下一个,N查看上一个结果
?string #向上搜索string,n查看下一个,N查看上一个结果
q #退出

相比more命令,less命令能够搜索匹配需要的字符串。

另外,less还能在多个文件间切换浏览:

less file1 file2 file3
:n #切换到下一个文件
:p #切换到上一个文件
:x #切换到第一个文件
:d #从当前列表移除文件

显示文本头部内容--head

head命令的作用就像它的名字一样,用于显示文件的开头部分文本。

常见用法如下:

head -n 100 file #显示file的前100行
head -n -100 file #显示file的除最后100行以外的内容。

显示文本尾部内容--tail

和head命令类似,只不过tail命令用于读取文本尾部部分内容:

tail -100 file  #显示file最后100行内容
tail -n +100 file #从第100行开始显示file内容

tail还有一个比较实用的用法,用于实时文本更新内容。比如说,有一个日志文件正在写,并且实时在更新,就可以用命令:

tail -f logFile

对于更新的日志内容,会实时打印到终端上,方面查看实时日志。

指定顺序显示文本--sort

sort可用于对文本进行排序并显示,默认为字典升序。

例如有一段文本test.txt内容如下:

vim
count
fail
help
help
dead
apple

1.升序显示文本

使用命令:

sort test.txt
apple
count
dead
fail
help
help
vim

文本内容将以升序显示。

2.降序显示

相关参数-r:

sort -r test.txt
vim
help
help
fail
dead
count
apple

3.去掉重复的行

我们可以观察到,前面的help有两行,如果我们不想看到重复的行呢?可以使用参数-u,例如:

sort -u test.txt
apple
count
dead
fail
help
vim

可以看到help行不再重复显示。

4.按照数字排序

如果按照字典排序,10将会在2的前面,因此我们需要按照数字大小排序:

sort -n file

由于本文篇幅有限,不在本文展开介绍,后续将单独介绍sort命令的妙用。

过滤显示文本--sed

sed是一个流编辑器,功能非常强大,但本文只介绍文本查看相关功能。

1.显示匹配关键字行

有时候查看日志,可能只需要查看包含某些关键字的日志行:

sed -n "/string/p" logFile

上面的命令表示打印包含string的行。

2.打印指定行

sed -n "1,5p" logFile #打印第1到5行
sed -n '3,5{=;p}' logFile #打印3到5行,并且打印行号
sed -n "10p" logFIle #打印第10行

去重显示文本--uniq

常见用法如下:

uniq file  #去除重复的行
uniq -c file #去除重复的行,并显示重复次数
uniq -d file #只显示重复的行
uniq -u file #只显示出现一次的行
uniq -i file #忽略大小写,去除重复的行
uniqe -w 10 file #认为前10个字符相同,即为重复

文本编辑查看--vi

查看文件也很简单:

vi file

而从vi发展出来的被誉为编辑器之神的vim有着更加强大的功能,这里不作展开。

总结

文本查看命令较多,可根据使用场景不同选择使用不同的命令。有些命令的用法较多,本文仅介绍经典用法,更多用法可使用man命令查看。很多命令可以结合其他命令使用,例如ps -elf|more,分页显示进程信息等等,更多用法可自行探索。

Linux 常用命令:文本查看篇的更多相关文章

  1. Linux常用命令-文本查看篇

    前言 Linux常用命令中,除了cat还有很多其他用于文本查看的命令.本文将简单介绍一下这些文本查看的命令. 全文本显示--cat cat可能是常用的一个文本查看命令了,使用方法也很简单: cat f ...

  2. Linux常用命令——文本编辑器Vim

    Linux常用命令--文本编辑器Vim Linux  Vim常用操作 插入命令 a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行首插入 o 在光标下插入新行 ...

  3. Linux 常用命令:解压缩篇

    前言 Linux常用命令中,有很多用于对文件的压缩或解压,本文将介绍这些解压缩命令中不常见却非常实用的用法. tar tar是linux中最常用的解压缩命令.tar命令可用于处理后缀名为tar,tar ...

  4. linux常用命令 、查看日志、web排查

    linux常用命令 ps aux|grep xxx (比如 ps aux|grep tomcat ps aux|grep tomcat-portalvip ps aux|grep nginx 等) r ...

  5. linux常用命令--开发调试篇

    前言 Linux常用命令中有一些命令可以在开发或调试过程中起到很好的帮助作用,有些可以帮助了解或优化我们的程序,有些可以帮我们定位疑难问题.本文将简单介绍一下这些命令. 示例程序 我们用一个小程序,来 ...

  6. LINUX常用命令-系统配置篇(二)

    学到一定程度了就会关注系统方面的一些配置,只是就需要相关的命令了.现在把Linux查看系统配置常用命令列出来 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/ ...

  7. Linux常用命令(一)查看日志

    当日志文件存储很大时,需要Linux命令查看: Log 在目录 /var/log/   下 常用命令: tail head grep sed cat tac https://blog.csdn.net ...

  8. Linux常用命令(三)查看当前计算机各方面信息

    1.查看cpu: top 2.查看当前linux版本:name -a 查看当前运行的内核版本:cat /pro/version 查看发行版本信息:cat /etc/issue 查看上面所有信息:lsb ...

  9. LINUX常用命令大全归纳篇

    su su命令是最基本的命令之一,常用于不同用户间切换. 例如,如果登录为 user1,要切换为user2,只要用如下命令: $su user2 然后系统提示输入user2口令,输入正确的口令之后就可 ...

  10. Linux常用命令,查看树形结构、删除目录(文件夹)、创建文件、删除文件或目录、复制文件或目录(文件夹)、移动、查看文件内容、权限操作

    5.查看树结构(tree) 通常情况下系统未安装该命令,需要yum install -y tree安装 直接使⽤tree显示深度太多,⼀般会使⽤ -L选项⼿⼯设定⽬录深度 格式:tree -L n [ ...

随机推荐

  1. Guava环境设置

    Guava本地环境设置 这部分指导如何下载和设置Java在机器上.请按照以下步骤来设置环境. Java SE免费提供链接:下载Java.所以,根据操作系统下载对应版本. 按照说明下载java和运行.e ...

  2. 关于Ms Sql server 表列等是否存在

    select object_id('名称') ,object_id('名称','类型') 1. 等价于 select * from sys.objects where name ='名称' selec ...

  3. Unity中对注册表进行修改

    问题背景: PC端软件开发,当我在Unity中的PlayerSetting中设置好分辨率,每次打包运行后会记忆上次退出时窗口的分辨率(记忆窗口状态),导致下次打开时不是PlayerSetting中的初 ...

  4. Unity3D中画拉选框(绘制多选框)

    问题分析: 需要根据鼠标事件,摁下鼠标开始绘制选择框,抬起鼠标结束绘制. 实现思路: 该需求是屏幕画线,Unity内置了GL类  封装了OpenGL,可以通过GL类来实现一些简单的画图操作,这里也是使 ...

  5. SingalR 构建 推送服务器初探

    项目需要用到推送,于是重新研究了下推送框架,最好能够独立成一个服务,与业务无关的服务,可以给所有的项目通用.找了好久最终决定用SinglR 框架. Signal 是微软支持的一个运行在 Dot NET ...

  6. keepAlived常见问题

    1.脑裂问题 1.定义: 在一个高可用(HA)系统中,当关联着的两个结点互相之间断开通信时,本来为一个独立的对外提供服务的系统分裂为两个独立的结点,这时两个结点会争抢资源.(keepAlived 中表 ...

  7. 2019_7_31python

    练习  输入三条边长如果能构成三角形就计算周长和面积 import math a,b,c = input().split(',') a = float(a) b = float(b) c = floa ...

  8. ajax 工作原理

    Ajax的优缺点及工作原理? 定义和用法: AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).Ajax 是一种用于创建快速动态网 ...

  9. SOLID设计原则

    SOLID设计原则 Single Responsibility Principle单一职责原则 单一职责原则(SRP)表明一个类有且只有一个职责. 一个类就像容器一样,它能添加任意数量的属性.方法等. ...

  10. Ruby 环境变量

    Ruby 环境变量 Ruby 解释器使用下列环境变量来控制它的行为.ENV 对象包含了所有当前设置的环境变量列表. 变量 描述 DLN_LIBRARY_PATH 动态加载模块搜索的路径. HOME 当 ...