linux运维熟记命令
linux运维熟记命令详细介绍
在 Linux 运维中,熟练掌握常用命令是高效工作的基础。以下是按功能分类整理的核心命令列表,涵盖系统监控、文件操作、网络管理、用户管理等关键领域,附带常用场景和示例,帮助快速记忆和应用:
一、系统监控与性能分析
1. 进程与资源监控
- top/htop
- 实时查看系统进程、CPU / 内存占用(
htop交互性更强,支持快捷键操作) - 常用:
top(默认)、htop -u username(指定用户进程)
- 实时查看系统进程、CPU / 内存占用(
- ps
- 静态查看进程状态,支持多种格式(BSD/Linux 风格)
- 示例:
ps aux(BSD 格式,显示所有用户进程)、ps -ef(Linux 格式,显示进程树)
- free
- 查看内存使用情况(物理内存、swap、缓冲区)
- 常用:
free -h(以人类可读格式显示)
- df
- 查看磁盘分区空间使用情况
- 示例:
df -hT(显示文件系统类型和可读大小)
- du
- 查看目录 / 文件大小(磁盘占用)
- 示例:
du -sh /path(查看目录总大小)、du -h --max-depth=1(子目录大小)
2. 系统负载与 IO
- uptime
- 查看系统运行时间、平均负载(1/5/15 分钟)
- vmstat
- 监控虚拟内存、CPU、IO 等核心指标
- 示例:
vmstat 5(每 5 秒刷新一次)
- iotop
- 实时监控进程 IO 操作(需安装,
yum/apt install iotop)
- 实时监控进程 IO 操作(需安装,
- dstat
- 多功能统计工具(CPU / 内存 / IO / 网络综合监控)
二、文件与目录操作
1. 基础操作
- ls
- 列出文件 / 目录信息
- 常用:
ls -l(详细信息)、ls -a(显示隐藏文件)、ls -h(可读大小)
- cd/mkdir/rm/cp/mv
- 切换目录、创建 / 删除 / 复制 / 移动文件
- 示例:
mkdir -p /a/b/c(递归创建目录)、rm -rf /path(强制删除目录)
- cat/tac/nano/vim
- 查看 / 编辑文件(
cat快速查看,vim高级编辑) - 示例:
cat file.txt(显示文件内容)、vim file.txt(编辑文件)
- 查看 / 编辑文件(
2. 搜索与过滤
- grep
- 文本搜索工具(支持正则表达式)
- 示例:
grep "keyword" file.txt(搜索关键词)、grep -v "keyword"(排除关键词)
- find
- 按条件查找文件 / 目录
- 示例:
find /dir -name "*.log"(按名称找日志文件)、find . -size +100M(找大于 100M 的文件)
- which/whereis
- 查找命令路径或文件位置
- 示例:
which sshd(查看 sshd 服务路径)
3. 压缩与归档
- tar
- 打包压缩文件(支持 gzip/bzip2/xz)
- 示例:
- 压缩:
tar -zcvf file.tar.gz /dir(gzip 压缩) - 解压:
tar -zxvf file.tar.gz
- 压缩:
- gzip/bzip2
- 单独压缩文件(不打包目录)
- 示例:
gzip file.txt(压缩为 file.txt.gz)
三、网络管理
1. 网络诊断
- ping
- 测试网络连通性
- 示例:
ping -c 3 www.baidu.com(发送 3 次 ping 包)
- netstat/ss
- 查看网络连接、端口状态(
ss更高效) - 示例:
netstat -tunlp(查看 TCP/UDP 监听端口及对应进程)、ss -ltn(简化版)
- 查看网络连接、端口状态(
- nslookup/dig
- DNS 解析工具
- 示例:
dig @8.8.8.8 www.google.com(指定 DNS 服务器解析)
2. 数据传输
- curl/wget
- 下载网络文件
- 示例:
curl -O https://url/file(下载并保留原名)、wget https://url/file
- scp/sftp
- 安全复制文件(跨服务器)
- 示例:
scp local.txt user@remote:/path(本地到远程)、sftp user@remote(交互式传输)
3. 防火墙
- iptables
- 配置 Linux 防火墙规则(传统工具,适用于 CentOS 6 及以下)
- 示例:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT(允许 80 端口)
- firewall-cmd
- 现代防火墙管理工具(适用于 CentOS 7+/Fedora)
- 示例:
firewall-cmd --add-port=80/tcp --permanent(永久开放 80 端口)
四、用户与权限管理
- useradd/userdel/usermod
- 创建 / 删除 / 修改用户
- 示例:
useradd -m -s /bin/bash username(创建用户并分配家目录)
- passwd
- 修改用户密码
- 示例:
passwd username(管理员修改用户密码)、passwd(用户自改密码)
- chmod/chown
- 修改文件权限 / 所有者
- 示例:
- 权限:
chmod 755 file.sh(所有者可读 / 写 / 执行,其他用户可读 / 执行) - 所有者:
chown user:group file.txt(修改属主和属组)
- 权限:
- sudo
- 以管理员权限执行命令
- 示例:
sudo apt install nginx(用管理员权限安装软件)
五、服务与进程管理
- systemctl
- 管理 systemd 服务(启动 / 停止 / 重启 / 状态查询)
- 示例:
systemctl start nginx(启动服务)systemctl enable nginx(设置开机启动)systemctl status nginx(查看服务状态)
- service
- 管理传统 sysvinit 服务(适用于旧系统)
- 示例:
service httpd restart(重启 httpd 服务)
- kill/pkill
- 终止进程
- 示例:
kill -9 1234(强制终止 PID 为 1234 的进程)、pkill -f "nginx"(按名称终止进程)
- bg/fg/nohup
- 后台运行进程(避免终端断开后终止)
- 示例:
nohup command &(后台运行并忽略挂断信号)
六、软件包管理
1. Debian/Ubuntu(apt 系列)
apt-get/apt install:安装软件apt remove:卸载软件apt update/apt upgrade:更新软件列表 / 升级系统
2. RedHat/CentOS(yum/dnf)
yum install:安装软件yum remove:卸载软件yum update/yum upgrade:更新系统
3. 通用(编译安装)
./configure:配置编译选项make:编译源代码make install:安装编译后的程序
七、日志处理
- tail
- 实时查看日志尾部内容
- 示例:
tail -f /var/log/nginx/access.log(实时监控日志)、tail -n 100 log.txt(查看最后 100 行)
- less/more
- 分页查看日志(
less支持搜索和快捷键) - 示例:
less /var/log/syslog(交互式查看日志)
- 分页查看日志(
- journalctl
- 查看 systemd 日志(适用于 CentOS 7+)
- 示例:
journalctl -u nginx(查看 nginx 服务相关日志)
八、磁盘与分区管理
- fdisk
- 磁盘分区工具(适用于 MBR 分区表)
- 示例:
fdisk /dev/sda(交互式分区磁盘)
- mkfs
- 格式化磁盘分区
- 示例:
mkfs.ext4 /dev/sda1(格式化为 ext4 文件系统)
- mount/umount
- 挂载 / 卸载文件系统
- 示例:
mount /dev/sda1 /mnt/data(挂载分区到 /mnt/data)
九、实用工具与快捷键
- 管道与重定向
|:管道(将前一个命令输出作为后一个输入),如ls -l | grep "log">:重定向输出(覆盖文件),>>:追加输出
- man
- 查看命令手册(必备!),如
man ls
- 查看命令手册(必备!),如
- 快捷键
Ctrl+C:终止当前进程Ctrl+Z:暂停进程(可通过bg/fg恢复)Ctrl+R:搜索历史命令
记忆技巧与实践建议
- 分类记忆:按功能(文件、网络、监控等)分组,避免零散记忆。
- 常用选项缩写:如
-l(长列表)、-h(可读格式)、-v(详细信息)、-f(强制)等,多数命令通用。 - 实践至上:通过虚拟机或 Linux 服务器练习,结合
man命令查看详细用法(如man find)。 - 脚本化:将高频操作写成 shell 脚本(如批量备份、日志清理),加深理解。
掌握这些命令后,可进一步学习 Shell 编程、正则表达式、自动化工具(如 Ansible/Puppet)提升运维效率。