使用过 *unix 系统命令行的小伙伴,特别是用惯了 Windows 系统保存功能的小伙伴,可能有过这样的遭遇:在命令行下不小心按到了 Ctrl-S 组合键,然后命令行界面就瞬间卡住了……然后就没有然后了……是命令行程序出 bug 了吗?重新启动命令行吧。也许有的小伙伴多一个心眼,怎么可能一个 Ctrl-S 就能把命令行搞挂,一定有什么办法可以恢复。的确是这样的,如果有上网查询过,其实很快能查到通过 Ctrl-Q 是可以恢复的。
使用过 *unix 系统命令行的小伙伴,特别是用惯了 Windows 系统保存功能的小伙伴,可能有过这样的遭遇:在命令行下不小心按到了 Ctrl-S 组合键,然后命令行界面就瞬间卡住了……然后就没有然后了……是命令行程序出 bug 了吗?重新启动命令行吧。也许有的小伙伴多一个心眼,怎么可能一个 Ctrl-S 就能把命令行搞挂,一定有什么办法可以恢复。的确是这样的,如果有上网查询过,其实很快能查到通过 Ctrl-Q 是可以恢复的。
shebang 也叫做 hashbang,是在 *nix 系统里放在需要执行的文本文件的第一行,只要接触过 *nix 系统的都应该见过了吧:
#!/usr/bin/php
不过上面的写法有一个问题,不见得所有的 *nix 系统的 php 安装目录都在 /usr/bin/php
,所以为了通用性,一个更好的做法是
#!/usr/bin/env php
这样系统就会自动获取 PHP 的执行路径来执行当前的脚本,使当前脚本更加具有通用性。
在 linux 下如何在当前目录以及其子目录里面查找全部的 php 文件?
$ find . -name *.php
这样?
上面的命令看上去似乎没问题,但实际返回的结果只有当前目录下的 php 文件。
在开发的时候,往往需要单独开启 NGINX PHP MySQL Memcache等环境。我写了一个一键启动脚本方便使用。
假设 NGINX, PHP, MySQL, Memcache 在同一个目录 services 下面并且他们各自在单独的以他们的名字命名的目录,脚本位于 services 目录: