13·文件管理入门

touch、cat、less 与文件查看

touchcatless

第 13 课:touch、cat、less 与文件查看

学习目标

完成本课学习后,你将能够:

  1. 熟练使用 touch 命令创建空文件或更新文件时间戳。
  2. 使用 cat 命令快速查看和连接文本文件内容。
  3. 使用 less 命令高效、交互式地浏览长文本文件。
  4. 根据不同场景选择合适的文件查看工具。

核心概念

在 Linux 系统中,查看和创建文件是最基本、最频繁的操作之一。本节课我们将学习三个核心命令,它们就像你工具箱里不同用途的工具。

  • touch (触摸):它的主要作用有两方面。第一,创建一个新的空文件。第二,更新现有文件的时间戳(包括访问时间和修改时间),而文件内容不变。你可以把它想象成“更新文件的生日”。
  • cat (concatenate, 连接):这个名字来源于它的一个功能——连接多个文件。但它最常用的用途是在屏幕上一次性显示整个文件的内容。它就像是快速翻阅一本薄书,如果书太厚(文件太长),内容会瞬间刷过屏幕,很难阅读。
  • less (更少):这是一个交互式的文件阅读器。当文件很长时(比如系统日志、配置文件),less 可以让你一页一页地、前后翻动地查看文件内容。它是 more 命令的增强版,功能更强大。你可以把它看作是一个带“翻页”、“搜索”功能的 PDF 阅读器。

简单比喻:

  • 创建新文件/空文档 -> 用 touch
  • 快速瞄一眼短文本 -> 用 cat
  • 仔细阅读长文档 -> 用 less

代码示例

1. 使用 touch

# 在当前目录创建一个名为 `my_file.txt` 的空文件
touch my_file.txt

# 同时创建多个文件:file1, file2, file3
touch file1 file2 file3

# 更新 `my_file.txt` 的时间戳为当前时间(如果文件已存在)
touch my_file.txt

# 使用 `ls -l` 命令查看文件的时间信息
ls -l my_file.txt
# 输出类似:`-rw-r--r-- 1 user user 0 5月  15 14:30 my_file.txt` (时间会被更新)

2. 使用 cat

# 首先,用一个示例文件。我们可以用重定向(>)快速生成一个内容文件
echo "这是第一行文本。" > demo.txt
echo "这是第二行文本。" >> demo.txt
echo "这是第三行文本。" >> demo.txt

# 查看 demo.txt 的全部内容
cat demo.txt
# 输出:
# 这是第一行文本。
# 这是第二行文本。
# 这是第三行文本。

# 连接(拼接)两个文件并显示
cat demo.txt my_file.txt

# 连接两个文件并输出到新文件(常用操作)
cat demo.txt my_file.txt > combined.txt

# 显示文件内容的同时显示行号(-n 选项)
cat -n demo.txt
# 输出:
#      1	这是第一行文本。
#      2	这是第二行文本。
#      3	这是第三行文本。

3. 使用 less(重点)

# 假设我们有一个长文件(例如系统日志或代码文件)。我们可以先生成一个长一点的文件。
# 使用 `seq` 命令生成1到1000的数字,重定向到 `long_file.txt`
seq 1000 > long_file.txt

# 使用 `less` 打开这个文件
less long_file.txt

进入 less 界面后,你处于交互模式。 熟悉以下常用快捷键至关重要:

快捷键功能
空格键f向下翻一页
b向上翻一页
j向下箭头向下滚动一行
k向上箭头向上滚动一行
G跳转到文件末尾
g跳转到文件开头
/关键词向下搜索“关键词” (按 n 查找下一个,N 查找上一个)
?关键词向上搜索“关键词”
q退出 less
h显示帮助
# 在 less 中,你可以尝试输入 `/100` 然后按回车,看看它会定位到哪里。
# 按 `q` 退出。

实践练习

练习 1: 创建与检查

  1. 使用一条 touch 命令,在当前目录创建三个文件:notes.txt, todo.md, idea.log
  2. 使用 ls -l 命令确认这三个文件已创建,并且大小都是 0
  3. 等待几秒钟(或者做其他操作),然后再次运行 touch notes.txt,然后用 ls -l notes.txt 查看,观察时间戳的变化。

预期输出(示例): 第一次 ls -l 可能显示时间如 14:30。执行 touch notes.txt 后再次查看,时间更新为 14:35(具体时间取决于你的操作)。

练习 2: 连接与输出

  1. 使用 echo 和重定向,创建两个文件 head.txt (内容为“文件头”) 和 tail.txt (内容为“文件尾”)。
  2. 使用 cat 命令将 head.txttail.txt 的内容连接起来,并将结果保存到一个新文件 final.txt
  3. 使用 cat -n 查看 final.txt 的内容并显示行号。

预期输出: final.txt 应包含两行,行号为 1 和 2,内容分别为“文件头”和“文件尾”。

练习 3: 浏览长文件

  1. 生成一个包含500行内容的文件 numbers.txt,内容为从500到1的倒序数字。 (提示:seq 500 -1 1 > numbers.txt)
  2. 使用 less 打开 numbers.txt
  3. 完成以下操作(在 less 内部): a. 直接跳转到文件末尾(查看最后一行是1)。 b. 直接跳转回文件开头(查看第一行是500)。 c. 搜索数字 250,看看它出现在第几行。
  4. q 退出。

预期结果: 你能成功使用快捷键导航文件,并找到 250 这个数字所在的位置。

常见错误

  1. 误用 cat 查看大文件:新手常犯的错误是用 cat 查看一个很长的日志文件或配置文件,结果屏幕被海量信息刷屏,完全无法阅读。记住:长文件用 less
  2. less 中不知道如何退出:进入 less 后,如果不知道按 q 退出,可能会不停地按 Ctrl+CEnter,结果无效。记住:q 代表 quit(退出)。
  3. 混淆 touch 创建和内容写入touch 只能创建空文件。要创建有内容的文件,需要使用 echocat 结合重定向 (>, >>) 或 vim/nano 等编辑器。
  4. cat 覆盖原文件:使用 cat file1 > file2 时,如果 file2 已存在,其原有内容会被完全覆盖。如果想追加内容,应使用 >>(两个大于号)。
  5. 忽略 less 的搜索功能:在长文件中找某个特定内容时,不要一直手动翻页,应使用 /关键词 进行搜索,效率极高。

小结

  • touch:用于创建空文件和更新时间戳,是文件管理的起点。
  • cat:适用于查看短小的文本文件,或用于连接、重定向文件内容。不适合查看长文件。
  • less:是查看长文件的首选工具。它提供了一个功能丰富的交互式阅读环境,支持上下翻页、搜索、跳转等操作。
  • 关键快捷键记忆:在 less 中,空格 下翻,b 上翻,G 末尾,g 开头,/搜索q 退出。

掌握了 touchcatless,你就拥有了在 Linux 系统中创建和查看文件的基本能力。下一课,我们将学习如何使用 find 命令,在庞大的文件系统中精准地定位你需要的文件。

练习编辑器

rust
Loading...

继续学习

完成本课后,建议继续学习下一课「find 文件查找」 以巩固所学知识。