Linux 运维命令详解:从入门到生产实战的完整指南

发布时间:2026/9/30 6:56:28
Linux 运维命令详解:从入门到生产实战的完整指南 本文系统整理了 Linux 运维中最常用的核心命令涵盖软件包管理、系统监控、文件与文本处理、管道与重定向、用户权限、存储管理、防火墙配置、远程管理等运维必备技能每个命令都配有语法说明、常用参数、实战示例和踩坑提示。全文耗时阅读约 30 分钟建议收藏备查。目录前言一、软件包管理rpm / yum / dnf1.1 rpm —— 底层包管理器1.2 yum / dnf —— 自动解决依赖的仓库式管理1.3 systemctl —— 服务管理1.4 查看系统版本二、系统工作与状态检测命令2.1 系统信息类2.2 进程管理类2.3 网络诊断类2.4 其他实用命令三、查找与定位文件3.1 目录导航3.2 ls —— 文件列表3.3 find —— 强大的条件查找3.4 快速定位四兄弟四、文本文件查看与处理4.1 查看类4.2 统计与提取类4.3 转换与排序类五、文件目录管理5.1 增删改查基础操作5.2 dd —— 按块复制利器5.3 file 与 ln5.4 tar —— 打包压缩六、管道符、重定向与环境变量6.1 重定向6.2 管道符6.3 通配符与转义6.4 环境变量七、用户身份与文件权限7.1 用户与组管理7.2 文件权限体系7.3 su 与 sudo八、存储结构与磁盘管理8.1 挂载与查看8.2 分区与格式化8.3 交换分区8.4 RAID 与 LVM九、防火墙配置9.1 iptables9.2 firewalldRHEL 8 推荐9.3 TCP Wrapper十、远程管理与 SSH 服务10.1 网络配置10.2 SSH 远程与免密登录10.3 Tmux —— 终端复用器10.4 journalctl —— 日志检索十一、服务部署常用命令速查十二、应急技能重置 root 密码写在最后前言无论是刚入行的运维新人还是需要频繁和服务器打交道的后端开发Linux 命令行都是绕不开的基本功。网上零散的命令教程很多但往往缺少体系化的梳理和真实场景下的注意事项。本文按照运维工作的实际脉络组织内容装软件 → 看状态 → 找文件 → 处理文本 → 管权限 → 理存储 → 配防火墙 → 远程管理最后附上常见服务部署的命令速查。每个命令遵循「作用 → 语法 → 常用参数 → 示例 → 注意事项」的结构方便快速查阅。一、软件包管理rpm / yum / dnf1.1 rpm —— 底层包管理器作用安装、升级、卸载、查询 RPM 软件包。常用参数参数含义参数含义-i安装-e卸载-U升级-v显示过程-h显示进度-q查询-p查询未安装的包-l列出包内文件-f查询文件属于哪个包常用示例rpm -ivh httpd.rpm # 安装并显示进度 rpm -Uvh httpd.rpm # 升级软件包 rpm -e httpd # 卸载 rpm -qpi httpd.rpm # 查看未安装包的详细信息 rpm -qpl httpd.rpm # 查看未安装包会安装哪些文件 rpm -qf /etc/httpd/conf/httpd.conf # 查询某个文件属于哪个包⚠️注意rpm能检测依赖关系但不会自动解决依赖。遇到依赖问题时请使用yum/dnf。1.2 yum / dnf —— 自动解决依赖的仓库式管理作用从软件仓库自动下载安装软件包自动解决依赖关系。RHEL 8 推荐使用dnfyum仍兼容二者用法基本一致。常用命令dnf repolist all # 列出所有仓库 dnf list all # 列出所有软件包 dnf info httpd # 查看软件包信息 dnf install httpd -y # 安装-y 自动确认 dnf reinstall httpd # 重新安装 dnf update httpd # 升级 dnf remove httpd # 移除 dnf clean all # 清除缓存 dnf check-update # 检查可用更新 dnf grouplist # 查看包组 dnf groupinstall Development Tools # 安装包组运维建议生产环境建议先dnf check-update评估影响再升级避免盲目全量更新引入兼容性问题。1.3 systemctl —— 服务管理systemctl start httpd # 启动服务 systemctl restart httpd # 重启服务 systemctl stop httpd # 停止服务 systemctl reload httpd # 重载配置不中断服务 systemctl status httpd # 查看服务状态 systemctl enable httpd # 设置开机自启 systemctl disable httpd # 取消开机自启 systemctl is-enabled httpd # 查看是否开机自启 systemctl list-unit-files --typeservice # 查看所有服务启动状态⚠️注意修改服务配置文件后必须执行restart或reload才能生效。1.4 查看系统版本cat /etc/redhat-release # RHEL/CentOS 专用 lsb_release -a # 通用Debian/Ubuntu uname -a # 查看内核版本与架构二、系统工作与状态检测命令2.1 系统信息类uname —— 内核与架构uname -a # Linux rhel 4.18.0-80.el8.x86_64 #1 SMP ... x86_64 x86_64 x86_64 GNU/Linuxuptime —— 负载概览uptime # 17:36:52 up 5 days, 2:13, 2 users, load average: 0.08, 0.04, 0.05负载经验值load average三个数值分别对应 1/5/15 分钟的平均负载。经验上保持 1 左右比较健康生产环境建议不超过 5持续偏高就要排查 CPU 或 IO 瓶颈。free —— 内存使用free -h # -h 以人类易读的单位显示who / last —— 登录信息who # 当前登录用户的终端信息 last # 主机被访问的历史记录排查异常登录必备ifconfig —— 网卡信息ifconfig # 或 ifconfig ens160 查看指定网卡重点关注网卡名称、IP 地址、MAC 地址、RX/TX 收发流量。2.2 进程管理类ps —— 查看进程快照ps aux ps aux | grep bash # 配合 grep 过滤目标进程常见进程状态码R运行、S中断休眠、D不可中断、Z僵死、T停止。top —— 动态监视top # 按 q 退出前 5 行依次是系统时间/运行时长/登录终端数/负载 → 进程统计 → CPU 占用 → 物理内存 → 虚拟内存。pstree —— 树状查看进程派生关系pstreenice —— 调整进程优先级nice -n -20 bash # 范围 -2019数字越小优先级越高进程终止三件套pidof sshd # 查询服务进程的 PID kill 2156 # 终止指定 PID默认发送 SIGTERM kill -9 2156 # 强制终止SIGKILL进程无法捕获 killall httpd # 按服务名终止其全部进程⚠️注意kill -9是最后手段进程没有机会做清理工作可能产生残留文件或僵尸子进程。2.3 网络诊断类ping —— 连通性测试ping -c 4 192.168.10.10 # 发送 4 个包后停止⚠️注意Linux 下ping默认不会自动停止需要CtrlC手动中断务必加-c指定次数。tracepath —— 追踪路由路径tracepath www.linuxprobe.comnetstat —— 连接与端口状态参数含义参数含义-a显示所有连接-p显示 Socket 对应进程-t仅 TCP-u仅 UDP-n直接显示 IP-l仅显示监听状态-i网卡列表-r路由表netstat -a # 查看所有连接 netstat -tulnp # 排查端口占用最常用的组合2.4 其他实用命令echo Hello # 输出字符串 echo $SHELL # 输出变量值 date %Y-%m-%d %H:%M:%S # 自定义格式显示时间 timedatectl set-timezone Asia/Shanghai # 设置时区 wget -c https://example.com/file.iso # 断点续传下载 history # 历史命令!3 重新执行第 3 条history -c 清空 sosreport # 收集系统诊断信息排查故障时给技术支持三、查找与定位文件3.1 目录导航pwd # 显示当前目录 cd /etc # 切换目录 cd - # 返回上一次所在目录 cd .. # 返回上级目录 cd ~ # 回到家目录 cd ~user # 切换到指定用户的家目录3.2 ls —— 文件列表常用参数参数含义参数含义-a显示全部含隐藏-l长格式详情-d只看目录本身-h易读单位-R递归列出-i显示 inode-t按时间排序-S按大小排序-Z显示 SELinux 上下文ls -al # 查看全部文件详情运维最常用 ls -ld /etc # 只看目录本身属性 ls -Z /var/www/html # 查看 SELinux 标签⚠️注意-a与-A不同——-A不显示.和..两个条目。3.3 find —— 强大的条件查找语法find [查找范围] [查找条件] [处理动作]常用条件参数含义参数含义-name按名称-perm按权限-user按属主-group按属组-mtime按修改时间-type按类型f/d/b/c-size按大小-exec对结果执行命令实战示例find /etc -name host* # 在 /etc 下找 host 开头的文件 find / -perm -4000 -print # 找出所有含 SUID 特殊权限的文件安全审计 find / -user linuxprobe -exec cp -a {} /root/findresults/ \; # 找出某用户文件并复制备份⚠️注意-exec的结尾必须是\;这是新手最容易报错的地方。3.4 快速定位四兄弟updatedb # 更新索引数据库locate 前必须执行 locate whereis # 按名称秒级搜文件 whereis ls # 找二进制、源码、帮助文件位置 which locate # 只找命令的可执行文件路径 tree /etc # 树状图显示目录结构区别find是实时全盘搜索、慢但准确locate查数据库、快但依赖索引新鲜度。⚠️注意使用locate命令前需要先执行updatedb来更新数据库。四、文本文件查看与处理4.1 查看类cat anaconda-ks.cfg # 适合查看小文件 more initial-setup-ks.cfg # 分页查看大文件空格翻页q 退出 head -n 10 /etc/passwd # 查看前 10 行 tail -n 10 /var/log/messages # 查看后 10 行 tail -f /var/log/messages # 持续刷新查看日志排障利器stat —— 文件的三种时间stat anaconda-ks.cfgAtime最后一次访问时间Mtime最后一次修改内容时间Ctime最后一次修改属性权限/属主时间4.2 统计与提取类wc —— 统计wc -l /etc/passwd # 统计行数-w 词数、-c 字节数grep —— 按行提取参数含义-n显示行号-i忽略大小写-v反向选择排除-c只统计匹配行数grep -n root /etc/passwd grep /sbin/nologin /etc/passwd | wc -l # 统计不允许登录的系统用户数量cut —— 按列提取cut -d : -f 1 /etc/passwd # 以冒号分隔取第 1 列所有用户名diff —— 文件比对diff --brief A.txt B.txt # 只报告是否不同 diff -c A.txt B.txt # 显示详细差异上下文4.3 转换与排序类tr —— 字符替换cat file | tr [a-z] [A-Z] # 全文转大写sort —— 排序参数含义参数含义-n按数值排序-r逆序-u去重-t指定分隔符-k指定列-f忽略大小写sort -n number.txt # 数值排序 sort -t : -k 3 -n /etc/passwd # 按第 3 列UID数值排序uniq —— 去除连续重复行sort file | uniq # 先排序再去重才是正确姿势五、文件目录管理5.1 增删改查基础操作touch —— 创建文件 / 修改时间touch linuxprobe # 创建空文件 touch -d 2020-05-04 15:44 file # 修改文件时间mkdir —— 创建目录mkdir -p a/b/c/d/e # -p 递归创建多级目录cp —— 复制参数含义-p保留原始属性-d保留链接文件属性-r递归复制目录-i覆盖前询问-a相当于 -pdr完整归档复制cp install.log x.log # 复制文件 cp -r dir1 dir2 # 复制目录 cp -a src dst # 完整保留属性复制备份常用mv —— 剪切 / 重命名mv x.log linux.logrm —— 删除rm install.log # 删除前询问 rm -f linux.log # 强制删除不询问 rm -r dir # 递归删除目录⚠️高危警告rm -rf /会毁灭整个系统删除操作前务必pwd确认路径重要环境建议使用alias rmrm -i加一道保险。5.2 dd —— 按块复制利器语法dd if输入 of输出 bs块大小 count个数dd if/dev/zero of560_file count1 bs560M # 生成 560MB 测试文件 dd if/dev/cdrom ofRHEL.iso # 直接制作光盘镜像5.3 file 与 lnfile anaconda-ks.cfg # 查看文件真实类型 file /dev/sda # 查看设备类型 ln -s old.txt new.txt # 创建软链接类似 Windows 快捷方式 ln old.txt new.txt # 创建硬链接指向同一 inode软硬链接区别软链接可跨分区、可指向目录源文件删除后失效硬链接不可跨分区源文件删除后仍可访问数据。5.4 tar —— 打包压缩参数含义参数含义-c创建压缩包-x解开压缩包-t查看包内容-zgzip 格式.tar.gz-jbzip2 格式-v显示过程-f指定包名-C指定解压目录-p保留权限-P保留绝对路径tar czvf etc.tar.gz /etc # 打包压缩 /etc tar xzvf etc.tar.gz -C /root/etc # 解压到指定目录 tar tzvf etc.tar.gz # 不解压先看内容⚠️注意-f参数后面必须紧跟包名所以-f必须放在参数组合的最后。六、管道符、重定向与环境变量6.1 重定向符号含义符号含义标准输出覆盖写入标准输出追加写入2错误输出覆盖写入2错误输出追加写入全部输出覆盖写入全部输出追加写入从文件读入标准输入连续输入直到分界符man bash readme.txt # 把命令输出保存到文件 echo Hello readme.txt # 追加一行 ls -l xxxxxx 2 stderr.txt # 只收集报错信息 ls -l linuxprobe readme.txt # 正确错误输出全部收集 wc -l readme.txt # 统计文件行数6.2 管道符作用把前一个命令的输出作为后一个命令的输入。grep /sbin/nologin /etc/passwd | wc -l # 统计不可登录用户数 ps aux | grep bash # 查找 bash 进程 ps aux | grep bash | tee result.txt # 边看边存tee 双向管道6.3 通配符与转义通配符用于匹配文件名ls -l /dev/sda* # * 匹配任意多个字符 ls -l /dev/sda? # ? 匹配单个字符 ls -l /dev/sda[0-9] # [] 匹配括号内范围的一个字符 touch {AA,BB,CC}.conf # 花括号批量生成AA.conf BB.conf CC.conf转义字符PRICE5 echo Price is $PRICE # 双引号保留变量解析 → Price is 5 echo Price is $PRICE # 单引号全部转义 → Price is $PRICE echo Price is \$$PRICE # \$ 转义美元符号 → Price is $5 echo uname -a # 反引号先执行命令再返回结果6.4 环境变量echo $HOME # 查看变量值 env # 查看所有环境变量 export WORKDIR # 把局部变量提升为全局变量 unset WORKDIR # 取消变量 alias llls -al # 设置命令别名 unalias ll # 取消别名 type cd # 判断命令是内部命令还是外部命令常用重要变量HOME家目录、SHELL解释器、PATH命令搜索路径、HISTSIZE历史条数、LANG语言、PS1提示符样式、RANDOM随机数。运维场景安装源码软件后把可执行文件路径追加到PATH就能直接敲命令而不用写全路径。七、用户身份与文件权限7.1 用户与组管理id linuxprobe # 查看用户的 UID、GID 及所属组 useradd linuxcool # 创建用户 useradd -d /home/linux -u 8888 -s /sbin/nologin linuxdown # -d 指定家目录 -u 指定 UID -s 指定登录 Shellnologin 禁止登录 # -g 基本组 -G 扩展组 -e 到期时间 -N 不创建同名组 groupadd ronny # 创建用户组 usermod -G root linuxprobe # 把用户加入 root 扩展组 usermod -u 8888 linuxprobe # 修改 UID # -L 锁定 -U 解锁 -c 备注 -d -m 修改家目录并迁移 passwd linuxprobe # 设置密码 echo NewPassWord | passwd --stdin linuxprobe # 脚本中免交互设置密码 passwd -l linuxprobe # 锁定用户 passwd -u linuxprobe # 解锁用户 passwd -S linuxprobe # 查看密码状态 userdel -r linuxprobe # 删除用户并删除其家目录7.2 文件权限体系chmod —— 修改权限chmod 760 file # 数字法r4 w2 x1760 rwxrw---- chmod us /bin/passwd # 字符法设置 SUID执行时获得属主身份 chmod gs directory # SGID目录内新文件继承属组 chmod -R ot linux/ # SBIT仅限属主删除文件如 /tmpchown —— 修改属主属组chown linuxprobe:linuxprobe file chown -R linuxprobe:linuxprobe /home/databasechattr / lsattr —— 隐藏权限chattr i file # i锁定无法修改/删除即使 root chattr a file # a仅允许追加内容日志文件保护常用 lsattr file # 查看隐藏权限 chattr -a file # 移除隐藏权限setfacl / getfacl —— ACL 访问控制列表setfacl -Rm u:linuxprobe:rwx /root # 给指定用户单独授权突破三位权限的限制 setfacl -m g:linuxprobe:rw /etc/fstab setfacl -x g:linuxprobe /etc/fstab # 删除某条 ACL 规则 getfacl /root # 查看 ACL # ACL 备份与恢复 getfacl -R /home backup.acl setfacl --restore backup.acl7.3 su 与 sudosu - linuxprobe # 切换用户务必加 - 完整加载环境变量 su - root sudo -l # 查看当前用户可提权执行的命令 sudo ls /root # 以 root 身份执行命令visudo —— 配置 sudo 授权格式谁 允许使用的主机(以谁的身份) 命令列表# /etc/sudoers 中添加 linuxprobe ALL(ALL) /usr/bin/cat,/usr/sbin/reboot # NOPASSWD 免密码 linuxprobe ALL(ALL) NOPASSWD:/usr/bin/cat,/usr/sbin/reboot运维原则生产环境禁用 root 直接 SSH 登录通过 sudo 按最小权限原则授权配合日志审计。八、存储结构与磁盘管理8.1 挂载与查看mount /dev/sdb2 /backup # 挂载设备到目录 mount UUIDxxx-xxx /backup # 推荐 UUID 挂载设备名可能变化 mount -a # 挂载 /etc/fstab 中所有未挂载项 umount /dev/sdb2 # 卸载 df -h # 查看已挂载磁盘使用情况 du -sh /* # 查看目录实际占用磁盘容量 lsblk # 树状查看块设备 blkid /dev/sdb1 # 查看设备 UUID 与文件系统类型/etc/fstab 格式开机自动挂载设备UUID 挂载目录 格式类型 权限选项 是否备份 是否自检8.2 分区与格式化fdisk /dev/sdb # 交互式分区n(新建) → p(主分区) → 1 → 回车 → 2G → w(保存) partprobe # 分区后同步信息到内核必须执行 mkfs.xfs /dev/sdb1 # 格式化为 xfsRHEL 8 默认 mkfs.ext4 /dev/sdb1 # 或 ext48.3 交换分区mkswap /dev/sdb2 # 格式化为 swap swapon /dev/sdb2 # 启用交换分区8.4 RAID 与 LVMmdadm 创建 RAID 10mdadm -Cv /dev/md0 -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde # -C 创建 -v 显示过程 -n 设备数 -l 级别 mdadm -D /dev/md0 # 查看阵列详情 mdadm /dev/md0 -f /dev/sdb # 标记故障盘模拟损坏 mdadm /dev/md0 -r /dev/sdb # 移除故障盘 mdadm /dev/md0 -a /dev/sdb # 添加热备盘 mdadm --stop /dev/md0 # 停用阵列LVM 三层结构物理卷 PV → 卷组 VG → 逻辑卷 LV# 创建 pvcreate /dev/sdb /dev/sdc # 创建物理卷 vgcreate storage /dev/sdb /dev/sdc # 创建卷组 lvcreate -n vo -L 150M storage # 创建 150M 逻辑卷 # 扩容关键四步 umount /linuxprobe lvextend -L 290M /dev/storage/vo # 扩到 290M e2fsck -f /dev/storage/vo # 检查文件系统 resize2fs /dev/storage/vo # 同步文件系统大小 mount -a # 缩容顺序与扩容相反 umount /linuxprobe e2fsck -f /dev/storage/vo resize2fs /dev/storage/vo 120M # 先缩文件系统 lvreduce -L 120M /dev/storage/vo # 再缩逻辑卷 mount -a # 快照与回滚 lvcreate -L 120M -s -n SNAP /dev/storage/vo lvconvert --merge /dev/storage/SNAP⚠️注意缩容必须「先缩文件系统、再缩逻辑卷」顺序搞反会导致数据损坏。扩容 xfs 用xfs_growfs而不是resize2fs。九、防火墙配置9.1 iptables常用参数-P默认策略、-F清空规则、-L查看、-A追加、-I插入、-D删除、-s源地址、-p协议、--dport目标端口、-j动作。iptables -L # 查看规则链 iptables -F # 清空规则 iptables -P INPUT DROP # 设置默认丢弃 iptables -I INPUT -p icmp -j ACCEPT # 允许 ping iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j REJECT # 拒绝 22 端口 iptables -D INPUT 1 # 删除第 1 条规则 iptables-save # 保存规则REJECT vs DROPREJECT 会回送拒绝消息对方知道被拒DROP 直接丢弃对方只能等待超时防扫描场景 DROP 更安全。9.2 firewalldRHEL 8 推荐firewall-cmd --get-default-zone # 查看默认区域 firewall-cmd --set-default-zonepublic # 设置默认区域 firewall-cmd --get-zones # 列出所有区域 firewall-cmd --get-active-zones # 查看激活区域 firewall-cmd --permanent --zonepublic --add-servicehttps # 永久放行服务 firewall-cmd --zonepublic --add-port8080-8081/tcp # 放行端口范围 firewall-cmd --reload # 重新加载permanent 生效必须执行 # 端口转发 firewall-cmd --permanent --zonepublic \ --add-forward-portport888:prototcp:toport22:toaddr192.168.10.10 # 富规则对指定网段拒绝 SSH firewall-cmd --permanent --zonepublic \ --add-rich-rulerule familyipv4 source address192.168.10.0/24 service namessh reject⚠️重要概念firewalld 有 Runtime立即生效、重启失效和 Permanent重启后生效两种模式。改完 permanent 规则必须--reload否则不生效。9.3 TCP Wrapper# /etc/hosts.allow sshd:192.168.10. # /etc/hosts.deny sshd:*匹配顺序先查 allow 再查 deny都没匹配到则放行。十、远程管理与 SSH 服务10.1 网络配置nmtui # 图形化网卡配置工具新手友好 nmcli connection show nmcli connection add con-name company ifname ens160 autoconnect no \ type ethernet ip4 192.168.10.10/24 gw4 192.168.10.1 nmcli connection up company nmcli connection delete company双网卡绑定 bond生产高可用必备nmcli connection add type bond con-name bond0 ifname bond0 bond.options modebalance-rr nmcli connection add type ethernet slave-type bond con-name bond0-port1 ifname ens160 master bond0 nmcli connection add type ethernet slave-type bond con-name bond0-port2 ifname ens192 master bond0 nmcli connection modify bond0 ipv4.addresses 192.168.10.10/24 nmcli connection modify bond0 ipv4.gateway 192.168.10.1 nmcli connection modify bond0 ipv4.method manual nmcli connection up bond010.2 SSH 远程与免密登录ssh 192.168.10.10 # 远程登录 ssh -p 888 192.168.10.10 # 指定端口 ssh-keygen # 生成密钥对一路回车 ssh-copy-id 192.168.10.10 # 上传公钥到远端实现免密登录 scp /root/readme.txt 192.168.10.10:/home # 上传文件 scp 192.168.10.10:/etc/redhat-release /root # 下载文件 scp -r dir 192.168.10.10:/home # 递归传目录10.3 Tmux —— 终端复用器远程执行长任务如编译、备份时断网会导致任务中断Tmux 解决这个问题。tmux new -s backup # 新建名为 backup 的会话 tmux detach # 分离会话任务继续在后台跑 tmux ls # 列出所有会话 tmux attach -t backup # 重新接入会话 tmux kill-session -t backup常用快捷键先按CtrlB松手再按对应键按键功能按键功能%左右分屏上下分屏方向键切换窗格x关闭当前窗格10.4 journalctl —— 日志检索journalctl -n 5 # 最近 5 条日志 journalctl -f # 持续刷新类似 tail -f journalctl -p crit # 只看严重级别以上 journalctl --since today # 今天的日志 journalctl --since -1 hour # 最近 1 小时 journalctl --since 12:00 --until 14:00 journalctl -u sshd # 只看 sshd 服务日志日志等级由重到轻emerg → alert → crit → err → warning → notice → info → debug。十一、服务部署常用命令速查受篇幅限制以下服务只列出核心命令后续会出系列详解文章。Apachehttpddnf install httpd systemctl enable --now httpd # 主配置/etc/httpd/conf/httpd.conf 网站目录/var/www/html # 访问日志/var/log/httpd/access_log 错误日志/var/log/httpd/error_log htpasswd -c /etc/httpd/passwd linuxprobe # 生成网页密码文件SELinux部署网站绕不开getenforce # 查看模式 setenforce 0|1 # 临时切换宽容/强制 semanage fcontext -a -t httpd_sys_content_t /home/wwwroot restorecon -Rv /home/wwwroot # 恢复安全上下文 getsebool -a | grep http # 查看布尔值 setsebool -P httpd_enable_homedirson # 永久开启布尔值 semanage port -a -t http_port_t -p tcp 6111 # 放行非标准端口Samba / NFS 文件共享# Samba pdbedit -a -u linuxprobe # 添加 Samba 用户 mount -t cifs -o usernamelinuxprobe,passwordxxx //IP/database /database # NFS showmount -e 192.168.10.10 # 查看远端共享 mount -t nfs 192.168.10.10:/nfsfile /nfsfile # /etc/exports 格式/nfsfile 192.168.10.*(rw,sync,root_squash)Ansible 自动化运维ansible all -m ping # 测试清单内主机连通性 ansible all -m yum -a namehttpd statelatest ansible-doc yum # 查看模块帮助 ansible-playbook packages.yml # 执行剧本 ansible-galaxy init apache # 初始化角色 ansible-vault encrypt locker.yml # 加密敏感变量文件MariaDB 数据库mysql_secure_installation -- 初始化安全配置 CREATE USER lukelocalhost IDENTIFIED BY linuxprobe; GRANT SELECT,UPDATE,DELETE,INSERT ON mysql.user TO lukelocalhost; SHOW GRANTS FOR lukelocalhost; mysqldump -u root -p linuxprobe backup.sql -- 备份 mysql -u root -p linuxprobe backup.sql -- 恢复源码编译安装标准四步LNMP 场景tar xzvf nginx-1.16.0.tar.gz cd nginx-1.16.0 ./configure --prefix/usr/local/nginx --with-http_ssl_module make make install十二、应急技能重置 root 密码忘记 root 密码不用重装系统步骤如下重启系统在GRUB 引导界面按e进入编辑在linux参数行末尾追加rd.break按CtrlX启动依次执行mount -o remount,rw /sysroot chroot /sysroot passwd # 输入两次新密码 touch /.autorelabel # 必须让 SELinux 重新标记 exit exit⚠️注意touch /.autorelabel这一步绝对不能省否则重启后 SELinux 标签异常系统可能无法正常登录。写在最后Linux 运维命令的掌握没有捷径核心就是在真实场景中反复使用。给大家三点建议先建立框架再记细节按「软件 → 监控 → 文件 → 权限 → 存储 → 网络 → 远程」的脉络组织知识遇到新命令就知道往哪里归档危险的命令保持敬畏rm -rf、lvreduce、iptables -P INPUT DROP这类操作执行前先停三秒确认环境和路径多动手搭环境RAID、LVM、Ansible 这些内容看十遍不如自己用虚拟机配一遍。如果这篇文章对你有帮助欢迎点赞、收藏、关注三连。评论区欢迎交流你踩过的 Linux 命令坑后续会继续更新各服务的深度部署实战系列。环境说明文中示例基于 RHEL 8 / CentOS 8 体系验证参考《Linux就该这么学》第2版学习笔记整理。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询