终端基础操作 #

启动终端 #

不同系统的终端启动方式 #

Linux #

text
┌─────────────────────────────────────────────────────────────┐
│                    Linux 终端启动方式                         │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   方式一:快捷键                                              │
│   ├── Ctrl + Alt + T       (Ubuntu/Debian)                 │
│   ├── Ctrl + Alt + F1~F6   (虚拟控制台)                      │
│   └── Super + T            (GNOME)                          │
│                                                             │
│   方式二:应用程序菜单                                        │
│   ├── 应用程序 → 附件 → 终端                                  │
│   ├── 搜索 "Terminal"                                        │
│   └── 右键桌面 → 打开终端                                     │
│                                                             │
│   方式三:命令启动                                            │
│   ├── gnome-terminal       (GNOME 终端)                     │
│   ├── konsole              (KDE 终端)                       │
│   └── xterm                (X 终端)                         │
│                                                             │
└─────────────────────────────────────────────────────────────┘

macOS #

bash
# 方式一:Spotlight 搜索
Command + Space → 输入 "Terminal"

# 方式二:应用程序目录
应用程序 → 实用工具 → 终端.app

# 方式三:推荐安装 iTerm2
# https://iterm2.com/

Windows #

bash
# 方式一:Win + R
输入 "cmd" 或 "powershell"

# 方式二:开始菜单搜索
搜索 "PowerShell" 或 "Windows Terminal"

# 方式三:Windows Terminal(推荐)
# 从 Microsoft Store 安装

终端界面 #

终端提示符 #

bash
# 典型的提示符格式
[用户名@主机名 当前目录]$

# 示例
[alice@server ~]$
[root@server /etc]#

