Linux: 终端入门——Shell 与第一个命令

终端是开发者与 Linux 交流的主要方式。它没有图形界面的花哨,但效率——一旦上手——远超鼠标点击。

📋 前置知识:需要先掌握以下内容

1. 你将学到


2. 一个初学者的第一次终端体验

(1) 痛点:黑底白字的窗口令人紧张

小明打开 WSL2 终端,只看到一个黑底窗口和一行闪烁的光标。他不知道该输入什么,也不知道按下回车会发生什么。他甚至不知道怎么退出。

(2) 第一个命令

资深工程师 Bob 说:"先打个招呼。输入 echo "Hello Linux" 然后按回车。"

BASH
echo "Hello Linux"
# 输出:Hello Linux

终端返回了他输入的内容——小明发现,终端就像一个对话窗口,你输入指令,计算机回复结果。

(3) 收益:从紧张到掌控

小明学会了第一个命令后,又试了 datewhoamical。不到 5 分钟,他从"不敢碰终端"变成了"能看懂终端输出"。


3. 知识点讲解

(1) Shell 与终端

终端模拟器(Terminal Emulator)是你看到的那个窗口——Linux 下的 GNOME Terminal、Windows 下的 Windows Terminal、macOS 的 Terminal.app。

Shell 是运行在终端内部的程序,负责解释你输入的命令。最常见的 Shell 是 bash(Bourne Again Shell)。

TEXT 📖 仅展示
终端窗口 → Shell(bash)→ 操作系统

(2) 命令的通用语法

几乎所有的 Linux 命令遵循这个结构:

TEXT 📖 仅展示

COMMAND [OPTIONS] [ARGUMENTS]
部分 解释 示例
COMMAND 要执行的命令名 ls
OPTIONS 修改命令行为的选项(一般以 - 开头) -l(长格式)、-a(显示隐藏)
ARGUMENTS 命令操作的目标 文件名、目录名
TEXT 📖 仅展示
# 语法示例
ls -la /home
# 命令: ls
# 选项: -l(长格式)和 -a(隐藏文件)
# 参数: /home(要列出的目录)

(3) Tab 自动补全

Tab 键是终端里最有用的键。 你只需要输入命令/文件名的一部分,按 Tab 就会自动补全。

💡 提示:Tab 补全不仅节省打字时间,更重要的是能防止拼写错误——如果按 Tab 没有补全,说明你输入的路径或命令名可能有误。结合 Ctrl+R 反向搜索历史命令,效率可提升数倍。

按 Tab 的效果 说明
自动补全 唯一匹配时自动补全完整名称
显示所有匹配 多个匹配时按一次不反应,按两次显示所有选项
补全命令 输入 ec + Tab → 自动补全为 echo
补全文件 cd /ho + Tab → 自动补全为 cd /home
补全路径 ls ~/Doc + Tab → ls ~/Documents/

(4) 终端快捷键

快捷键 作用
Ctrl + C 终止当前运行的程序(不是复制!)
Ctrl + D 退出当前 Shell 或结束输入(EOF)
Ctrl + L 清屏(同 clear 命令)
Ctrl + R 反向搜索历史命令
/ 浏览历史命令
Ctrl + A 光标移到行首
Ctrl + E 光标移到行尾
Ctrl + U 删除光标前所有字符
Ctrl + K 删除光标后所有字符
Ctrl + W 删除光标前一个词
💡 提示:终端快捷键是 Emacs 风格的——Ctrl+A 跳行首(同 Emacs 移动到行首)、Ctrl+E 跳行尾、Ctrl+U 清空前方、Ctrl+K 清空后方、Ctrl+W 删前一个词。记住这几个组合,长命令编辑效率会大幅提升。

▶ 示例:基本交互命令

BASH
# 查看当前日期和时间
date
# 输出:Tue Jul  7 10:23:45 CST 2026

# 打印当前用户名
whoami
# 输出:alice

# 查看日历
cal
#       七月 2026
# 日 一 二 三 四 五 六
#           1  2  3  4
#  5  6  7  8  9 10 11
# ...

# 查看系统运行时间
uptime
# 输出:10:23  up 2 days, 2 users

输出:

TEXT 📖 仅展示
Tue Jul  7 10:23:45 CST 2026
alice
     July 2026
Su Mo Tu We Th Fr Sa
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
10:23  up 2 days, 2 users

