第 13 课:touch、cat、less 与文件查看
学习目标
完成本课学习后,你将能够:
- 熟练使用
touch命令创建空文件或更新文件时间戳。 - 使用
cat命令快速查看和连接文本文件内容。 - 使用
less命令高效、交互式地浏览长文本文件。 - 根据不同场景选择合适的文件查看工具。
核心概念
在 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: 创建与检查
- 使用一条
touch命令,在当前目录创建三个文件:notes.txt,todo.md,idea.log。 - 使用
ls -l命令确认这三个文件已创建,并且大小都是0。 - 等待几秒钟(或者做其他操作),然后再次运行
touch notes.txt,然后用ls -l notes.txt查看,观察时间戳的变化。
预期输出(示例):
第一次 ls -l 可能显示时间如 14:30。执行 touch notes.txt 后再次查看,时间更新为 14:35(具体时间取决于你的操作)。
练习 2: 连接与输出
- 使用
echo和重定向,创建两个文件head.txt(内容为“文件头”) 和tail.txt(内容为“文件尾”)。 - 使用
cat命令将head.txt和tail.txt的内容连接起来,并将结果保存到一个新文件final.txt。 - 使用
cat -n查看final.txt的内容并显示行号。
预期输出:
final.txt 应包含两行,行号为 1 和 2,内容分别为“文件头”和“文件尾”。
练习 3: 浏览长文件
- 生成一个包含500行内容的文件
numbers.txt,内容为从500到1的倒序数字。 (提示:seq 500 -1 1 > numbers.txt) - 使用
less打开numbers.txt。 - 完成以下操作(在
less内部): a. 直接跳转到文件末尾(查看最后一行是1)。 b. 直接跳转回文件开头(查看第一行是500)。 c. 搜索数字250,看看它出现在第几行。 - 按
q退出。
预期结果:
你能成功使用快捷键导航文件,并找到 250 这个数字所在的位置。
常见错误
- 误用
cat查看大文件:新手常犯的错误是用cat查看一个很长的日志文件或配置文件,结果屏幕被海量信息刷屏,完全无法阅读。记住:长文件用less! - 在
less中不知道如何退出:进入less后,如果不知道按q退出,可能会不停地按Ctrl+C或Enter,结果无效。记住:q代表 quit(退出)。 - 混淆
touch创建和内容写入:touch只能创建空文件。要创建有内容的文件,需要使用echo、cat结合重定向 (>,>>) 或vim/nano等编辑器。 cat覆盖原文件:使用cat file1 > file2时,如果file2已存在,其原有内容会被完全覆盖。如果想追加内容,应使用>>(两个大于号)。- 忽略
less的搜索功能:在长文件中找某个特定内容时,不要一直手动翻页,应使用/关键词进行搜索,效率极高。
小结
touch:用于创建空文件和更新时间戳,是文件管理的起点。cat:适用于查看短小的文本文件,或用于连接、重定向文件内容。不适合查看长文件。less:是查看长文件的首选工具。它提供了一个功能丰富的交互式阅读环境,支持上下翻页、搜索、跳转等操作。- 关键快捷键记忆:在
less中,空格下翻,b上翻,G末尾,g开头,/搜索,q退出。
掌握了 touch、cat 和 less,你就拥有了在 Linux 系统中创建和查看文件的基本能力。下一课,我们将学习如何使用 find 命令,在庞大的文件系统中精准地定位你需要的文件。
练习编辑器
rust
Loading...