Shell 重定向与管道

掌握 Linux 中 Shell 重定向和管道的强大功能。学习如何重定向标准输入、输出和错误流,使用管道将命令链接起来,管理命令历史记录,并使用 sort 和 uniq 处理文本数据。本模块将教您如何将简单命令组合成强大的数据处理工作流程。

DevOps 工程师LinuxDevOps

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

这门初学者课程讲解数据如何在 Linux 命令、终端和文件之间流动。通过 6 个引导式实验和 1 个简短最终挑战,你将区分正常输出与错误,重定向数据流,构建管道,复用命令历史,汇总文本并创建临时命令别名。

练习会把小型工具组合成可观察的工作流。最终日志分析任务使用一条管道和输出重定向,将原始 IP 地址列表转换为带计数且按数字排序的报告。

你将学到什么

  • 在成功、失败和混合命令中区分标准输出与标准错误
  • 使用 > 和 >> 覆盖或追加命令输出到文件
  • 使用 2> 单独捕获错误消息
  • 使用 | 连接命令,使一个命令的输出成为另一个命令的输入
  • 使用 history、!! 和 Ctrl+R 查看、重复和反向搜索命令历史
  • 使用 sort 和 uniq -c 排序文本、合并相邻重复项并统计次数
  • 创建、查看、使用和删除临时 Shell 别名
  • 构建并保存按数字排序重复 IP 地址的管道

本课程适合谁

本课程适合已经能够运行命令和查看文本文件、现在希望组合可重复命令行工作流的 Linux 初学者,也适合需要处理日志与文本命令输出的 DevOps、开发和系统管理学习者。

前置要求: 具备基础终端导航能力,熟悉 ls、cat、grep 和 wc 等命令;不要求 Shell 脚本经验。

学习环境: 提供的 LabEx Linux 终端,包含预置文本与日志文件;重定向、历史、别名和管道练习均在 labex 用户的训练工作区内进行。

常见问题

课程有多少引导内容?

前 6 个实验提供分步练习。第 7 个也是最后一个单元为两步挑战,你会使用 sort | uniq -c 统计重复 IP,加入数字排序,并将结果重定向到 ip_report.txt。

课程会涵盖所有 Shell 重定向形式吗?

不会。课程练习使用 >、>> 覆盖和追加标准输出,以及使用 2> 单独捕获错误;不练习 <、2>&1、Here-document 或 tee。

别名会永久保留吗?

不会。你会在当前 Shell 中创建 ll 别名,查看并运行它,然后使用 unalias 删除;通过编辑 Shell 启动文件持久化别名不属于本模块范围。

> 会覆盖现有数据吗?

会。专门的练习会演示 > 替换文件内容,而 >> 追加内容;所有示例都使用训练工作区中的预置文件。

教师

labby
Labby
Labby is the LabEx teacher.