01 开篇

Linux 中查看文件内容常用的有如下 5 个命令:

  1. cat;
  2. more;
  3. less;
  4. tail;
  5. head。

02依次看看这些命令的使用姿势

cat

  1. 一次性将所有内容输出到屏幕上,方便查看,适用于于文件内容较少时使用。
  2. 合并文件,与输出符 ">" 一起使用,输出到新文件中。
  3. 与管道符“|”一起来用,用来作为管道符的输入内容。eg:cat  service.log |grep "ERROR"  #从 service.log 中查找 "ERROR" 输出。

cat 命令常用格式示例:

  • cat [文件名] # 输出文件所有内容到屏幕上。
  • cat [文件1] [文件2] # 输出文件1、文件2所有内容到屏幕上。
  • cat [文件1] [文件2] > [文件3] # 将文件1、文件2合并,输出到文件3中,如果没有文件3会自动生成一个新的文件3。
  • cat -n [文件名] # 输出文件内容时加上行号。
  • cat -A [文件名] # 输出文件内容时显示所有隐藏字符。

more 和 less

  1. more 可现实文件的百分比,一般从头查看文件用它。
  2. less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。如果文件很大,如几百MB或上G,用 less 效率高。less 比 more 更强大,还具备便捷的查找功能。

more 命令常用格式示例:

  • more [文件名] #打开文件。
  • more -f [文件名] # 加参数-f,计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)。
  • more +[num] [文件名] # 查看指定行号以后的内容 ,eg: more +20 info.log。
  • more -[num] [文件名] # 查看指定行号以前的内容,eg: more -20 info.log。

more 命令常用的快捷键:

  1. 空格键 # 向下滚动一屏,很便捷
  2. b # 向上滚动一屏
  3. = # 查看当前行号
  4. :f # 输出当前文件名及行号
  5. q # 退出 more 命令, [ctrl + c] 也可以退出

less 命令常用格式示例:

  • less [文件名] # 基本查看命令
  • less -m [文件名] # 类似 more 命令,显示百分比
  • less -N [文件名] # 显示行号

less 命令常用的快捷键及查找字符功能:

  • less 和more有相同的快捷键,只是不能用ctrl + c退出,用 q 快捷键退出。
  • 此外less 可以使用vim编辑器(ps:后面讲vim时会详细说)的查找命令。先 less [文件名] ,接着输入查找符号(/ 或 ?)及查找  字符,按 Enter 键后,配合n建即可查找。
  • /[查找字符] # 配合n键,从上往下查所有。
  • ?[查找字符] # 配合n键,从下往上查所有。

tail 和 head

  1. tail 顾名思义是尾巴,从文件尾部显示文件内容,默认显示文件最后10行。
  2. head 是从开头显示文件内容,一般用法为 head -n [文件名],用法与 tail 差不多。

tail 命令的常用姿势:

  • tail 一般用来查看实时日志使用,显示文件最新追加的内容,如线上服务的日志文件会不断的有内容追加,tail 命令就非常好用。
  • tail -f info.log # 不停地追加显示 info.log 文件的最后10行 ,查看实时日志时非常常用的命令。
  • tail -f n info.log # 加上n参数,不停地追加显示 info.log 文件的最后 n 行。eg: tail -f 20 info.log 。
  • tail -n  10  info.log # 查询日志尾部最后10行的日志。
  • tail -n +10 info.log # 查询10行之后的所有日志。

命令使用应用场景案例

应用场景一:按行号查看过滤出关键字附近的日志

  • cat -n info.log |grep "debug" # 得到关键日志的行号
  • cat -n info.log |tail -n +92|head -n 20  # 选择关键字所在的中间一行, 然后查看这个关键字前10行和后10行的日志。
  • tail -n +92 # 表示查询92行之后的日志;
  • head -n 20 # 则表示在前面的查询结果里再查前 20 条记录;

应用场景二:日志内容特别多,打印在屏幕上不方便查看

  1. 使用 more 和 less 命令
  • cat -n info.log |grep "debug" |more # 这样就分页打印了,通过点击空格键翻页
  1. 使用 > xxx.txt 将其保存到文件中,到时可以下载这个文件分析
  • cat -n info.log |grep "debug"  > debug.txt

03 小结

  1. 锅锅在这篇总结了查看文件内容的5个命令 cat、 more与less、tail与head。
  2. cat 命令除了查看文件还可以用来合并文件。
  3. less 命令使用起来灵活,也可以配合查找字符串。
  4. tail 命令在工作实践中查看实时日志非常常用,在实际生产过程中,tail -f n [fileName] 来显示日志内容;在看到相应的关键日志时,可以使用ctrl + s停止日志滚动,恢复日志使用ctrl + q。
  5. 各位小主,今天锅锅就比比到这里,下期再会( _ )。

