wiki/运维/操作系统/Linux/笔记/2.系统管理.md
2026-04-08 15:02:24 +08:00

6.2 KiB
Raw Blame History

1、查看系统信息

系统管理中,第一步通常不是直接操作,而是先确认当前系统的基本信息,例如:机器架构、内核版本、发行版信息等。

1.1 查看机器架构

[root@tencentos ~]# arch
x86_64
  • x86_64 表示当前机器是 64 位架构
  • arch 适合快速查看当前机器架构信息

1.2 查看内核版本

[root@tencentos ~]# uname -r
5.4.119-19.0009.28
  • uname -r 用于查看当前运行中的 Linux 内核版本
  • 排查驱动、内核模块、系统兼容性问题时很常用

1.3 查看发行版信息

[root@tencentos ~]# cat /etc/redhat-release
TencentOS Server release 3.1 (Final)

这个文件适合快速查看基于 Red Hat 系列系统的版本信息。

[root@tencentos ~]# cat /etc/os-release
NAME="TencentOS Server"
VERSION="3.1 (Final)"
ID="tencentos"
ID_LIKE="rhel fedora centos"
VERSION_ID="3.1"
PRETTY_NAME="TencentOS Server 3.1 (Final)"
  • /etc/os-release 是更通用的系统发行版信息文件
  • 自动化脚本中通常优先读取这个文件

2、关机与重启

Linux 中常见的关机和重启命令有 haltpoweroffrebootshutdown。 在现代系统中,最常用、也最推荐的是 shutdown,因为它更灵活、更安全。

2.1 halt

halt 会停止系统运行,传统意义上表示“停机”。在不同系统中,具体行为可能受 systemd 或发行版实现影响。

2.2 poweroff

poweroff 会关闭系统并尝试关闭电源,常用于真正意义上的关机。

2.3 reboot

reboot 用于重启系统。

2.4 shutdown

shutdown 是最灵活的关机命令,可以:

  • 立即关机
  • 定时关机
  • 定时重启
  • 向当前登录用户发送提示信息
  • 取消尚未执行的关机任务

常见用法

shutdown -h now

立即关机。

shutdown -r now

立即重启。

shutdown -h +10

10 分钟后关机。

shutdown -c

取消已经设置的关机或重启任务。

常用参数

  • -h:关机
  • -r:重启
  • -c:取消

时间格式

  • now:立刻执行
  • +#:表示若干分钟后执行,例如 +10
  • hh:mm:指定绝对时间,例如 23:30

3、终端输出与显示信息

在 Shell 脚本中,echo 经常用于输出提示信息、控制换行、显示彩色文字等。

3.1 echo 基本用法

echo [-neE] [字符串]

3.2 常用参数

  • -E:默认值,不解析转义字符
  • -n:输出结束后不自动换行
  • -e:启用转义字符解析

3.3 常见转义字符

  • \a:发出提示音
  • \b:退格
  • \c:输出后不换行
  • \eEscape 字符
  • \n:换行
  • \r:回车
  • \tTab

3.4 彩色输出示例

echo -e "\033[44;31;5mMySQL Server Stop...\033[0m"

这段输出的含义:

  • \033:转义开始
  • 44:背景色为蓝色
  • 31:前景色为红色
  • 5:闪烁效果
  • \033[0m:恢复默认显示,避免影响后续输出

3.5 常见颜色代码

背景色

  • 40:黑
  • 41:红
  • 42:绿
  • 43:黄
  • 44:蓝
  • 45:紫
  • 46:青
  • 47:白

前景色

  • 30:黑
  • 31:红
  • 32:绿
  • 33:黄
  • 34:蓝
  • 35:紫
  • 36:青
  • 37:白

控制码

  • 0:关闭所有属性
  • 1:高亮
  • 4:下划线
  • 5:闪烁
  • 7:反显
  • 8:消隐

4、命令行扩展与引用

这一部分属于 Shell 的基础知识,平时写命令和脚本时会经常用到。

4.1 单引号

echo '$HOME'

单引号是强引用,里面的内容基本原样输出,不会解析变量,也不会执行命令替换。

4.2 双引号

echo "$HOME"

双引号是弱引用,会解析变量,但不会把普通文本当命令执行。

4.3 反引号

echo `date`

反引号表示命令替换,里面必须是可执行命令。不过现在更推荐使用 $(),可读性更好。

4.4 $()

echo $(date)

作用和反引号类似,表示先执行命令,再把结果嵌入当前命令。

4.5 花括号扩展

echo {1..10}

输出结果:

1 2 3 4 5 6 7 8 9 10

花括号扩展常用于批量生成字符串、文件名或序列。

5、命令补全

Bash 可以通过 Tab 键进行命令补全、路径补全、参数补全。

如果希望有更丰富的补全能力,通常需要安装:

bash-completion

安装后,很多命令可以直接通过 Tab 获得更智能的补全提示。

6、命令历史 history

Linux 会记录用户执行过的命令,方便重复执行、排查问题和审计操作。

一般流程如下:

  • 当前会话中的历史命令先保存在内存中
  • 正常退出 Shell 时,再写入历史文件
  • 登录新的 Shell 时,再从历史文件中读取回来

默认历史文件通常是:

~/.bash_history

6.1 常用参数

  • history:查看历史命令
  • history 10:查看最近 10 条历史命令
  • history -c:清空历史命令
  • history -d 100:删除第 100 条历史记录

6.2 常见环境变量

  • HISTSIZE:内存中保留的历史记录条数
  • HISTFILE:历史文件路径
  • HISTFILESIZE:历史文件中保留的历史记录条数
  • HISTTIMEFORMAT:设置历史命令显示时间格式
  • HISTCONTROL:控制哪些命令会被记录

6.3 HISTCONTROL 常见取值

  • ignoredups:忽略连续重复命令
  • ignorespace:忽略以空格开头的命令
  • ignoreboth:相当于同时启用前两者
  • erasedups:删除重复命令,只保留最新一条

6.4 时间格式示例

HISTTIMEFORMAT="%F %T "

如果你希望 history 命令显示执行时间,可以先设置这个变量。

7、小结

  • archuname -rcat /etc/os-release 常用于查看系统基本信息
  • shutdown 是最常用、最灵活的关机和重启命令
  • echo -e 可以输出带转义字符或颜色效果的文本
  • 单引号、双引号、反引号、$() 是 Shell 中非常基础的内容
  • history 可以帮助你提高操作效率,也有助于问题排查和审计

这篇内容属于 Linux 日常运维和 Shell 入门都非常常见的基础知识。