wiki/运维/Linux/笔记/4.终端管理.md
2026-04-08 19:40:00 +08:00

7.0 KiB
Raw Permalink Blame History

1、终端管理概览

在 Linux 中,终端管理主要围绕这几个概念展开:

  • 终端类型:当前是本地控制台、串口还是 SSH 登录
  • 图形界面与命令行界面GUI 和 CLI 的区别
  • Shell用户与系统交互的命令解释器
  • 提示符、别名、主机名:日常使用中最常配置的内容

理解这些内容后,平时排查“我现在登录到哪了”“当前用的是什么 shell”“为什么命令行为不一样”等问题会更容易。

2、终端类型

Linux 中常见终端类型如下。

2.1 控制台终端

  • 设备文件:/dev/console
  • 常见场景:服务器物理控制台、云服务器 VNC 控制台

控制台终端通常用于系统启动、紧急排障、无法通过网络登录时的本地管理。

2.2 串行终端

  • 设备文件:/dev/ttyS#
  • 常见场景:通过串口线连接服务器、网络设备或嵌入式设备

串口终端在机房设备、交换机、路由器、服务器底层管理中很常见。

2.3 虚拟终端

  • 设备文件:/dev/tty#
  • 常见场景:本地文本控制台
  • 切换方式:Ctrl + Alt + F1 ~ F6(不同发行版可能略有差异)

虚拟终端更准确地说是 Linux 的本地字符界面终端,不是图形终端本身。

2.4 伪终端

  • 设备文件:/dev/pts/#
  • 常见场景SSH 登录、远程终端窗口、图形界面中的终端模拟器

平时通过 SSH 连到服务器后,最常见的就是伪终端。

2.5 图形终端

图形终端一般是桌面环境中的终端模拟器,例如 GNOME Terminal、Xfce Terminal、Konsole 等。 它们本质上通常也是运行在图形界面中的伪终端。

2.6 查看当前终端

[root@tencentos ~]# tty
/dev/pts/0
  • tty 用于查看当前会话对应的终端设备
  • 如果输出是 /dev/pts/0,通常表示当前是远程登录或图形终端模拟器

3、GUI 与 CLI

3.1 GUI

GUI 全称是 Graphical User Interface即图形用户界面。 它适合桌面办公、图形化配置和交互式操作。

常见 Linux 桌面环境有:

GNOME

  • 简介:功能完整,生态成熟,常见于主流 Linux 发行版
  • 特点:界面现代,但资源占用相对较高
  • 项目地址GNOME Shell

Xfce

  • 简介:轻量级桌面环境
  • 特点:运行速度快,占用资源少,适合配置较低的机器

LXDE

  • 简介:更偏极简和轻量的桌面环境
  • 特点:资源占用很低,适合老旧设备

KDE Plasma

  • 简介:功能丰富、可定制性强
  • 特点:界面美观,功能全面,但整体较重

MATE

  • 简介:传统风格桌面环境
  • 特点:兼顾易用性和资源占用,适合中低配置机器

3.2 CLI

CLI 全称是 Command-Line Interface即命令行界面。 在服务器运维场景中CLI 更常见,原因主要有:

  • 资源消耗更低
  • 远程管理更方便
  • 适合自动化和脚本化操作
  • 排障时更高效

4、Shell 与命令分类

4.1 什么是 Shell

Shell 是用户和 Linux 内核之间的命令解释器。用户输入命令后Shell 负责解释并调用对应程序执行。

常见 Shell 有:

  • sh:早期的标准 shell
  • bash:最常见、最主流的 shell
  • zsh:交互能力更强,常见于开发环境
  • kshcshtcshdash:其他常见 shell

4.2 查看当前 Shell

[root@tencentos ~]# echo $SHELL
/bin/bash

注意这里通常使用的是大写环境变量 SHELL,不是 shell

4.3 查看系统支持哪些 Shell

[root@tencentos ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/ksh
/bin/rksh
/usr/bin/ksh
/usr/bin/rksh
/usr/bin/zsh
/bin/zsh
/bin/csh
/bin/tcsh
/usr/bin/csh
/usr/bin/tcsh
/bin/dash

4.4 命令分类

可以通过下面的命令查看某个命令的类型:

type COMMAND

命令大体可以分为两类:

内部命令

内部命令是 Shell 自带的命令,启动 Shell 后即可直接使用。

  • 查看帮助方式:help cd
  • 查看所有内部命令帮助:help

外部命令

外部命令是磁盘上的可执行程序,执行时由 Shell 到相应路径中查找。

  • 查看路径:which -a COMMAND
  • 辅助查看:whereis COMMAND
  • 查看帮助:man COMMAND

4.5 hash 缓存

Shell 会把已经找到路径的外部命令缓存到 hash 表中,后续再次执行时可以减少路径查找。

hash -l

这个命令可以查看当前 shell 的 hash 缓存内容。

5、提示符 PS1

提示符就是你每次看到的命令行前缀,例如:

[lzc@tencentos ~]$ echo $PS1
[\u@\h \W]\$

常见占位符说明:

  • \u:当前用户名
  • \h:短主机名
  • \H:完整主机名
  • \w:当前工作目录完整路径
  • \W:当前工作目录基名
  • \t24 小时制时间
  • \T12 小时制时间
  • \e:转义字符,常用于颜色控制

5.1 自定义提示符示例

PS1='\[\e[1;41;33m\][\u@\h \W]\$\[\e[0m\]'

这条配置会让提示符带颜色显示。 \[ ... \] 用于告诉 shell 这里是非打印字符,避免光标错位。

如果想永久生效,通常把它写到:

  • 当前用户:~/.bashrc
  • 所有用户:/etc/bashrc

6、命令别名 alias

别名适合给常用长命令起一个短名字,提高输入效率。

6.1 临时设置

alias NAME='VALUE'

例如:

alias ll='ls -l --color=auto'

6.2 取消别名

unalias NAME
unalias -a
  • unalias NAME:取消指定别名
  • unalias -a:取消所有别名

6.3 永久生效

如果希望每次登录都生效,需要把别名配置写入:

  • 当前用户:~/.bashrc
  • 所有用户:/etc/bashrc

修改后通常执行:

source ~/.bashrc

7、登录提示文件

系统登录后的欢迎信息通常来自:

/etc/motd

这个文件常用于显示运维通知、登录提醒、版权信息等。

8、设置主机名

8.1 临时设置

hostname NAME

这种方式通常只对当前运行环境立即生效,重启后是否保留取决于系统配置。

8.2 推荐方式

hostnamectl set-hostname NAME

在使用 systemd 的系统中,更推荐使用 hostnamectl 来修改主机名。

8.3 注意事项

  • 主机名不建议使用下划线 _
  • 通常推荐使用字母、数字和中划线 -
  • 主机名应简洁、易识别,便于批量运维管理

9、小结

  • tty 可以查看当前终端设备
  • /dev/tty#/dev/pts/#/dev/console 分别对应不同类型终端
  • GUI 适合图形化操作CLI 更适合服务器运维
  • bash 是最常见的 Shellecho $SHELL 可以查看当前 shell
  • typehelpwhichman 常用于判断命令类型和查看帮助
  • PS1aliashostnamectl 是终端环境中很常见的配置点

这篇内容属于 Linux 终端与 Shell 基础,理解后对日常登录、操作和环境配置都很有帮助。