找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1552

积分

0

好友

223

主题
发表于 7 天前 | 查看: 21| 回复: 0

Linux系统运维的日常工作高度依赖命令行,无论是服务器监控、文件管理、远程操作还是故障排查,熟练使用核心命令是提升效率的关键。本文将聚焦10个高频核心命令,并结合运维工作中的实战技巧,帮助您高效应对大部分工作场景。

一、目录与文件定位:ls / cd / pwd

精准定位文件和目录是运维高效工作的基础,这三个命令构成了日常导航的“三件套”。

ls:全面掌握文件信息

  • 基础用法ls -lah-l以长格式显示权限、大小、时间;-a显示隐藏文件;-h以人性化单位显示大小)。
  • 运维进阶
    • ls -lt:按修改时间排序,便于排查最近变动的文件。
    • ls -l | grep ^d:仅显示目录,方便清理冗余文件夹。
    • ls -lhS:按文件大小降序排列,快速定位占用空间的大文件。

cd:快速切换工作目录

  • 核心用法
    • cd /etc/nginx:直接跳转到Nginx配置目录。
    • cd ..:返回上一级目录。
    • cd ~cd:快速回到用户家目录。
    • cd -:切换至上一次所在的目录,在频繁跳转目录时非常实用。

pwd:确认当前绝对路径

  • 在远程操作或多层目录切换后,执行pwd可以显示完整的绝对路径,有效避免因路径错误导致的配置修改或文件误删等操作失误。
  • 避坑提示:切换系统目录时,务必使用以“/”开头的绝对路径,例如cd /var/log。若省略“/”,可能误入当前用户目录下的同名文件夹,导致后续查看或清理日志的操作无效。

二、文件管理:touch / mkdir / rm

创建配置文件、搭建目录结构、清理历史数据是运维常规操作,这三个命令是核心,需牢记安全第一。

touch:快速创建文件

  • 基础用法touch nginx.conf 创建空配置文件。
  • 批量创建touch access.log{1..7}.txt 可生成7个按日期命名的日志文件,便于规范管理。
  • 进阶用法touch -d "2025-12-01" test.txt 创建指定修改时间的文件,可用于模拟历史文件进行测试。

mkdir:创建目录结构

  • 单目录创建mkdir /data/backup 创建规范的备份目录。
  • 多级目录创建mkdir -p /data/{logs,conf,backup} 一次性创建日志、配置、备份三个子目录,实现服务部署的目录标准化。
  • 设置权限mkdir -m 755 docs 创建目录时直接设置权限,避免后续再次调整。

rm:谨慎执行删除操作(高危命令!)

  • 删除文件rm -f old.log-f强制删除,不确认)。
  • 删除目录rm -rf redundant_dir-r递归删除,-f强制)。
  • 运维安全技巧
    1. 执行删除前,务必先使用 ls [目标路径] 确认内容。
    2. 删除重要文件前,先进行备份:cp important.conf important.conf.bak
    3. 严禁在根目录(/)下执行 rm -rf *rm -rf /。可以通过配置alias禁用根目录的rm命令,或使用rmtrash等工具将文件移至“回收站”。

三、系统监控:free / df / top

当服务器出现卡顿、告警时,这三个命令是故障排查的第一站。

free:实时掌握内存状态

  • 基础用法free -h 人性化显示内存总量、已用、空闲、缓存等信息。
  • 进阶用法free -s 5 每隔5秒刷新一次,用于持续监控内存波动情况。
  • 运维解读:重点观察 “available” 列(可用内存)。若可用内存占比持续低于20%,则需要结合top命令排查是否有进程内存泄漏

