Laravel学习-01预备阶段-05 命令行
在前面几篇中,我们学习了 PHP 基础、Composer、Web 原理和数据库知识。现在,是时候熟悉一个开发者每天都会用到的工具:命令行(Command Line)。
Laravel 重度依赖命令行完成项目创建、代码生成、数据库迁移等操作。虽然图形界面更"友好",但命令行才是高效开发的真正起点。
本文将带你掌握 Laravel 开发所需的命令行基础,不涉及复杂操作,只聚焦于"能用、会用、不怕用"。
1. 什么是命令行?
命令行(也称终端、Terminal、Shell)是一种通过输入文本命令与操作系统交互的方式。
- Windows :命令提示符(CMD)、PowerShell,或更推荐的 Windows Terminal + WSL
- macOS :内置 Terminal 或 iTerm2
- Linux:各种发行版自带终端
2. 基础命令(必须会)
无论你用什么系统,以下命令是日常开发的"呼吸":
| 命令 | 作用 | 示例 |
|---|---|---|
pwd |
显示当前所在目录 | pwd → /Users/yourname/projects |
ls |
列出当前目录下的文件和文件夹 | ls -l(详细列表) |
cd |
切换目录 | cd myapp(进入 myapp 文件夹) cd ..(返回上一级) cd ~(回到用户主目录) |
mkdir |
创建文件夹 | mkdir test |
touch |
创建空文件(macOS/Linux) | touch .env |
cp / mv |
复制 / 移动文件 | cp file1.txt file2.txt |
rm |
删除文件(谨慎!) | rm temp.txt rm -r folder/(删除文件夹) |
cat |
查看文件内容 | cat .env |
小技巧 :按
Tab键可自动补全文件名,避免拼写错误。
3. PHP 与 Composer 命令
Laravel 项目离不开以下两个命令:
查看 PHP 版本
bash
php -v
确保输出版本 ≥ 8.2(Laravel 11 要求)。
查看 Composer 版本
bash
composer -V
如果提示"command not found",说明 Composer 未安装或未加入 PATH(回到第 2 篇检查安装)。
常见 Composer 操作(在项目目录中执行)
bash
# 安装依赖
composer install
# 安装新包
composer require guzzlehttp/guzzle
# 重新生成自动加载
composer dump-autoload
4. 命令行中的路径概念
- 绝对路径 :从根目录开始的完整路径
例:/Users/yourname/projects/myapp - 相对路径 :相对于当前目录的路径
例:当前在myapp/,则app/Http/Controllers是相对路径
Laravel 所有命令都需在项目根目录 下执行(即包含
composer.json的目录)。
你可以通过检查是否存在 artisan 文件来确认:
bash
ls -l artisan
# 应看到 -rwxr-xr-x ... artisan
5. 权限与可执行文件(Linux/macOS)
在 macOS 或 Linux 中,你可能会遇到:
bash
bash: ./artisan: Permission denied
这是因为 artisan 文件没有可执行权限。解决方法:
bash
chmod +x artisan
之后即可运行:
bash
php artisan list
Windows 用户通常无此问题。
6. 常见问题与技巧
Q:命令输错了怎么办?
A:按 ↑ 键调出历史命令,修改后回车重试。
Q:如何中断正在运行的命令?
A:按 Ctrl + C(比如停止本地服务器)。
Q:长命令记不住?
A:不用死记!Laravel 的 artisan 命令支持自动提示:
bash
php artisan make: # 按 Tab 键可列出所有 make 子命令
7. 为什么命令行对 Laravel 如此重要?
Laravel 提供了强大的 Artisan 命令行工具,用于:
- 创建控制器、模型、迁移文件(
php artisan make:controller) - 运行数据库迁移(
php artisan migrate) - 启动本地开发服务器(
php artisan serve) - 清除缓存(
php artisan config:clear)
这些操作如果手动完成,不仅繁琐,还容易出错。命令行让开发自动化、标准化、高效化。
即使你使用 Laravel Sail(基于 Docker),也仍然是通过命令行调用
./vendor/bin/sail来执行操作。
小结
命令行不是"高深技术",而是开发者的基本工作台。你不需要成为 Shell 专家,但必须:
- 能在终端中切换目录、查看文件;
- 能运行
php、composer、artisan命令; - 遇到权限或路径问题知道如何排查。
从现在开始,少用鼠标,多敲键盘。几天后,你会发现自己已经离不开命令行了。
练习建议 :打开终端,创建一个
laravel-practice文件夹,进入它,用touch创建一个readme.txt,再用cat查看内容。就这么简单,但这是你迈向专业开发的第一步。
系列预告 :
《Laravel学习-02Laravel 入门-01 安装与配置》