天天看点

Linux常用命令--文本查看引言全文本显示–cat倒序显示全文本–tac分页显示文本–more任意浏览搜索文本–less显示文本头部内容–head显示文本尾部内容–tail指定顺序显示文本–sort过滤显示文本–sed去重显示文本–uniq文本编辑查看–vi/vim

引言

Linux环境下开发及服务部署上线等操作,经常会涉及到查看日志或者查看文本等操作。本文介绍几种常见的查看本文文件的命令。eg:

全文本显示 倒序显示全文本 分页显示文本 任意浏览搜索文本 显示文本头部内容 显示文本尾部内容 指定顺序显示文本 过滤显示文本 去重显示文本 文本编辑查看
cat tac more less head tail sort sed uniq vi

全文本显示–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 #从第十行开始显示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
           
2.2.降序显示

相关参数-r:

sort -r test.txt
           

3.去掉重复的行

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

sort -u test.txt
           

过滤显示文本–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/vim

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:

1.命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

vi file
           
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
           

2.输入模式

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

字符按键以及Shift组合,输入字符
ENTER,				回车键,换行
BACK SPACE,		退格键,删除光标前一个字符
DEL,				删除键,删除光标后一个字符
方向键,				在文本中移动光标
HOME/END,			移动光标到行首/行尾
Page Up/Page Down,	上/下翻页
Insert,			切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,				退出输入模式,切换到命令模式
           

3.底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

q 退出程序
w 保存文件
           

按ESC键可随时退出底线命令模式。

Linux常用命令--文本查看引言全文本显示–cat倒序显示全文本–tac分页显示文本–more任意浏览搜索文本–less显示文本头部内容–head显示文本尾部内容–tail指定顺序显示文本–sort过滤显示文本–sed去重显示文本–uniq文本编辑查看–vi/vim

继续阅读