【Linux脚本命令手册】Linux 入门速查命令超全手册|分发行版、可直接收藏、全套实战脚本模板

📅 2026/7/16 11:57:18
【Linux脚本命令手册】Linux 入门速查命令超全手册|分发行版、可直接收藏、全套实战脚本模板
新手接触 Linux 最头疼两件事命令杂乱记不住、CentOS/Ubuntu 命令分不清、线上常用脚本到处找不到。本文按功能大类整理全量高频指令区分 CentOS7/CentOS8/Ubuntu/Debian 三大主流发行版差异附带可复制单行脚本、运维常用完整 Shell 模板无冗余理论纯实操速查开发、测试、运维日常直接复制执行适合永久收藏备用。通用基础命令cd/ls/cat/find 等所有 Linux 发行版完全通用差异集中在软件安装、防火墙、服务管理、网络配置权限提示命令带sudo代表需要管理员权限root 账号可省略 sudo所有脚本模板开箱即用修改路径、参数即可线上执行。一、基础目录文件操作全发行版通用1. 目录跳转查看pwd # 查看当前所在完整路径 cd /usr/local # 进入指定绝对目录 cd ../ # 返回上一级目录 cd ~ # 回到当前用户家目录 cd - # 切换回上一次访问目录 ls # 列出当前目录文件 ls -l # 展示详细权限、大小、时间 ls -lh # 人类可读单位展示大小KB/MB ls -a # 显示隐藏文件.开头 tree -L 2 # 树形展示两层目录结构需安装tree2. 文件 / 文件夹增删改查touch test.txt # 创建空文件 mkdir project # 创建单层文件夹 mkdir -p a/b/c # 递归创建多级目录 rm test.txt # 删除文件 rm -rf logs/ # 强制递归删除文件夹高危谨慎 cp test.txt /tmp/ # 复制文件到目标路径 cp -r dir1 dir2 # 复制整个文件夹 mv old.txt new.txt # 重命名文件 mv file /usr/local/ # 移动文件到指定目录 ln -s /opt/app /data/link # 创建软链接快捷方式3. 文件内容读取与编辑cat test.txt # 一次性读取全部内容 less test.txt # 分页浏览空格翻页 q退出 head -n 20 test.txt # 读取前20行 tail -n 30 test.txt # 读取末尾30行 tail -f test.log # 实时滚动查看日志排查线上日志首选 tail -F test.log # 日志文件切割后仍持续监听 grep error app.log # 过滤包含error的行 grep -i warn app.log # 忽略大小写过滤 grep -r keyword /data/ # 递归遍历目录全局搜索关键词4. 文件批量查找 find 高频模板# 查找/data下所有后缀.log文件 find /data -name *.log # 查找大于100M的垃圾文件 find /tmp -size 100M # 查找30天前过期日志并批量删除 find /logs -name *.log -mtime 30 -delete # 查找包含关键字的文件 find /opt -type f -exec grep -l 关键词 {} \;二、权限管理全系统通用线上高频权限数值r4 w2 x1# 修改文件所有者所属组 chown root:root app.jar # 递归修改文件夹归属 chown -R www:www /data/www # 数字权限设置 chmod 755 start.sh # 所有者读写执行其他读执行 chmod 644 config.yml # 普通配置文件标准权限 # 给脚本添加执行权限 chmod ux start.sh # 锁定文件不可删除/修改防误删配置 chattr i nginx.conf # 解除锁定 chattr -i nginx.conf # 查看文件特殊属性 lsattr nginx.conf三、文本三剑客 sed/awk 单行处理脚本收藏即用sed 替换、删除、新增# 全局替换文件内字符串 sed -i s/旧内容/新内容/g config.txt # 删除包含#注释的空行 sed -i /^#/d;/^$/d config.txt # 在文件第一行插入内容 sed -i 1i 新增头部配置 test.txt # 在末尾追加内容 sed -i $a export PATH$PATH:/opt/bin /etc/profileawk 日志统计、分列处理# 打印日志第5列IP awk {print $5} access.log # 统计访问IP访问次数排序取TOP10 awk {print $5} access.log | sort | uniq -c | sort -nr | head -10 # 过滤200状态码请求 awk $9200 access.log四、压缩解压全套命令tar/zip/gz# tar打包压缩生产最常用 tar -zcvf package.tar.gz /data/project # tar解压 tar -zxvf package.tar.gz -C /opt # zip压缩文件夹 zip -r code.zip /data/code # unzip解压 unzip code.zip -d /tmp # 单文件gzip压缩 gzip test.log # 解压gz gunzip test.log.gz五、软件包管理【分发行版核心差异重点】1CentOS7 系列yumyum install nginx -y # 安装软件 yum remove nginx -y # 卸载软件 yum list installed # 查看已安装包 yum search mysql # 搜索软件包 yum clean all yum makecache # 清理缓存重建源 yum update -y # 全系统升级2CentOS8 / Rocky / AlmaLinuxdnfyum 为兼容别名dnf install nginx -y dnf remove nginx -y dnf list --upgradable # 查看可升级软件 dnf clean all3Ubuntu / Debianaptsudo apt update # 更新软件源缓存 sudo apt install nginx -y # 安装 sudo apt remove nginx -y # 卸载 sudo apt list --installed sudo apt search python3 sudo apt autoclean # 清理无用依赖六、服务管理 systemdCentOS7/Ubuntu16.04 通用通用标准命令全部发行版统一systemctl start nginx # 启动服务 systemctl stop nginx # 停止 systemctl restart nginx # 重启 systemctl status nginx # 查看运行状态、报错日志 systemctl enable nginx # 设置开机自启 systemctl disable nginx # 取消开机自启 systemctl list-unit-files --typeservice # 查看所有服务开机状态 journalctl -u nginx -f # 实时查看服务日志传统 SysVinitCentOS6、老旧 Debian仅作兼容了解service nginx start/stop/restart chkconfig nginx on七、防火墙 分版本差异CentOS7/Rocky firewalld# 放行80端口永久 firewall-cmd --add-port80/tcp --permanent # 放行端口段 firewall-cmd --add-port3306-3308/tcp --permanent # 重载生效 firewall-cmd --reload # 查看放行端口 firewall-cmd --list-ports # 关闭防火墙 systemctl stop firewalld systemctl disable firewalldUbuntu/Debian ufwsudo ufw allow 80/tcp sudo ufw allow 3306 sudo ufw reload sudo ufw status numbered sudo ufw disable八、进程、端口、系统资源监控线上故障排查核心1. 进程管理ps aux # 查看全部进程 ps -ef | grep java # 过滤Java进程 top # 动态资源监控q退出 htop # 可视化进程面板需安装 kill 12345 # 正常终止进程 kill -9 12345 # 强制杀死卡死进程 pkill nginx # 按进程名批量杀死2. 端口占用查询ss -tulnp # 新版推荐比netstat更快 netstat -tulnp # 查看监听端口 # 查询80端口占用进程 ss -tulnp | grep :80 lsof -i :33063. 磁盘、内存、负载查看free -h # 内存使用 df -h # 磁盘分区使用率 du -sh /* # 根目录各文件夹大小 du -sh /logs/* # 日志目录子文件大小 uptime # 查看运行时间、系统负载 cat /proc/cpuinfo # CPU核心信息九、网络测试全套命令ping www.baidu.com -c 4 # 发送4个包测试连通 curl http://127.0.0.1:8080 # 测试接口访问 wget https://xxx/file.zip # 下载文件 ip addr # 查看网卡IP全系统通用 hostname -I # 快速输出本机内网IP traceroute www.baidu.com # 路由追踪 host baidu.com # DNS解析测试十、用户与权限、开关机# 用户管理 useradd testuser passwd testuser userdel -r testuser groups root # 查看用户所属组 su testuser # 切换用户 # 关机重启所有发行版通用 shutdown -h now # 立刻关机 shutdown -r now # 立刻重启 reboot poweroff十一、定时任务 crontab 模板可直接复制crontab -l # 查看当前定时任务 crontab -e # 编辑定时任务 # 格式分 时 日 月 周 命令 # 示例1每天凌晨2点清理30天前日志 0 2 * * * find /logs -name *.log -mtime 30 -delete # 示例2每10分钟执行备份脚本 */10 * * * * /data/script/backup.sh /data/backup/log.log # 示例3每周日凌晨3点全量打包数据 0 3 * * 0 tar -zcvf /data/bak/data_$(date \%Y\%m\%d).tar.gz /data/project十二、可直接复制运维 Shell 脚本模板收藏即用模板 1日志自动清理脚本 clear_log.sh#!/bin/bash # 清理30天前日志 LOG_PATH/data/logs DAYS30 find ${LOG_PATH} -name *.log -mtime ${DAYS} -delete echo [$(date %Y-%m-%d %H:%M:%S)] 过期日志清理完成 /data/script/clear_log_record.log使用chmod ux clear_log.sh ./clear_log.sh # 加入定时任务每天凌晨执行 0 2 * * * /data/script/clear_log.sh模板 2项目打包备份脚本 backup.sh#!/bin/bash SOURCE/opt/app BAK_DIR/data/backup TIME$(date %Y%m%d_%H%M%S) FILENAMEapp_${TIME}.tar.gz tar -zcvf ${BAK_DIR}/${FILENAME} ${SOURCE} # 删除7天前备份 find ${BAK_DIR} -name app_*.tar.gz -mtime 7 -delete echo 备份完成${BAK_DIR}/${FILENAME}模板 3端口健康检测脚本 check_port.sh#!/bin/bash PORT8080 IP127.0.0.1 if ss -tulnp | grep :${PORT} /dev/null then echo 端口正常 else echo 端口${PORT}未监听重启服务 systemctl restart app fi十三、发行版差异速查表新手避坑核心表格功能CentOS7(yum/firewalld)CentOS8(dnf)Ubuntu/Debian(apt/ufw)安装软件yum install xxxdnf install xxxapt install xxx防火墙firewalldfirewalldufw查看端口ss/netstatss/netstatss/netstat软件源缓存yum makecachednf makecacheapt update卸载依赖yum removednf removeapt autoclean十四、新手生产避坑总结rm -rf慎用删除前先用 ls 确认目录线上大文件删除不要直接 rm优先清空 app.log避免磁盘 IO 暴涨CentOS 与 Ubuntu 包管理命令不通用写脚本做系统判断适配重要操作前加sudo -i临时切换 root减少频繁输密码定时脚本必须写日志输出方便排查任务执行失败所有 Shell 脚本头部添加#!/bin/bash赋予执行权限再运行。