# 提示符含义
┌─────────────────────────────────────────────────────────────┐
│                      提示符解析                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   [alice@server ~]$                                         │
│    │      │     │   │                                       │
│    │      │     │   └── $ 普通用户 (# root用户)              │
│    │      │     └── 当前目录 (~ 表示家目录)                   │
│    │      └── 主机名                                        │
│    └── 用户名                                               │
│                                                             │
└─────────────────────────────────────────────────────────────┘

自定义提示符 #

bash
# 查看当前提示符设置
$ echo $PS1
[\u@\h \W]\$

# 提示符转义字符
\u    用户名
\h    主机名(短)
\H    主机名(完整)
\w    当前目录(完整路径)
\W    当前目录(仅目录名)
\d    日期
\t    时间(24小时制)
\T    时间(12小时制)
\n    换行
\$    $(普通用户)或 #(root用户)

# 临时修改提示符
$ export PS1="\u@\h:\w\$ "
alice@server:~$

# 永久修改(添加到 ~/.bashrc)
$ echo 'export PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "' >> ~/.bashrc

常用快捷键 #

光标移动 #

text
┌─────────────────────────────────────────────────────────────┐
│                      光标移动快捷键                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   Ctrl + A      移动到行首(Ahead)                          │
│   Ctrl + E      移动到行尾(End)                            │
│   Ctrl + B      向左移动一个字符(Backward)                  │
│   Ctrl + F      向右移动一个字符(Forward)                   │
│                                                             │
│   Alt + B       向左移动一个单词                              │
│   Alt + F       向右移动一个单词                              │
│                                                             │
│   在 macOS 上使用 Option + B/F 移动单词                      │
│                                                             │
└─────────────────────────────────────────────────────────────┘

编辑操作 #

text
┌─────────────────────────────────────────────────────────────┐
│                      编辑快捷键                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   Ctrl + U      删除从光标到行首                              │
│   Ctrl + K      删除从光标到行尾                              │
│   Ctrl + W      删除光标前一个单词                            │
│   Ctrl + D      删除光标处字符(或退出终端)                   │
│   Ctrl + H      删除光标前一个字符(同 Backspace)            │
│                                                             │
│   Ctrl + Y      粘贴最近删除的内容                            │
│   Ctrl + _      撤销上一次操作                                │
│                                                             │
│   Alt + D       删除光标后一个单词                            │
│   Alt + Backspace  删除光标前一个单词                         │
│                                                             │
└─────────────────────────────────────────────────────────────┘

控制操作 #

text
┌─────────────────────────────────────────────────────────────┐
│                      控制快捷键                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   Ctrl + C      终止当前命令                                  │
│   Ctrl + D      退出当前 Shell(EOF)                        │
│   Ctrl + Z      暂停当前进程(放入后台)                       │
│   Ctrl + L      清屏(同 clear 命令)                        │
│                                                             │
│   Ctrl + S      暂停屏幕输出                                  │
│   Ctrl + Q      恢复屏幕输出                                  │
│                                                             │
└─────────────────────────────────────────────────────────────┘

历史命令 #

text
┌─────────────────────────────────────────────────────────────┐
│                      历史命令快捷键                          │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   Ctrl + P      上一条命令(Previous,同 ↑)                  │
│   Ctrl + N      下一条命令(Next,同 ↓)                      │
│   Ctrl + R      搜索历史命令(反向搜索)                       │
│   Ctrl + S      搜索历史命令(正向搜索)                       │
│   Ctrl + O      执行搜索到的命令并继续搜索                     │
│                                                             │
│   Alt + <       移动到历史命令第一条                          │
│   Alt + >       移动到历史命令最后一条                        │
│                                                             │
│   Alt + .       插入上一条命令的最后一个参数                   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

命令历史 #

history 命令 #

bash
# 查看命令历史
$ history
    1  ls -la
    2  cd /home
    3  cat /etc/passwd
    4  grep "error" /var/log/syslog

# 查看最近 10 条历史
$ history 10

# 执行第 n 条历史命令
$ !3        # 执行第 3 条命令
$ cat /etc/passwd

# 执行上一条命令
$ !!
$ cat /etc/passwd

# 执行最近以 xxx 开头的命令
$ !grep
$ grep "error" /var/log/syslog

历史命令扩展 #

bash
# !! 上一条命令
$ ls -la
$ !! | grep ".txt"
ls -la | grep ".txt"

# !-n 倒数第 n 条命令
$ !-2        # 执行倒数第 2 条命令

# !$ 上一条命令的最后一个参数
$ ls /very/long/path/to/directory
$ cd !$
cd /very/long/path/to/directory

# !* 上一条命令的所有参数
$ ls -la /home/user
$ echo !*
echo -la /home/user

# !^ 上一条命令的第一个参数
$ ls -la /home/user
$ cd !^
cd -la    # 注意:这不是我们想要的

# 正确用法示例
$ cp file1.txt file2.txt /backup/
$ ls !^
ls file1.txt

历史搜索 #

bash
# Ctrl + R 反向搜索
# 按 Ctrl + R 后输入关键字
(reverse-i-search)`grep': grep "error" /var/log/syslog

# 继续按 Ctrl + R 查找更早的匹配
# 按 Enter 执行
# 按 Ctrl + G 取消搜索

# 使用 grep 搜索历史
$ history | grep "docker"
  123  docker ps -a
  145  docker images
  167  docker-compose up -d

历史配置 #

bash
# 历史文件位置
~/.bash_history    # Bash 历史文件
~/.zsh_history     # Zsh 历史文件

# 历史配置(添加到 ~/.bashrc)
HISTSIZE=10000           # 内存中保存的历史条数
HISTFILESIZE=20000       # 文件中保存的历史条数
HISTCONTROL=ignoreboth   # 忽略重复命令和空格开头的命令
HISTIGNORE="ls:cd:pwd:exit"  # 忽略特定命令

# 忽略重复命令
HISTCONTROL=ignoredups

# 忽略空格开头的命令
HISTCONTROL=ignorespace

# 同时生效
HISTCONTROL=ignoreboth

# 添加时间戳
HISTTIMEFORMAT="%F %T "

自动补全 #

Tab 补全 #

bash
# 命令补全
$ sys<Tab>
$ systemctl

# 文件名补全
$ ls /etc/pass<Tab>
$ ls /etc/passwd

# 目录补全
$ cd /home/u<Tab>
$ cd /home/user/

# 双击 Tab 显示所有匹配项
$ ls /etc/pa<Tab><Tab>
pam.d/      passwd      passwd-     pam.conf

# 路径补全
$ cat /var/log/sys<Tab>
$ cat /var/log/syslog

命令选项补全 #

bash
# Bash 补全包提供选项补全
$ systemctl <Tab><Tab>
start        stop         restart      status       enable
disable      reload       daemon-reload

$ git <Tab><Tab>
add          commit       push         pull         clone
branch       checkout     merge        rebase       log

# 安装 bash-completion
# Ubuntu/Debian
$ sudo apt install bash-completion

# CentOS/RHEL
$ sudo yum install bash-completion

补全快捷键 #

text
┌─────────────────────────────────────────────────────────────┐
│                      补全快捷键                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   Tab           自动补全                                     │
│   Tab Tab       显示所有匹配项                               │
│                                                             │
│   Alt + ?       显示所有可能的补全                           │
│   Alt + *       插入所有可能的补全                           │
│   Alt + /       文件名补全                                   │
│                                                             │
└─────────────────────────────────────────────────────────────┘

别名设置 #

创建别名 #

bash
# 查看所有别名
$ alias

# 创建临时别名
$ alias ll='ls -la'
$ ll
total 32
drwxr-xr-x  5 user user 4096 Apr 11 10:00 .

# 创建带参数的别名(需要使用函数)
$ alias lsg='ls | grep'

# 使用函数实现更复杂的别名
$ lsg() { ls "$1" | grep "$2"; }
$ lsg /etc conf

常用别名推荐 #

bash
# 添加到 ~/.bashrc

# 文件操作
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias lh='ls -lh'

# 目录操作
alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'

# 安全操作
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias mkdir='mkdir -pv'

# Git 快捷方式
alias gs='git status'
alias ga='git add'
alias gc='git commit'
alias gp='git push'
alias gl='git log --oneline'

# 系统信息
alias ports='netstat -tulanp'
alias myip='curl -s ifconfig.me'
alias meminfo='free -h'
alias diskinfo='df -h'

删除别名 #

bash
# 删除别名
$ unalias ll

# 删除所有别名
$ unalias -a

终端标签页管理 #

GNOME Terminal #

text
┌─────────────────────────────────────────────────────────────┐
│                    标签页快捷键                              │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   Ctrl + Shift + T      新建标签页                           │
│   Ctrl + Shift + W      关闭当前标签页                       │
│   Ctrl + Page Up        切换到上一个标签页                    │
│   Ctrl + Page Down      切换到下一个标签页                    │
│   Ctrl + Shift + Page Up    移动标签页位置                   │
│                                                             │
│   Ctrl + Shift + N      新建终端窗口                         │
│   Ctrl + Shift + Q      关闭终端窗口                         │
│                                                             │
└─────────────────────────────────────────────────────────────┘

iTerm2 (macOS) #

text
┌─────────────────────────────────────────────────────────────┐
│                    iTerm2 快捷键                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   Command + T           新建标签页                           │
│   Command + W           关闭当前标签页                       │
│   Command + 数字        切换到指定标签页                      │
│   Command + Shift + [   切换到上一个标签页                    │
│   Command + Shift + ]   切换到下一个标签页                    │
│                                                             │
│   Command + D           垂直分屏                             │
│   Command + Shift + D   水平分屏                             │
│   Command + [           切换到上一个分屏                      │
│   Command + ]           切换到下一个分屏                      │
│                                                             │
└─────────────────────────────────────────────────────────────┘

复制粘贴 #

终端复制粘贴 #

bash
# GNOME Terminal
Ctrl + Shift + C    复制
Ctrl + Shift + V    粘贴

# macOS Terminal / iTerm2
Command + C         复制
Command + V         粘贴

# 使用鼠标
# 选中即复制(部分终端支持)
# 中键粘贴

# 命令行方式
# 复制到剪贴板
$ echo "Hello" | xclip -selection clipboard

# 从剪贴板粘贴
$ xclip -selection clipboard -o

终端多路复用 #

screen 基础 #

bash
# 安装 screen
$ sudo apt install screen    # Ubuntu/Debian
$ sudo yum install screen    # CentOS/RHEL

# 创建新会话
$ screen -S mysession

# 分离会话
Ctrl + A, D

# 列出会话
$ screen -ls

# 重新连接
$ screen -r mysession

# 终止会话
$ exit

tmux 基础 #

bash
# 安装 tmux
$ sudo apt install tmux

# 创建新会话
$ tmux new -s mysession

# 分离会话
Ctrl + B, D

# 列出会话
$ tmux ls

# 重新连接
$ tmux attach -t mysession

# 分屏
Ctrl + B, %    垂直分屏
Ctrl + B, "    水平分屏
Ctrl + B, 方向键  切换分屏

小结 #

通过本节学习,你应该掌握:

  1. 终端启动:不同系统的终端启动方式
  2. 快捷键:光标移动、编辑、控制、历史命令快捷键
  3. 命令历史:history 命令和历史扩展
  4. 自动补全:Tab 补全提高效率
  5. 别名设置:简化常用命令
  6. 终端管理:标签页、分屏、多路复用

下一步,我们将学习命令的结构与语法,了解如何正确构造命令。

最后更新:2026-04-11