▶ 示例:echo 命令的多种用法

TEXT 📖 仅展示
# 打印字符串
echo "Hello Linux"

# 打印变量
echo "当前用户是:$USER"

# 打印命令输出
echo "今天是 $(date +%A)"

# 写入文件
echo "Hello World" > welcome.txt

▶ 示例:Tab 自动补全练习

TEXT 📖 仅展示
# 输入 cd /h 然后按 Tab → 自动补全 /home
cd /home

# 输入 ls -l /e 然后按 Tab → 自动补全 /etc
ls -l /etc

# 两次 Tab 显示匹配(输入 cd /e + Tab + Tab)
# 会列出所有以 /e 开头的路径

▶ 示例:清屏与退出

TEXT 📖 仅展示
# 屏幕内容太多?清屏
clear

# 或者用快捷键 Ctrl + L

# 退出终端
exit

# 或者按 Ctrl + D

▶ 示例:获取命令帮助

TEXT 📖 仅展示
# 方式一:--help 选项(大部分命令支持)
ls --help | head -20

# 方式二:man 手册(最详细)
man ls
# 按 q 退出 man 页面

# 方式三:whatis 一句话描述
whatis ls
# 输出:ls (1) - list directory contents

▶ 综合示例:小明的第一次终端探险

BASH
# 小明打开终端后,尝试了以下操作
echo "Hello Linux"          # 跟计算机打招呼
date                        # 看看今天几号
whoami                      # 我是谁?
uptime                      # 服务器跑了多久?
cal                         # 看看这个月的日历
ls -la                      # 我的家目录有什么文件?
echo $SHELL                 # 我用的什么 Shell?
exit                        # 再见,终端!

输出:

TEXT 📖 仅展示
Hello Linux
Tue Jul  8 10:23:45 CST 2026
alice
 10:23:45 up 3 days, 2:10,  1 user,  load average: 0.00, 0.01, 0.05
     July 2026
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
total 28
drwxr-xr-x  1 alice alice 4096 Jul  8 10:23 .
drwxr-xr-x  1 alice alice 4096 Jul  8 10:23 ..
-rw-r--r--  1 alice alice  220 Jul  8 10:23 .bash_logout
-rw-r--r--  1 alice alice 3771 Jul  8 10:23 .bashrc
-rw-r--r--  1 alice alice  807 Jul  8 10:23 .profile
/bin/bash

💡 小明已经学会了最基本的终端命令,接下来会在后续章节逐步深入!


❓ 常见问题

Q: 终端和 Shell 有什么区别? A: 终端是窗口程序(如 GNOME Terminal、Windows Terminal),Shell 是运行在终端里的命令解释器(如 bash、zsh)。终端提供"窗户",Shell 是"和你对话的人"。

Q: Tab 键在终端里可以补全什么? A: 命令名、文件名、目录名、命令选项(部分程序支持)、环境变量名(以 $ 开头时)。在 Linux 上,Ctrl + I 和 Tab 是同一个东西。

Q: 按了 Ctrl + C 程序还是没停下来怎么办? A: 先试 Ctrl + C,不行试 Ctrl + Z 挂起程序,然后用 kill %1 终止。还不行就用 ps aux | grep 程序名 找到 PID 后 kill -9 PID

Q: clear 和 Ctrl + L 有什么区别? A: 效果一样——都清屏。但 clear 是一个命令(会清除终端并配置滚动缓冲区),Ctrl + L 是一个快捷键(仅清可见部分)。实践中可以混用。

Q: 怎么查看以前输过的命令? A: 键逐条浏览。按 Ctrl + R 进入反向搜索模式,输入关键词即可搜索历史命令。所有历史命令保存在 ~/.bash_history 文件中。


📖 小节


📝 作业

  1. 基础题(难度⭐):打开终端输入 echo "Hello Linux" 并观察输出,然后用 datecal 查看当前日期和日历
  2. 进阶题(难度⭐⭐):用 man ls 阅读 ls 命令的手册(按 q 退出),并练习 Tab 补全——输入 cd / 后按 Tab 两次查看有哪些目录
  3. 挑战题(难度⭐⭐⭐):写一个 Shell 别名 today,让它同时显示日期和日历;再用 Ctrl + R 搜索历史命令,整理出 5 个你最常用的终端快捷键
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