zoukankan      html  css  js  c++  java
  • Linux 常用命令:文本查看篇

    前言

     

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

     

  • 相关阅读:
    Button 样式设置
    WPF 运行报错:在使用 ItemsSource 之前,项集合必须为空。
    c# List 按条件查找、删除
    c# WPF DataGrid设置一列自增一
    C# WPF DataGrid去掉最左侧自动生成一列
    int 转换成定长的 byte数组
    字节数组 byte[] 与 int型数字的相互转换
    [ c# ] int 类型转换为固定长度的字符串
    ListView 绑定 字典
    不能引用的文件,却需要在程序底层使用的文件 的存放位置
  • 原文地址:https://www.cnblogs.com/rsty/p/10443721.html
Copyright © 2011-2022 走看看