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强制)。
- 运维安全技巧:
- 执行删除前,务必先使用
ls [目标路径] 确认内容。
- 删除重要文件前,先进行备份:
cp important.conf important.conf.bak。
- 严禁在根目录(
/)下执行 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指定端口。
密钥登录(日常首选,更安全)
- 本地生成密钥对:执行
ssh-keygen -t rsa -b 4096 -C "ops@company.com"(-b指定密钥长度,-C添加备注)。这是保障网络安全连接的基础。
- 上传公钥到服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 2222 admin@10.0.0.5。
- 配置快捷登录:编辑本地
~/.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运维场景。关键在于多实践、多总结,将简单的命令组合成应对复杂情况的有效工作流,从而稳步提升运维效率与可靠性。
|