7.0 KiB
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:早期的标准 shellbash:最常见、最主流的 shellzsh:交互能力更强,常见于开发环境ksh、csh、tcsh、dash:其他常见 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:当前工作目录基名\t:24 小时制时间\T:12 小时制时间\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是最常见的 Shell,echo $SHELL可以查看当前 shelltype、help、which、man常用于判断命令类型和查看帮助PS1、alias、hostnamectl是终端环境中很常见的配置点
这篇内容属于 Linux 终端与 Shell 基础,理解后对日常登录、操作和环境配置都很有帮助。