05 查看文件内容


Linux中有几个命令可以查看文件的内容,而不需要调用其他文本编辑器

1 查看文件类型(file命令)

在显示文件内容之前,应该先了解一下文件的类型。如果打开了一个二进制文件,你会在屏幕上看到各种乱码,甚至会把你的终端仿真器挂起。

file命令是一个随手可得的便捷工具。它能够探测文件的内部,并决定文件是什么类型的

$ file my_file 
my_file: ASCII text

上面例子中的文件是一个text(文本)文件。file命令不仅能确定文件中包含的文本信息,还能确定该文本文件的字符编码,ASCII

$ file New_Dir 
New_Dir: directory

上面例子中的文件就是一个目录。因此,以后可以使用file命令作为另一种区分目录的方法

$ file my_script 
my_script: Bourne-Again shell script, ASCII text executable

上面的例子展示了file命令对脚本文件的返回结果。

最后一个例子是二进制可执行程序。file命令能够确定该程序编译时所面向的平台以及需要何种类型的库。如果你有从未知源处获得的二进制文件,这会是个非常有用的特性:

$ file /bin/ls 
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), 
dynamically linked (uses shared libs), for GNU/Linux 2.6.24, 
[...] 
$

2 查看整个文件内容

2.1 cat命令

cat命令是显示文本文件中所有数据的得力工具。

cat 文件

比如查看当前用户目录下的hello文件

[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ cat ~/hello 
hello world
-n参数:显示行号

-n参数会给所有的行加上行号

[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ cat -n ~/hello 
	1 hello world
-b 参数:只给有文本的显示行号
[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ cat -b ~/hello 
	1 hello world

	2 你好 世界
-T参数:不显示制表符
[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ cat -T ~/hello 
hello world

你好 世界

-T参数会用^I字符组合去替换文中的所有制表符

[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ cat -T ~/hello 
hello world

你好 世界

i^Iam cool

2.2 more命令

cat命令的主要缺陷是:一旦运行,你就无法控制后面的操作。
more命令会显示文本文件的内容,但会在显示每页数据之后停下来。

eg:

在这里插入图片描述

  • 屏幕的底部,more命令显示了一个标签,其表明你仍然在more程序中以及你现在在这个文本文件中的位置。
  • 你可以通过按空格键或回车键以逐行向前的方式浏览文本文件。浏览完之后,按q键退出

2.3 less命令

less命令的命名是个文字游戏(从俗语“less is more”得来),它为more命令的升级版。它提供了一些极为实用的特性,能够实现在文本文件中前后翻动,而且还有一些高级搜索功能。

  • 打开的文件内容太大而无法放入一个页面时,您将看到一个冒号 (😃
  • 要转到下一页,请 f 按键或 空格键
  • 如果要向下移动特定数量的行,请键入数字,后跟空格或 f 键
  • 按 向下键 或 回车 向后滚动一行,通过 向上键 向前滚动一行
  • 要返回上一页,请 b 按键。通过键入数字后跟 b 键,向上移动特定行数。
  • 如果要搜索模式,请键入 / ,然后键入要搜索的模式。一旦你按下回车键, less 就会向前搜索匹配项。向后搜索使用 ? 后跟搜索模式
  • 要退出 less 并返回命令行,请按 q 。

3 查看部分文件

3.1 tail命令

tail命令会显示文件最后几行的内容(文件的“尾部”)。默认情况下,它会显示文件的末尾10行。

-n参数来修改所显示的行数

tail -n 2 app.log

只看最末尾的两行

-f参数是tail命令的一个突出特性。它允许你在其他进程使用该文件时查看文件的内容**。tail命令会保持活动状态,并不断显示添加到文件中的内容。这是实时监测系统日志的绝妙方式**。

3.2 head命令

head命令,顾名思义,会显示文件开头那些行的内容。默认情况下,它会显示文件前10行的文本。

类似于tail命令,它也支持-n参数,这样就可以指定想要显示的内容了

文件的开头通常不会改变,因此head命令并像tail命令那样支持-f参数特性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值