「不甩锅的码农」原创,转载请注明来源,未经授权禁止商业用途!同名 GZH 请关注!

003Linux查看文件内容的5个命令姿势的更多相关文章

  1. linux 查看文件内容的几种命令

    cat #将文件内容输出到屏幕head #查看文件开头N行tail #查看文件末尾N行tailf #动态的查看的写入,有写入时屏幕输出vim.vi #文件编辑器,也可以当是查看文件{进入文件}grep ...

  2. linux下查看文件内容cat,more,less

    1. 查看文件内容经常使用的命令 cat : 由第一行显示文件内容 tac:  从最后一行開始显示.与cat相反 nl :  文件内容和行号一起输出 more: 一页一页显示 less: 与more类 ...

  3. Linux学习笔记:cat、tac、more、less、head、tail查看文件内容

    Linux下查看文件内容可以通过以下命令: cat tac more less head tail nl tailf 1.cat 由第一行开始显示内容,并将所有内容输出.当文件过大时,使用cat查看不 ...

  4. Linux下查看文件内容的命令

    查看文件内容的命令: cat     由第一行开始显示内容,并将所有内容输出 tac     从最后一行倒序显示内容,并将所有内容输出 more    根据窗口大小,一页一页的现实文件内容 less ...

  5. #Linux学习笔记# Linux系统查看文件内容的命令

    1.cat 连结多个文件的内容并显示在屏幕上:如果没有指定文件或文件名为“-”,则读取标准输入.语法如下: cat [option] ... [file] ... 常用的选项有: 选项-n:编号所有行 ...

  6. 菜鸟学Linux命令:cat命令 查看文件内容

    cat命令的用途是连接文件或标准输入并打印. 这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. Linux下查看文件内容的方式很多:vi ...

  7. Linux 学习笔记 查看文件内容诸多命令

    查看文件内容 1.查看文件统计信息 stat 提供文件系统上某个文件的所有状态信息 2.查看文件类型 file 用来查看文件类型 (该命令将文件分成3类:文本类型:可执行文件:数据文件) 如果你有从未 ...

  8. linux云计算集群架构学习笔记:命令查看文件内容

    查看文件内容 1.cat 命令 作用:查看文件内容 语法:cat 文件名 2. more 命令 作用:分页查看文件内容 语法:more  文件名 例:more /etc/passwd 按下回车刷新一行 ...

  9. Linux 查看文件内容的命令

    转载自:新浪博客 (观看档案内容 : cat, tac, more, less, head, tail, nl, 刚刚我们提到的都只是在于显示档案的外观,或者是移动与复制一个档案或目录而已,那么如果我 ...

随机推荐

  1. 【LeetCode】1579. 保证图可完全遍历 Remove Max Number of Edges to Keep Graph Fully Traversable

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题思路 并查集 代码 欢迎加入组织 日期 题目地址:https ...

  2. 【LeetCode】339. Nested List Weight Sum 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 dfs 日期 题目地址:https://leetcod ...

  3. 【LeetCode】1134. Armstrong Number 解题报告(C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 直接计算 日期 题目地址:https://leetco ...

  4. 【九度OJ】题目1108:堆栈的使用 解题报告

    [九度OJ]题目1108:堆栈的使用 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1108 题目描述: 堆栈是一种基本的数据结构.堆 ...

  5. Python Revisited Day10 (进程与线程)

    目录 10.1 使用多进程模块 10.2 将工作分布到多个线程 <Python 3 程序开发指南>学习笔记 有俩种方法可以对工作载荷进行分布,一种是使用多进程,另一种是使用多线程. 10. ...

  6. Electron-Vue 项目使用Element的el-table组件不显示

    1.electron-vue文件夹下的webpack.renderer.config.js配置文件,你会找到这样一行代码,需要添加白名单! let whiteListedModules = ['vue ...

  7. 牛掰,在IDEA中,你可以安装小傅哥写的插件了!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.承认你优秀很难 很多码农,把路走窄了 捧一个,喷一个,很多码农都不会多一点思路看问题,总是 ...

  8. mqttfx无法选择证书

    mqttfx无法选择证书,无法读取证书 mqttfx也算是挺方便的,但是,有个问题困扰了我很久,就是windows下使用SSL/TLS选择证书路径时,点击后面三个点没有反应(有的同学就没有这个问题) ...

  9. sql优化--尽可能少用like

    1.前言 like非常消耗性能,当搜索 like '%%' 的时候,仍然会对比全表信息后查找相关的数据, 2.如何优化? 使用动态标签 <if test="nickName != '% ...

  10. 运行flutter-填坑之旅

    运行flutter; 1.有一个问题,解决了好长时间 如果你安装了IntelliJ IDEA 2017.2.7 x64,运行flutter的时候报错,是因为IntelliJ IDEA 2017.2.7 ...