df:磁盘空间预警

  • 基础用法df -h 查看所有磁盘分区的使用情况,直观显示使用率。
  • 进阶用法
    • df -i:查看inode使用情况,inode耗尽会导致无法创建新文件,是一个易被忽略的隐患。
    • df -h /data:仅查看特定业务数据分区的使用情况。
  • 排查技巧:若发现磁盘占满,可结合du -sh /var/log/*命令快速定位占用空间最大的日志文件(通常由日志未切割引起)。

top:全方位进程监控

  • 基础操作:输入top进入动态监控界面。默认按CPU占用率排序。
    • M 键:按内存占用率排序。
    • P 键:切回CPU排序。
    • k 键:输入PID以终止异常进程(如CPU占用100%的进程)。
    • q 键:退出。
  • 运维进阶
    • top -p 1234:仅监控PID为1234的特定服务进程。
    • top -n 1 -b:非交互式单次输出,便于集成到Shell脚本中实现自动化监控告警。

四、远程运维:SSH

远程连接是运维工作的基石,SSH命令的安全与高效使用至关重要。

密码登录(临时应急)

  • ssh root@192.168.1.100:使用用户名和密码登录。
  • ssh admin@10.0.0.5 -p 2222:当服务器SSH服务端口非默认22时,使用-p指定端口。

密钥登录(日常首选,更安全)

  1. 本地生成密钥对:执行 ssh-keygen -t rsa -b 4096 -C "ops@company.com"-b指定密钥长度,-C添加备注)。这是保障网络安全连接的基础。
  2. 上传公钥到服务器ssh-copy-id -i ~/.ssh/id_rsa.pub -p 2222 admin@10.0.0.5
  3. 配置快捷登录:编辑本地 ~/.ssh/config 文件,添加以下配置:
    Host web-server-01
        HostName 10.0.0.5
        User admin
        Port 2222
        IdentityFile ~/.ssh/id_rsa

    配置后,只需输入 ssh web-server-01 即可登录,无需记忆IP和端口。

    • 运维进阶技巧SSH代理转发。先通过ssh -A jump-server登录跳板机,再从跳板机连接内网业务服务器时,可免去再次输入密钥的步骤,极大提升管理多台服务器的效率。
    • 避坑提醒:密钥登录失败常见原因为权限问题。务必确保本地私钥(~/.ssh/id_rsa)权限为600 (chmod 600 ~/.ssh/id_rsa),服务器上~/.ssh目录权限为700,~/.ssh/authorized_keys文件权限为600。

五、运维效率实战技巧

高效命令行操作

  • Ctrl+U:清空当前行。
  • Ctrl+K:删除光标后至行尾的内容。
  • Ctrl+W:删除光标前的一个单词。

历史命令复用

  • history:查看命令历史记录。
  • !100:执行历史记录中第100条命令。
  • !ls:执行上一次以ls开头的命令。
  • Ctrl+R:反向搜索历史命令(如输入ssh快速查找登录命令)。

命令帮助查询

  • command --help:查看命令的简要参数说明。
  • man ls:查看命令的完整手册页。
  • info top:查看更详细的命令文档。

复杂命令脚本化
将常用的复杂操作保存为脚本。例如,创建一个清理日志的脚本 clean_log.sh

#!/bin/bash
# 删除/var/log目录下7天前的.log文件
find /var/log -name "*.log" -mtime +7 -delete

赋予执行权限 chmod +x clean_log.sh,之后直接运行脚本即可。

后台持久运行任务
远程执行耗时任务时,使用 nohup command &(如 nohup ./backup.sh &),可以避免因SSH连接断开而导致任务中断,任务输出默认保存在 nohup.out 文件中。

掌握这10个核心命令并熟练运用相关技巧,能够覆盖从服务部署、日常监控到紧急故障排查的绝大部分Linux运维场景。关键在于多实践、多总结,将简单的命令组合成应对复杂情况的有效工作流,从而稳步提升运维效率与可靠性。




上一篇:C#面向对象设计:实现可复用的有限状态机(FSM)框架与游戏开发实战
下一篇:Spring扩展点机制详解:从原理到Mybatis整合实践
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 19:14 , Processed in 0.221330 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表