Linux Scripts
精选 Linux 常用快捷指令与生产环境自动化脚本,涵盖系统维护、网络调试、安全审计及 DevOps 常用工具。
Systemd 服务管理
启动服务
# 立即启动指定的后台服务
systemctl start [service] 停止服务
# 立即停止指定的后台服务
systemctl stop [service] 查看服务状态
# 检查服务是否运行及错误详情
systemctl status [service] 设置开机自启
# 将服务加入开机自动启动项
systemctl enable [service] 重载配置文件
# 修改 .service 文件后必须执行
systemctl daemon-reload 查看错误日志
# 排查服务启动失败原因
journalctl -u [service] -xe 系统信息与资源
查看内核详情
# 显示内核版本、架构及主机名
uname -a 查看发行版
# 确认操作系统详细发行信息
cat /etc/os-release 系统运行时间
# 显示系统已运行时间及平均负载
uptime 查看主机名配置
# 显示并修改系统主机名设置
hostnamectl 内存使用情况
# 以易读格式显示物理与交换内存
free -h 磁盘空间占用
# 查看各挂载点的磁盘剩余空间
df -h 目录占用统计
# 统计当前目录项大小并降序排列
du -sh * | sort -hr 查看 CPU 信息
# 显示 CPU 架构、核心数及频率
lscpu 查看块设备
# 显示磁盘分区、挂载点及大小
lsblk 系统硬件日志
# 查看最近的内核与硬件事件
dmesg | tail -n 50 进程与性能监控
实时任务管理器
# 经典的进程与资源监控工具
top 全量进程列表
# 显示系统中所有运行的进程
ps aux 强制杀死进程
# 根据 PID 强制停止某个程序
kill -9 [PID] 按名杀死进程
# 根据程序名称批量停止进程
pkill [name] 查询端口占用
# 查找占用特定端口的进程
lsof -i :80 强杀端口进程
# 直接杀死占用 80 端口的所有进程
fuser -k 80/tcp 系统资源统计
# 每秒刷新一次 CPU、内存及 IO 统计
vmstat 1 查看后台任务
# 列出当前终端挂起的后台任务
jobs -l 调至后台运行
# 将暂停的任务转入后台继续执行
bg %[id] 调至前台运行
# 将后台任务转回前台执行
fg %[id] 网络管理与调试
查看网卡 IP
# 查看所有网络接口的 IP 地址
ip addr 查看路由表
# 显示系统当前的网关与路由路径
ip route 监听端口查询
# 查看正在监听的 TCP/UDP 端口
ss -tunlp 经典网络工具
# 显示 TCP 连接与端口状态
netstat -antp 网络连通性测试
# 发送 4 次 ICMP 包测试连接
ping -c 4 google.com 域名解析查询
# 快速获取域名的 A 记录 IP
dig +short google.com 查看公网出口 IP
# 从外部 API 获取本机公网地址
curl ifconfig.me 下载文件 (断点)
# 从网络下载文件并支持续传
wget -c [URL] HTTP 头部探测
# 仅获取网站的 HTTP 响应头
curl -I [URL] 查看网络流量
# 实时可视化查看带宽占用情况
nload 测试带宽速度
# 专业级网络吞吐量测试工具
iperf3 -c [server] 抓取网络包
# 捕获指定网卡的网络流量数据
tcpdump -i eth0 文件处理与搜索
搜索文件路径
# 在指定目录下递归查找文件
find /var/log -name "*.log" 全文内容搜索
# 在当前目录及子目录下查找匹配内容
grep -rn "error" . 实时滚动日志
# 动态追踪日志文件末尾新增内容
tail -f /var/log/syslog 文件内容对比
# 对比两个文件的差异行
diff file1.txt file2.txt 统计行数字数
# 统计文件包含的总行数
wc -l filename 提取首 10 行
# 查看文件开头的部分内容
head -n 10 filename 查看尾 20 行
# 查看文件末尾的部分内容
tail -n 20 filename 打包压缩 (tar)
# 将目录打包并使用 Gzip 压缩
tar -czvf app.tar.gz [dir] 解压包 (tar)
# 一键解压 .tar.gz 压缩包
tar -xzvf app.tar.gz 一键解压 Zip
# 解压常见的 .zip 格式文件
unzip file.zip 用户权限与安全
以 Root 执行
# 提升权限执行特定指令
sudo [command] 当前登录用户
# 显示当前的会话用户名
whoami 查看用户组
# 显示用户所属的所有安全组
groups [user] 修改文件权限
# 设置读写执行权限 (rwxr-xr-x)
chmod 755 [file] 修改所属权
# 递归修改文件所有者与所属组
chown -R user:group [dir] 查看登录历史
# 显示最近 20 条用户登录记录
last -n 20 查看历史命令
# 显示最近执行过的 Shell 指令
history | tail -n 50 更改用户密码
# 修改当前或指定用户的登录密码
passwd 软件包管理 (APT/Debian)
更新软件源
# 同步软件包索引文件
sudo apt update 升级软件包
# 安装所有已安装包的新版本
sudo apt upgrade 安装新软件
# 从仓库下载并安装程序
sudo apt install [pkg] 卸载软件包
# 移除程序但保留配置文件
sudo apt remove [pkg] 彻底卸载
# 移除程序及其配置文件
sudo apt purge [pkg] 清理不再需要的依赖
# 自动卸载孤立的依赖包
sudo apt autoremove 搜索软件包
# 在仓库中匹配关键字
apt search [keyword] SSH 与远程管理
生成 SSH 密钥
# 生成现代安全的 SSH 密钥对
ssh-keygen -t ed25519 复制公钥到远程
# 实现免密登录远程服务器
ssh-copy-id user@host 远程文件传输
# 基于 SSH 的安全文件拷贝
scp file.txt user@host:/path 增量同步 (rsync)
# 最高效的目录同步工具
rsync -avz local/ user@host:/remote/ 保持后台会话 (tmux)
# 终端复用器,断开连接不终止程序
tmux new -s [name] 查看所有 tmux 会话
# 列出所有正在运行的后台窗口
tmux ls