Linux中内容查看命令"大PK"
众所周知linux中命令cat、more、less均可用来查看文件内容,当然还有我们"非主流"的vim以及使用较少的head、tail、tac。
下面我将介绍各种命令的用法及对比..
cat和tac
先说说cat和tac这两兄弟吧 -- 从单词的拼写上我们就可以发现tac是cat倒过来的,同时tac的功能也和cat相反的。
cat的功能是将文件从第一行开始连续的将内容输出在屏幕上。tac的功能是将文件从最后一行开始倒过来将内容数据输出到屏幕上。
因为tac使用的特别少,我就直接说cat的用法吧--cat [-n] 文件名 (-n : 显示时,连行号一起输出) 当文件大,行数比较多时,屏幕无法全部容下时,只能看到一部分内容。所以通常使用重定向的方式,输出满足指定格式的内容。
Cat常用参数列表
1 2 3 4 5 6 7 8 9 10 11 12 | -A, --show-all 等于-vET <strong> -b, --number-nonblank 对非空输出行编号</strong> -e 等于-vE -E, --show-ends 在每行结束处显示 "$" <strong> -n, --number 对输出的所有行编号</strong> -s, --squeeze-blank 不输出多行空行 -t 与-vT 等价 -T, --show-tabs 将跳格字符显示为^I -u (被忽略) -v, --show-nonprinting 使用^ 和M- 引用,除了LFD和 TAB 之外 --help 显示此帮助信息并退出<strong> </strong> --version 显示版本信息并退出 |
more和less
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。less 命令也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
less还有一个功能,可以在文件中进行搜索你想找的内容,假设你想在passwd文件中查找有没有weblogic字符串,那么你可以这样来做:
less passwd 然后输入:/weblogic 回车,此时如果有weblogic字符串,linux会把该字符以高亮方式显示。
More常用参数、操作列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | -num 一次显示的行数 -d 在每屏的底部显示友好的提示信息 -l 忽略 Ctrl+l (换页符)。如果没有给出这个选项,则more命令在显示了一个包含有 Ctrl+l 字符的行后将暂停显示,并等待接收命令。 -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) -p 显示下一屏之前先清屏。 -c 从顶部清屏然后显示。 -s 文件中连续的空白行压缩成一个空白行显示。 -u 不显示下划线 +/ 先搜索字符串,然后从字符串之后显示 +num 从第num行开始显示 Enter 向下n行,需要定义。默认为1行 Ctrl+F 向下滚动一屏 空格键 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号 v 调用vi编辑器 ! 调用Shell,并执行命令 q 退出more |
less常用参数、操作列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | -b <缓冲区大小> 设置缓冲区的大小 -e 当文件显示结束后,自动离开 -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 -g 只标志最后搜索的关键词 -i 忽略搜索时的大小写 -m 显示类似more命令的百分比 -o <文件名> 将less 输出的内容在指定文件中保存起来 -Q 不使用警告音 -s 显示连续空行为一行 -S 行过长时间将超出部分舍弃 -x <数字> 将“tab”键显示为规定的数字空格 n:重复前一个搜索(与 / 或 ? 有关) N:反向重复前一个搜索(与 / 或 ? 有关) b 向后翻一页 d 向后翻半页 h 显示帮助界面 Q 退出less 命令 u 向前滚动半页 y 向前滚动一行 空格键 滚动一页 回车键 滚动一行 |
head和tail
head和tail通常使用在只需要读取文件的前几行或者后几行的情况下使用。head的功能是显示文件的前几行内容
head的语法:head [n number] 文件名 (number 显示行数)
tail的功能恰好和head相反,只显示最后几行内容
tail的语法:tail [-n number] 文件名
head和tail都
特别值得一提的是tail -f [文件名],可以实时监控文件的内容。
vim
vim命令普遍用于文档的编辑,同时可用于文档的查看,但是用vim打开大文件,会特别慢。vim具体的用法可查看我的上一篇博客 --《Vim命令合集》。
小结
综上,如果只是查看文件内容,比如通过日志进行错误排查,最好使用less命令,less用法多样,支持搜索关键字高亮显示、同时支持向上搜;如果需要对文件进行修改,那就使用vim命令;如果需要通过日志查看程序的运行情况、比如项目启动后的日志详情,那么就使用tail -f。
作者:JackpotHan
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下