Linux中有几个命令可以查看文件的内容,而不需要调用其他文本编辑器(参见第10章)。本
节将演示一些可以帮助查看文件内容的命令。
3.8.1 查看文件类型
在显示文件内容之前,应该先了解一下文件的类型。如果打开了一个二进制文件,你会在屏
幕上看到各种乱码,甚至会把你的终端仿真器挂起。
file 命令是一个随手可得的便捷工具。它能够探测文件的内部,并决定文件是什么类型的:
$ file my_filemy_file: ASCII text$
上面例子中的文件是一个text(文本)文件。 file 命令不仅能确定文件中包含的文本信息,
还能确定该文本文件的字符编码,ASCII。
下面例子中的文件就是一个目录。因此,以后可以使用 file 命令作为另一种区分目录的方法:
$ file New_DirNew_Dir: directory$
第三个 file 命令的例子中展示了一个类型为符号链接的文件。注意, file 命令甚至能够告
诉你它链接到了哪个文件上:
$ file sl_data_filesl_data_file: symbolic link to 'data_file'$
下面的例子展示了 file 命令对脚本文件的返回结果。尽管这个文件是ASCII text,但因为它
是一个脚本文件,所以可以在系统上执行(运行):
$ file my_scriptmy_script: Bourne-Again shell script, ASCII text executable$
最后一个例子是二进制可执行程序。 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,[...]$
现在你已经学会了如何快速查看文件类型,接着就可以开始学习文件的显示与浏览了。
3.8.2 查看整个文件
如果手头有一个很大的文本文件,你可能会想看看里面是什么内容。在Linux上有3个不同的
命令可以完成这个任务。
1. cat 命令
cat 命令是显示文本文件中所有数据的得力工具。
$ cat test1helloThis is a test file.That we'll use to test the cat command.$
没什么特别的,就是文本文件的内容而已。这里还有一些可以和 cat 命令一起用的参数,可
能对你有所帮助。
-n 参数会给所有的行加上行号。
$ cat -n test11 hello23 This is a test file.456 That we'll use to test the cat command.$
这个功能在检查脚本时很有用。如果只想给有文本的行加上行号,可以用 -b 参数。
$ cat -b test11 hello2 This is a test file.3 That we'll use to test the cat command.$
最后,如果不想让制表符出现,可以用 -T 参数。
$ cat -T test1helloThis is a test file.That we'll use to^Itest the cat command.$
-T 参数会用 ^I 字符组合去替换文中的所有制表符。
对大型文件来说, cat 命令有点繁琐。文件的文本会在显示器上一晃而过。好在有一个简单
办法可以解决这个问题。
2. more 命令
cat 命令的主要缺陷是:一旦运行,你就无法控制后面的操作。为了解决这个问题,开发人
员编写了 more 命令。 more 命令会显示文本文件的内容,但会在显示每页数据之后停下来。我们
输入命令 more /etc/bash.bashrc 生成如图3-3中所显示的内容
注意图3-3中屏幕的底部, more 命令显示了一个标签,其表明你仍然在 more 程序中以及你现
在在这个文本文件中的位置。这是 more 命令的提示符。
more 命令是分页工具。在本章前面的内容里,当使用 man 命令时,分页工具会显示所选的bash
手册页面。和在手册页中前后移动一样,你可以通过按空格键或回车键以逐行向前的方式浏览文
本文件。浏览完之后,按q键退出。
more 命令只支持文本文件中的基本移动。如果要更多高级功能,可以试试 less 命令。
3. less 命令
从名字上看,它并不像 more 命令那样高级。但是, less 命令的命名实际上是个文字游戏(从
俗语“less is more”得来),它实为 more 命令的升级版。它提供了一些极为实用的特性,能够实
现在文本文件中前后翻动,而且还有一些高级搜索功能。
less 命令的操作和 more 命令基本一样,一次显示一屏的文件文本。除了支持和 more 命令相
同的命令集,它还包括更多的选项。
窍门 要想查看 less 命令所有的可用选项,可以输入 man less 浏览对应的手册页。也可以这样
查看 more 命令选项的参考资料。
其中一组特性就是 less 命令能够识别上下键以及上下翻页键(假设你的终端配置正确)。在
查看文件内容时,这给了你全面的控制权。
如果觉得《Linux命令+shell脚本大全:查看文件内容》对你有帮助,请点赞、收藏,并留下你的观点哦!