Linux中有几个命令可以查看文件的内容,而不需要调用其他文本编辑器(参见第10章)。本
节将演示一些可以帮助查看文件内容的命令。
3.8.1 查看文件类型
在显示文件内容之前,应该先了解一下文件的类型。如果打开了一个二进制文件,你会在屏
幕上看到各种乱码,甚至会把你的终端仿真器挂起。
file 命令是一个随手可得的便捷工具。它能够探测文件的内部,并决定文件是什么类型的:

$ file my_file
my_file: ASCII text
$

上面例子中的文件是一个text(文本)文件。 file 命令不仅能确定文件中包含的文本信息,
还能确定该文本文件的字符编码,ASCII。
下面例子中的文件就是一个目录。因此,以后可以使用 file 命令作为另一种区分目录的方法:

$ file New_Dir
New_Dir: directory
$

第三个 file 命令的例子中展示了一个类型为符号链接的文件。注意, file 命令甚至能够告
诉你它链接到了哪个文件上:

$ file sl_data_file
sl_data_file: symbolic link to 'data_file'
$

下面的例子展示了 file 命令对脚本文件的返回结果。尽管这个文件是ASCII text,但因为它
是一个脚本文件,所以可以在系统上执行(运行):

$ file my_script
my_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 test1
hello
This is a test file.
That we'll use to test the cat command.
$

没什么特别的,就是文本文件的内容而已。这里还有一些可以和 cat 命令一起用的参数,可
能对你有所帮助。
-n 参数会给所有的行加上行号。

$ cat -n test1
1 hello
2
3 This is a test file.
4
5
6 That we'll use to test the cat command.
$

这个功能在检查脚本时很有用。如果只想给有文本的行加上行号,可以用 -b 参数。

$ cat -b test1
1 hello
2 This is a test file.
3 That we'll use to test the cat command.
$

最后,如果不想让制表符出现,可以用 -T 参数。

$ cat -T test1
hello
This 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脚本大全:查看文件内容相关推荐

  1. Linux命令+shell脚本大全:文件和目录列表

    要想知道系统中有哪些文件,可以使用列表命令( ls ).本节将描述 ls 命令和可用来格式化 其输出信息的选项. 3.5.1 基本列表功能 ls 命令最基本的形式会显示当前目录下的文件和目录: $ l ...

  2. Linux命令+shell脚本大全:处理目录

    在Linux中,有些命令(比如 cp 命令)对文件和目录都有效,而有些只对目录有效.创建新 目录需要使用本节讲到的一个特殊命令.删除目录也很有意思,本节也会讲到. 3.7.1 创建目录 在Linux中 ...

  3. Linux命令+shell脚本大全:处理数据文件

    当你有大量数据时,通常很难处理这些信息及提取有用信息.正如在上节中学习的 du 命令, 系统命令很容易输出过量的信息. Linux系统提供了一些命令行工具来处理大量数据.本节将会介绍一些每个系统管理员 ...

  4. Linux命令+shell脚本大全:用 aptitude 管理软件包

    免费教程推荐: python.C++.Java.JS.Rust.Go语言入门完全手册(6合1).zip-Python文档类资源-CSDN下载 Linux系统管理员面对的一个常见任务是确定系统上已经安装 ...

  5. Linux命令+shell脚本大全:操作文件系统

    Linux提供了一些不同的工具,我们可以利用它们轻松地在命令行中进行文件系统操作.可 使用键盘随心所欲地创建新的文件系统或者修改已有的文件系统.本节将会带你逐步了解命令行 下的文件系统交互的命令. 8 ...

  6. Linux命令+shell脚本大全:用 aptitude 安装软件包

    免费教程推荐: python.C++.Java.JS.Rust.Go语言入门完全手册(6合1).zip-Python文档类资源-CSDN下载 了解了怎样在系统中列出软件包信息之后,本节将带你逐步学习怎 ...

  7. Linux命令--tac(倒序查看文件所有内容)

    原文网址:Linux命令--tac(倒序查看文件所有内容)_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Linux的tac命令的用法. tac用于倒序查看文件的所有内容.(跟cat命令相反). 示 ...

  8. Linux 中的五种查看文件内容的命令 and 三种搜索文件的命令

    一.查看文件内容的命令 1.head 命令 作用:查看文件的头部内容 使用:head [参数] 文件名 参数:-n,-c 案例:查看 yzc 的文件的前5行内容 查看 yzc 的文件的前5个字母 he ...

  9. Linux 下Shell脚本删除过期文件

    在写这个shell之前先说一下,stat命令的使用方法 一.关于时间戳 每一个文件都有3中时间(称为时间戳timestamps),对这3种时间,很多时候容易混淆不清,因此 这里要说明下:   Acce ...

最新文章

  1. pytorch 三维点分类_三维点云分类与分割-PointNet
  2. 移动端点击屏幕按钮闪现的灰色底框
  3. go语言io reader_【已解决】go语言中如何使用io的MultiWriter
  4. 关于/etc/shadow 文件的九段内容的详细解释
  5. 和阿里同年创办,为何当当却走向了“卖身”的结局?
  6. asdm如何管理ips模块_自动驾驶深受高精度定位困扰,ST如何应对挑战?
  7. Python 批量修改文件后缀
  8. 教程系列 - 用模板快速上线一个HR 服务中心
  9. 【生物电信号】基于matlab GUI生物电信号仿真【含Matlab源码 684期】
  10. 测试用例需要包含哪些内容
  11. html不用画布太阳系示意图,html5-canvas-太阳系2
  12. HuTool工具最全介绍
  13. DGZX1564 - 水塔水位
  14. DBA 职业迷茫何去何从
  15. 清华大学计算机音乐,清华大学2018年毕业歌《告别之前》发布!每个告别都等得到再见...
  16. 攻防世界逆向入门题之流浪者
  17. Java学习第二周(2)--排序算法与二维数组
  18. 1307 牡牛和牝牛(组合计数-递推)
  19. 天天爱跑步noip2016
  20. 利用python的turtle库画一个图形

热门文章

  1. 网易蜗牛读书产品体验报告(1.9.6版本)
  2. 永恒之蓝和震网病毒复现
  3. python 残差网络--ResNeXt (附python代码)
  4. 联想-win7系统电脑开机提示Error 1962:No operating解决步骤
  5. 在Windows上如何安装和彻底卸载Adobe Flash Player教程
  6. 使用扫码枪识别条形码
  7. 可视化实验一:大数据可视化工具—Excel
  8. 佳能c3020维修模式 白电平调整_各品牌传真机清零方法及白电平调整方法汇总
  9. Android 养成记-1 --1.3 标签拾色器
  10. JQ8900语音模块组合播放