公司动态

Linux 运维常用命令大全:运维工程师必背命令

📅 2026/8/18 9:46:43
Linux 运维常用命令大全:运维工程师必背命令
Linux 运维工作中命令是最基础也是最重要的技能之一。对于初级 Linux 运维工程师来说不需要一开始就记住所有命令而应该优先掌握文件管理、权限管理、进程管理、资源监控、网络排查、服务管理、日志分析、SSH、Shell、Nginx、MySQL、Docker等高频命令。本文整理一套适合 Linux 运维学习、面试和日常工作的常用命令。一、文件与目录管理1. pwd查看当前所在目录。pwd2. ls查看目录中的文件。ls ls -l ls -a ls -lh ls -lah常用参数-l详细信息-a显示隐藏文件-h人类可读格式日常最常用ls -lah3. cd切换目录。cd /etc cd .. cd ~ cd -含义.. 上一级目录 ~ 当前用户家目录 - 上一次所在目录4. mkdir创建目录。mkdir test mkdir -p /data/app/logs-p可以一次创建多级目录。5. touch创建空文件。touch test.txt也可以用于更新文件时间。6. cp复制文件或目录。cp test.txt /tmp/ cp -r test /tmp/-r用于复制目录。7. mv移动文件或者修改文件名。mv test.txt /tmp/ mv old.txt new.txt8. rm删除文件或者目录。rm test.txt rm -r test rm -rf testrm -rf使用时一定要谨慎。生产服务器上不要随意执行rm -rf /*二、文件内容查看1. cat查看文件全部内容。cat /etc/hosts2. less分页查看文件。less /var/log/syslog查看大型日志文件时比cat更合适。3. head查看文件开头内容。head /var/log/syslog head -20 /var/log/syslog4. tail查看文件末尾内容。tail /var/log/syslog tail -20 /var/log/syslog5. tail -f实时查看日志。tail -f /var/log/nginx/access.log这是 Linux 运维非常常用的命令。例如网站访问异常时可以实时观察 Nginx 日志tail -f /var/log/nginx/error.log三、文件查找findfind是 Linux 运维中非常重要的文件查找命令。find / -name nginx.conf查找所有.log文件find /var/log -name *.log查找目录find /data -type d查找文件find /data -type f查找大于 100MB 的文件find / -type f -size 100M按照修改时间查找find /var/log -mtime 7四、Linux 文件权限1. ls -lls -l例如-rwxr-xr-- 1 root root 1024 test.sh权限可以分成rwx r-x r--分别代表文件所有者 所属用户组 其他用户权限对应数字r 4 w 2 x 1所以7 rwx 6 rw- 5 r-x 4 r--2. chmod修改文件权限。chmod 755 test.sh chmod 644 index.html chmod 600 id_rsa给脚本增加执行权限chmod x test.sh3. chown修改文件所有者。chown root test.txt同时修改用户和用户组chown root:root test.txt递归修改chown -R nginx:nginx /data五、用户与用户组查看当前用户whoami查看用户信息id创建用户useradd test设置密码passwd test创建用户组groupadd dev删除用户userdel test把用户加入用户组usermod -aG docker test查看当前登录用户who w六、进程管理Linux 运维排障中进程管理非常重要。ps查看进程ps ps aux ps -ef查找 Nginxps -ef | grep nginxtop实时查看系统资源和进程。top重点关注CPU MEM load average PID 进程如果服务器突然变慢通常可以先执行top查看哪个进程占用 CPU 或内存较高。pgrep按照进程名称查找 PIDpgrep nginxkill结束进程kill PID强制结束kill -9 PID正常情况下应该优先尝试kill PID而不是直接使用kill -9。七、CPU、内存和系统负载1. uptime查看系统运行时间和负载uptime例如load average: 0.20, 0.35, 0.40三个数字分别代表1分钟 5分钟 15分钟2. free查看内存free -h重点关注total used free buff/cache available3. vmstat查看系统 CPU、内存、进程、IO 等信息vmstat持续监控vmstat 1表示每 1 秒刷新一次。4. mpstat查看 CPU 使用情况mpstat查看每个 CPUmpstat -P ALL八、磁盘管理df查看文件系统磁盘使用情况df -h这是排查“磁盘满了”的第一步。du查看目录占用空间du -sh /var/log查看根目录下各目录大小du -sh /*进一步定位du -sh /var/*lsblk查看磁盘和分区lsblkmount挂载文件系统mount /dev/sdb1 /data查看挂载情况mountumount卸载umount /data九、Linux 网络命令作为网络工程专业学生这部分应该重点掌握。1. ip查看 IPip addr简写ip a查看路由ip route简写ip r查看网卡ip link2. ping测试网络连通性ping 8.8.8.8测试域名ping www.baidu.com3. ss查看端口监听情况ss -lntp参数-l 监听状态 -n 不解析域名 -t TCP -p 显示进程例如检查 80 端口ss -lntp | grep :804. curl测试 HTTP 服务curl http://127.0.0.1查看响应头curl -I http://127.0.0.1详细查看 HTTP 请求curl -v http://127.0.0.1在运维工作中curl经常用于判断服务到底有没有正常响应。5. wget下载文件wget https://example.com/file.tar.gz6. nslookupDNS 查询nslookup www.baidu.com7. digDNS 详细查询dig www.baidu.com十、SSH 远程管理SSH 登录ssh root192.168.1.100指定端口ssh -p 2222 root192.168.1.100SCP上传文件scp test.txt root192.168.1.100:/tmp/下载文件scp root192.168.1.100:/tmp/test.txt .SSH 密钥生成密钥ssh-keygen复制公钥ssh-copy-id root192.168.1.100之后可以使用密钥免密码登录。十一、软件包管理Ubuntu / Debianapt update apt upgrade apt install nginx apt remove nginx apt search nginx apt show nginx查看已经安装的软件dpkg -lCentOS / RHEL 系yum install nginx dnf install nginx rpm -qa十二、systemd 服务管理Linux 运维必须熟悉systemctl。查看服务状态systemctl status nginx启动systemctl start nginx停止systemctl stop nginx重启systemctl restart nginx重新加载配置systemctl reload nginx设置开机启动systemctl enable nginx取消开机启动systemctl disable nginx查看服务是否开机启动systemctl is-enabled nginx十三、journalctl 日志查看系统日志journalctl查看 Nginxjournalctl -u nginx实时查看journalctl -u nginx -f查看最近一小时journalctl --since 1 hour ago查看系统最近错误journalctl -p err十四、grep 日志分析搜索关键字grep error app.log忽略大小写grep -i error app.log显示行号grep试题。