前言

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     #浏览fileless -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内容如下:

vimcountfailhelphelpdeadapple

1.升序显示文本

使用命令:

sort test.txtapplecountdeadfailhelphelpvim

文本内容将以升序显示。

2.降序显示

相关参数-r:

sort -r test.txtvimhelphelpfaildeadcountapple

3.去掉重复的行

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

sort -u test.txtapplecountdeadfailhelpvim

可以看到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,分页显示进程信息等等,更多用法可自行探索。

转载于:https://www.cnblogs.com/rsty/p/10443721.html

Linux 常用命令:文本查看篇相关推荐

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

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

  2. linux常用命令--系统状态篇

    前言 Linux常用命令中,有些命令可以用于查看系统的状态,通过了解系统当前的状态,能够帮助我们更好地维护系统或定位问题.本文就简单介绍一下这些命令. 查看系统运行时间--uptime 有时候我们想知 ...

  3. linux常用命令:查看硬件配置的方法示例(含Jetson)

    硬件查看命令 系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息 ...

  4. Linux常用命令一 查看系统负载 版本信息 工作目录

    1. uptime命令 主要用于获取主机运行时间和查询linux系统负载等信息,信息显示依次为:现在时间.系统已经运行了多长时间.目前有多少登陆用户.系统在过去的1分钟.5分钟和15分钟内的平均负载. ...

  5. linux 修改时间的命令,Linux 常用命令(查看版本、修改系统时间)

    1.查看内核版本:cat /proc/version [root@gjxb default]# cat /proc/version Linux version 2.6.9-78.8AXS2smp (p ...

  6. 01-03 Linux常用命令-文本处理

    文本处理 vi/vim:文本编辑 vim 有三种模式: 一般模式:默认 编辑模式 命令模式 一般模式 移动光标 删除.复制与粘贴 编辑模式 进入编辑模式的方式: 命令模式 搜索与替换 保存.退出等 e ...

  7. linux常用命令(用户篇)

    为什么80%的码农都做不了架构师?>>>    #添加用户 [rot@BJ-Nginx-Srv02 ~]# useradd -s /sbin/nologin -g daemon -d ...

  8. linux常用命令 打开文件,【Linux】常用命令 lsof查看打开的文件

    Linux系统把软硬件都抽象成文件,所以通过文件可以追踪到很多重要信息,如读取的配置文件.打开的端口等. 下面是常见的用法: 默认测试文件名为text.txt 1,显示打开text.txt的进程: l ...

  9. linux命令查进程,Linux常用命令(十)查看和控制进程

    Linux常用命令(十)查看和控制进程 一.查看进程 1.ps命令--查看静态的进程统计信息(Processes  Statistic) ps命令时Linux系统中最为常用的进程查看工具,主要用于显示 ...

  10. Linux命令集(Linux常用命令集--CD指令篇)

    Linux命令集(Linux常用命令--CD指令篇) Linux常用命令集(CD指令篇) 1.CD(change directory) Linux常用命令集(CD指令篇) 如下为笔者总结出在linux ...

最新文章

  1. 中国现代化进程专题讲座——有感
  2. 数据库增删改查代码,登录和注册
  3. IOS的UIPickerView 和UIDatePicker
  4. 35岁学嵌入式合适吗_保姆级攻略来了!嵌入式冰箱该怎么选?看这篇就够了
  5. android中include标签使用详解
  6. 数据库实验八SQL语句的综合使用
  7. python 复制到剪贴板_Python脚本将文本复制到剪贴板
  8. AB触摸屏2711P-T12W22A9P、2711P-T10C4A9,2711P-T10C22D8S-B、2711P-T10C22D9P-B、2711P-T12C10D2
  9. Charle分析实战
  10. OCR通用文字识别接口
  11. 24寸4驱java山地车_我自己亲身骑过24和26寸山地车,说说我的感受
  12. 银联在线支付--测试
  13. 止汗 咒语_如何使用咒语制作诗歌机器人
  14. 计算机管理 压缩卷,windows10系统下c盘压缩卷只能压缩一半如何解决
  15. leetcode 717. 1比特与2比特字符(python)
  16. 驱动开发:断链隐藏驱动程序自身
  17. vbnet 直线 弧形在autoCad中的画法
  18. 快到假期了,还抢不到票?可以试试这两个工具
  19. 送给大一新生的一些话
  20. Alpine安装与使用

热门文章

  1. 如何查看光驱硬盘托架的尺寸_如何确定光驱位的硬盘托架的大小尺寸和接口
  2. C语言extern关键字(去使用外部全局变量、函数)
  3. wait和notify使用例子
  4. mysql explain 分析中select_type列解释
  5. css改变指针形状,css 指针样式
  6. 为你总结了N个真实线上故障,从容应对面试官!
  7. 如何降低SQL语句复杂度
  8. 服务器系统玩dnf,win7系统玩dnf提示正在连接服务器的解决方法
  9. java上传和下载文件代码_JavaWeb中上传和下载文件实例代码
  10. jstl mysql_java – jsp jstl sql与mysql中的奇怪行为