一键部署 WordPress 脚本学习:核心 Bash 命令速查手册
🧩 基础控制结构与 Bash 特性
| 命令/语法 | 含义 |
|---|---|
#!/bin/bash |
指定使用 Bash 解释器运行脚本 |
set -e |
一旦命令出错(非0),立即退出脚本 |
set -u |
引用未定义变量时报错并退出 |
[[ condition ]] |
Bash 的条件判断结构 |
if ...; then ...; fi |
条件语句 |
read -p / read -r |
读取用户输入 |
${VAR} / $(...) |
参数展开、命令替换 |
<<EOF ... EOF |
多行字符串(用于 Heredoc 输入) |
🔐 权限与用户检查
| 命令 | 含义 |
|---|---|
$EUID |
当前用户的有效 UID( 表示 root) |
exit 1 |
脚本异常退出 |
🖥️ 系统信息与网络
| 命令 | 含义 |
|---|---|
lsb_release -rs |
获取 Ubuntu 版本号 |
hostname -I |
获取本机所有 IP 地址 |
awk '{print $1}' |
提取第一列(常用于获取第一个 IP) |
📦 系统更新与软件安装
| 命令 | 含义 |
|---|---|
apt update / apt upgrade -y |
更新软件源与系统软件 |
apt install -y <包名> |
安装软件包并自动确认 |
apt-cache search <关键词> |
搜索可用的软件包 |
head -n |
显示文件/输出的前 N 行 |
🖧 下载与解压
| 命令 | 含义 |
|---|---|
wget -q --show-progress |
下载文件,显示进度但不冗余输出 |
tar -xzf |
解压 .tar.gz 文件 |
unzip |
解压 .zip 文件 |
🛠️ 文件与目录操作
| 命令 | 含义 |
|---|---|
mkdir -p |
创建目录(包含父目录) |
mv |
移动或重命名文件/目录 |
cp -r |
复制目录及其内容 |
rm -rf |
强制删除目录及其内容 |
cat > file <<EOL ... EOL |
创建或覆盖写入文件 |
echo -e |
输出并解析转义字符(如颜色) |
find -type d -exec chmod 755 {} |
设置目录权限 |
find -type f -exec chmod 644 {} |
设置文件权限 |
🔧 配置与替换
| 命令 | 含义 |
|---|---|
sed -i "s/旧/新/" |
替换文件中的内容(就地修改) |
openssl rand -hex 3 |
生成随机16进制字符串 |
curl -s |
安静模式下载(常用于获取 API 返回值) |
🗄️ MySQL 数据库相关
| 命令 | 含义 |
|---|---|
mysql -u root -e "<SQL语句>" |
用 root 用户执行 SQL 命令 |
CREATE DATABASE / USER |
创建数据库与用户 |
GRANT / FLUSH PRIVILEGES |
授权并刷新权限表 |
🌐 Apache Web服务器
| 命令 | 含义 |
|---|---|
a2ensite / a2dissite |
启用/禁用 Apache 网站配置 |
a2enmod |
启用 Apache 模块(如 rewrite、headers) |
apache2ctl configtest |
测试 Apache 配置是否有语法错误 |
systemctl restart apache2 |
重启 Apache 服务 |
🔥 防火墙(UFW)
| 命令 | 含义 |
|---|---|
ufw allow 'Apache Full' |
允许 Apache HTTP/HTTPS 访问 |
ufw reload |
应用防火墙配置变化 |
systemctl is-active ufw |
检查 UFW 是否启用 |
🔒 安全与优化配置(WordPress + 系统)
| 项 | 含义 |
|---|---|
.htaccess |
WordPress URL重写与安全配置文件 |
DISALLOW_FILE_EDIT |
禁止WP后台编辑器(提升安全) |
WP_AUTO_UPDATE_CORE |
只启用小版本更新 |
WP_MEMORY_LIMIT |
设置 WordPress 使用内存上限 |
chmod 600 |
仅拥有者可读写(用于保护敏感文件) |