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

相关页面


系统调优

系统调优

系统调优涵盖 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-toolskernel-tools 包:

# 查看当前频率信息
cpupower frequency-info

# 设置所有 CPU 为 performance 模式
cpupower frequency-set -r -g performance

# 禁用深度睡眠状态(减少唤醒延迟)
cpupower idle-set -D 0
cpupower idle-info

关键概念:

# 直接写入 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

相关页面