Linux 命令行与 shell 脚本编程大全 (3rd ed)(37):基本的 bash shell 命令 3.8.2

阅读数:11 2019 年 11 月 17 日 15:26

Linux命令行与shell脚本编程大全(3rd ed)(37):基本的bash shell命令 3.8.2

内容简介
这是一本关于 Linux 命令行与 shell 脚本编程的全方位教程,主要包括四大部分:Linux 命令行,shell 脚本编程基础,高级 shell 脚本编程,如何创建实用的 shell 脚本。本书针对 Linux 系统的新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你将轻松写出自己的 shell 脚本。

(查看整个文件)

如果手头有一个很大的文本文件,你可能会想看看里面是什么内容。在 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 中所显示的内容。

Linux命令行与shell脚本编程大全(3rd ed)(37):基本的bash shell命令 3.8.2

图 3-3 使用more命令显示文本文件

注意图 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命令能够识别上下键以及上下翻页键(假设你的终端配置正确)。在查看文件内容时,这给了你全面的控制权。

评论

发布