命令行小技巧:读取文件的不同方式

系统 Linux
作为图形操作系统,Fedora 的使用是令人愉快的。你可以轻松地点击完成任何任务。但你可能已经看到了,在底层还有一个强大的命令行。想要在 shell 下体验,只需要在 Fedora 系统中打开你的终端应用。

 [[246981]]

作为图形操作系统,Fedora 的使用是令人愉快的。你可以轻松地点击完成任何任务。但你可能已经看到了,在底层还有一个强大的命令行。想要在 shell 下体验,只需要在 Fedora 系统中打开你的终端应用。这篇文章是向你展示常见的命令行使用方法的系列文章之一。

在这部分,你将学习如何以不同的方式读取文件,如果你在系统中打开一个终端完成一些工作,你就有可能需要读取一两个文件。

一应俱全的大餐

对命令行终端的用户来说, cat 命令众所周知。 当你 cat 一个文件,你很容易的把整个文件内容展示在你的屏幕上。而真正发生在底层的是文件一次读取一行,然后一行一行写入屏幕。

假设你有一个文件,叫做 myfile, 这个文件每行只有一个单词。为了简单起见,每行的单词就是这行的行号,就像这样:

  1. one
  2. two
  3. three
  4. four
  5. five

所以如果你 cat 这个文件,你就会看到如下输出:

  1. $ cat myfile
  2. one
  3. two
  4. three
  5. four
  6. five

并没有太惊喜,不是吗? 但是有个有趣的转折,只要使用 tac 命令,你可以从后往前 cat 这个文件。(请注意, Fedora 对这种有争议的幽默不承担任何责任!)

  1. $ tac myfile
  2. five
  3. four
  4. three
  5. two
  6. one

cat 命令允许你以不同的方式装饰输出,比如,你可以输出行号:

  1. $ cat -n myfile
  2. 1 one
  3. 2 two
  4. 3 three
  5. 4 four
  6. 5 five

还有其他选项可以显示特殊字符和其他功能。要了解更多, 请运行 man cat 命令, 看完之后,按 q 即可退出回到 shell。

挑选你的食物

通常,文件太长会无法全部显示在屏幕上,您可能希望能够像文档一样查看它。 这种情况下,可以试试 less 命令:

  1. $ less myfile

你可以用方向键,也可以用 PgUp/PgDn 来查看文件, 按 q 就可以退回到 shell。

实际上,还有一个 more 命令,其基于老式的 UNIX 系统命令。如果在退回 shell 后仍想看到该文件的内容,则可能需要使用它。而 less 命令则让你回到你离开 shell 之前的样子,并且清除屏幕上你看到的所有的文件内容。

一点披萨或甜点

有时,你所需的输出只是文件的开头。 比如,有一个非常长的文件,当你使用 cat 命令时,会显示这个文件所有内容,前几行的内容很容易滚动过去,导致你看不到。head 命令会帮你获取文件的前几行:

  1. $ head -n 2 myfile
  2. one
  3. two

同样,你会用 tail 命令来查看文件的末尾几行:

  1. $ tail -n 3 myfile
  2. three
  3. four
  4. five

当然,这些只是在这个领域的几个简单的命令。但它们可以让你在阅读文件时容易入手。

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2022-06-12 15:32:27

bashLinux

2013-09-27 09:56:25

2015-06-16 10:36:45

Linux命令行

2019-08-25 23:57:00

命令行Linux移动文件

2009-07-06 18:23:32

JSP文件下载

2009-12-23 14:14:09

Linux高级命令行

2009-07-31 18:43:55

linux vi命linux vi命令详添加行号

2017-09-05 08:57:02

Linux命令行技巧

2009-08-07 10:33:53

linux命令行乱码linux命令行解决方式

2018-11-21 09:57:44

命令行Linux文件

2017-01-16 15:12:36

Linuxwatch命令命令

2013-09-10 10:34:49

PowerShell

2021-08-10 09:07:28

命令行Linux发行版

2009-12-16 11:23:29

VS命令

2018-10-22 10:00:05

Linux命令ls

2010-07-16 13:41:08

SQL Serverl

2017-08-30 19:11:38

Linux命令行tab

2015-05-25 10:40:22

Linux命令行技巧

2021-03-20 21:43:17

LibreOffice命令行开源

2022-08-01 08:30:26

Python命令行
点赞
收藏

51CTO技术栈公众号