title: Linux 常用操作命令
created: 2026-08-14
updated: 2026-08-14
type: entity
tags:
- linux
- command
- ops
- entity
sources:
- raw/scripts/linux.sh
- raw/scripts/for.sh
- raw/scripts/自启.sh
- raw/scripts/apt.update.sh
- raw/scripts/yum源替换.sh
- raw/scripts/mysql.sh
- raw/scripts/miniconda.sh
- raw/scripts/安装rabbitmq3.7.9.sh - raw/scripts/调优.sh
- raw/scripts/cleancache.sh
- raw/scripts/更新内核,修改启动项.md
- raw/scripts/离线安装.sh
- raw/scripts/docker.sh
Linux 常用操作命令
日常运维高频命令速查,涵盖软件安装、系统信息、网络、后台任务、循环遍历、自启动、数据库与常用工具。
软件安装
# RPM / DEB 包
rpm -ivh name.rpm
sudo dpkg -i name.deb
# 包管理器
yum install -y wget # RHEL/CentOS
apt-get install -y wget # Debian/Ubuntu
# EPEL 仓库
yum install epel-release -y
apt 官方源(Debian 11 bullseye / 12 bookworm)
cat > /etc/apt/sources.list << EOF
deb https://deb.debian.org/debian/ bullseye main contrib non-free
deb-src https://deb.debian.org/debian/ bullseye main contrib non-free
deb https://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb https://deb.debian.org/debian/ bullseye-backports main contrib non-free
deb https://deb.debian.org/debian-security/ bullseye-security main contrib non-free
EOF
yum 源替换(阿里云)
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-9.repo
yum clean all && yum makecache
# 本地源(离线环境)
cat > /etc/yum.repos.d/local.repo << 'EOF'
[local]
name=CentOS-7 Local Source
baseurl=file:///mnt/
enabled=1
gpgcheck=0
EOF
系统信息
cat /proc/version # 内核版本
cat /etc/os-release # 发行版信息
cat /etc/redhat-release # RHEL 版本
sudo lsb_release -d # Ubuntu 版本
# 命令执行耗时
time command
网络操作
ip address # 查看 IP
# 重启网络服务(按发行版选择)
/etc/init.d/network restart
service network restart
systemctl restart network.service
# DHCP 手动获取/释放 IP
dhclient eth0
dhclient -r eth0
# 查看端口占用
sudo ss -tulpn | grep portNumber
后台运行
# nohup 后台运行,不挂起(2>&1 将标准错误定向到标准输出)
nohup command > myout.file 2>&1 &
# screen 会话(远程任务保持)
yum install -y screen
screen -xRR
# Ctrl-A, d 脱离会话
Shell 循环(for)
# 遍历目录下脚本并执行
for i in `ls *.sh $1`; do echo $i; sleep 2; done
# 遍历硬盘(排除系统盘,不考虑 NVMe)
for disk in /dev/sd[a-z]; do
if [ "$disk" != `df| awk '{print $1}' | grep -o "/dev/sd[a-z]"| sed -n '1p'` ]; then
echo ${disk##/*/}
fi
done
# 嵌套循环(如 IB 网卡两两组合)
for i in {0..3}; do
for j in {0..3}; do
if [ $i != $j ]; then
echo mlx5_$i mlx5_$j
fi
done
done
开机自启
用户登录后执行(环境变量)
按顺序加载:/etc/profile.d/file → /etc/profile → /etc/bashrc → /root/.bashrc → /root/.bash_profile
开机自启动(与登录无关)
chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
/usr/bin/sh /opt/reboot.sh
/usr/bin/curl http://192.168.1.34/test/reboot.sh | /usr/bin/sh
MySQL 备份与导入
# 本地连接
mysql -uuser -ppass
# 备份(-P 大写为端口)
mysqldump -h192.168.1.1 -P3306 -uuser -ppass exampledb > exampledb.sql
# 导入
mysql -uuser -ppass exampledb < exampledb.sql
mysql> source exampledb.sql # 或 SQL 内 source
Miniconda 环境管理
# 安装
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
~/miniconda3/bin/conda init bash
# 环境操作
source ~/miniconda3/bin/activate
conda env list
conda deactivate
conda config --set auto_activate_base false # 禁用自动激活 base
conda remove --name env_name --all
# 软件包
conda install -y package_name
RabbitMQ 3.7.9 安装(CentOS 7)
yum install -y erlang socat
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.9/rabbitmq-server-3.7.9-1.el7.noarch.rpm
rpm -ivh rabbitmq-server-3.7.9-1.el7.noarch.rpm
硬件规格汇总规范
硬件描述统一格式(用于采购/资产记录):
| 类别 | 格式 | 实例 |
|---|---|---|
| 主板 | 大小-类型-单/双路-CPU支持-板载网卡 | ATX-服务器主板-双路至强E5-2600v4/v3-双千兆 |
| CPU | 型号-核心数-基频-L3-功率 | Intel-Xeon-Silver-4210R-10C-2.40GHz-13.75MB-100W |
| 内存 | 容量-DDR-ECC/RECC-频率-颗粒 | 64GB-DDR4-ECC-LRDIMM-2666-4R*4 |
| 硬盘 | SSD/HDD-容量-接口-速度-规格-尺寸 | SSD-240GB-SATA-6Gb/s-3D-TLC-2.5in |
相关页面
- system-information — 系统信息采集
- network-testing — 网络配置与测试
- 系统调优(见本文档系统调优章节)
- Docker — 容器运行时
- 硬件信息采集 — IPMI/BMC 带外管理
系统调优
系统调优
系统调优涵盖 Linux 服务器在 BIOS/内核层面的基础优化配置,包括安全模块关闭、CPU 频率策略、超线程控制、IOMMU 开启、内核更新与启动项修改、内存缓存清理等。
SELinux 关闭
SELinux(Security-Enhanced Linux)是内核级安全模块,在多核 GPU 场景常因安全策略限制影响性能或导致驱动加载失败,测试环境建议关闭:
# 临时关闭(立即生效,重启恢复)
sudo setenforce 0
getenforce # 应显示 Permissive
# 永久关闭(需重启)
vi /etc/selinux/config
# 将 SELINUX=enforcing 改为 SELINUX=disabled
: wq
reboot
临时设置为 Permissive 模式仅记录违规而不阻止操作,适合排查问题。
防火墙关闭
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld # 验证状态
CPU 频率调优
cpupower 工具
cpupower 是 Linux 内核提供的 CPU 频率管理工具,属于 linux-tools 或 kernel-tools 包:
# 查看当前频率信息
cpupower frequency-info
# 设置所有 CPU 为 performance 模式
cpupower frequency-set -r -g performance
# 禁用深度睡眠状态(减少唤醒延迟)
cpupower idle-set -D 0
cpupower idle-info
关键概念:
- scaling_governor — CPU 频率调节策略,通过
/sys/devices/system/cpu/cpu*/cpufreq/scaling_governor控制 performance— 强制最高频率,性能最佳,功耗最大powersave— 强制最低频率,省电模式ondemand— 根据负载动态调节(旧版默认)conservative— 温和版 ondemand,频率升降更平缓schedutil— 基于调度器 util 信号的调频策略(新版内核默认)
# 直接写入 sysfs 方式(另一种设置方法)
for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do
[ -f $CPUFREQ ] || continue
echo -n performance > $CPUFREQ
done
# 确认设置
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
超线程开关(SMT)
SMT(Simultaneous Multithreading),Intel 称为超线程(Hyper-Threading)。在某些场景(如 HPC 密集计算)关闭 SMT 可减少资源争抢:
# 开启 SMT
sudo bash -c "echo on > /sys/devices/system/cpu/smt/control"
# 关闭 SMT
sudo bash -c "echo off > /sys/devices/system/cpu/smt/control"
# 查看当前 SMT 状态
cat /sys/devices/system/cpu/smt/active # 1=开启, 0=关闭
cat /sys/devices/system/cpu/smt/control # on/off/notsupported
IOMMU 开启
IOMMU(I/O Memory Management Unit)用于设备直通(VFIO passthrough),在虚拟化和 GPU 直通场景必须开启:
# 编辑 GRUB 配置
vi /etc/default/grub
# Intel CPU 添加:
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet intel_iommu=on iommu=pt"
# AMD CPU 添加:
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet amd_iommu=on iommu=pt"
参数解释:
- intel_iommu=on / amd_iommu=on — 启用 Intel VT-d / AMD IOMMU 硬件虚拟化技术
- iommu=pt — 启用 pass-through 模式,对于不经过 IOMMU 的设备跳过地址重映射,减少性能开销
- mitigations=off — 关闭 CPU 安全漏洞缓解措施(Spectre/Meltdown等),可提升性能但降低安全性
更新 GRUB 配置
# UEFI 系统
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
# Legacy BIOS 系统(RHEL/CentOS 7+)
grub2-mkconfig -o /boot/grub2/grub.cfg
# Ubuntu(传统方式)
sudo grub-mkconfig -o /boot/grub/grub.cfg
验证 IOMMU 是否开启:
dmesg | grep -i iommu
# 期望输出:DMAR: IOMMU enabled
cat /proc/cmdline
# 查看实际启动参数是否包含 intel_iommu=on iommu=pt
内核更新
通过 ELRepo 仓库安装主线内核(Mainline):
# 启用 ELRepo
dnf -y install elrepo-release
# 或手动安装
dnf install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
# 安装主线内核
dnf --disablerepo=* --enablerepo=elrepo-kernel install -y kernel-ml.x86_64
# 安装长期支持内核
sudo dnf --enablerepo=elrepo-kernel install kernel-lt kernel-lt-devel kernel-lt-headers -y
修改默认启动项
# 查看当前默认
grub2-editenv list
# 设置默认启动项(索引从 0 开始)
grub2-set-default 0
# grubby 工具(CentOS 8+)
grubby --default-kernel # 查看默认内核
grubby --info=ALL # 查看所有内核
grubby --set-default-index=1 # 设置索引 1 为默认
grubby --remove-kernel=/boot/vmlinuz-* # 删除旧内核
内存缓存清理
Linux 利用空闲内存做文件系统缓存(Page Cache),在基准测试前清理缓存可消除缓存影响:
# 清理 pagecache、dentries 和 inodes
echo 3 > /proc/sys/vm/drop_caches
参数说明:
- echo 1 — 仅清理 Page Cache(页面缓存)
- echo 2 — 清理 dentries 和 inodes(目录项和索引节点)
- echo 3 — 清理以上全部(最彻底)
注意:
drop_caches不会导致数据丢失,因为脏页在写入磁盘前不会释放。如果需要先同步脏页:sync && echo 3 > /proc/sys/vm/drop_caches
其他内核模块
# 加载 KVM 内核模块(虚拟化)
modprobe kvm-intel
# 加载 virtio-vsock(虚拟机通信)
modprobe vhost-vsock
相关页面
- cpu-testing — CPU 基准测试(performance governor 对测试结果的影响)
- gpu-testing — GPU 测试(IOMMU 开启是 GPU 直通的前提)
- network-testing — 网络测试(防火墙关闭避免干扰 iperf 测试)
- memory-testing — 内存测试(缓存清理对内存带宽测试结果的影响)