如果你曾经在 UNIX 环境下开发或维护过网站,你一定清楚用 UNIX 指令来完成每天任务的能力有多强。你可以只用几个命令就能找出或浏览错误以及用户记录、启动维护脚本或者检查可用的硬盘空间。你也可以改变你Web服务器CGI目录中一个文件的属性,将其变为可执行文件,这是一种向网站添加新元素和特功能的快捷方法。利用命令行能使其中一些常用功能更快、更易于完成。
Mac OS X 为了让用户能在 Aqua 界面下执行命令行,来使用其 UNIX 核心,而提供了终端应用程序(Terminal.app)。终端应用程序类似其他 UNIX 命令行环境,这一点,当你照以下指南操作时就会发现。
如果你已经了解 UNIX,你会希望通过测试控制命令行来熟悉 Mac OS X 中 UNIX shell 的性能。 如果你不熟悉 UNIX,可以通过检查终端来体验使用命令行来完成特定任务有多容易。一开始可能会有困难,但Mac OS X 的命令行其实非常直接,它可以节省你大量时间和精力。
该简易指南包括一系列概念。首先,你应当打开终端,改变目录,并找到当前目录。你同时能体验到终端省时的自动完成功能,它将会指引你输入部分目录地址,按Tab 键就能自动使地址完整。然后将一些文件列在你的当前目录下,选择一个操作。这时,你可以分别用命令行和 Web 浏览器来操作文件,并比较结果。
如果你已经作好准备,就让我们开始吧。
1、首先,确认,在共享控制面板中已打开 Web 共享服务。这实际上是 Apache Web 服务器的本地版本。“本地”,意味着它安装在你正使用的机器上。在系统预置(System Preferences)中,选择共享控制面板,确定 “Web共享” 已经启用。为了核实这一点,启动一个浏览器程序,把以下作为你的URL,输入:
localhost
你也可以输入‘127.0.0.1'——该地址同样能默认 Web 服务器已在你本地的机器上运行。如果你操作正确,你将会看到一个网页,其中有写到—“如果你看到该页,说明你已成功安装了 Apache Web 服务器软件。”
2、以上完成后,启动终端程序,你可以从应用程序(Applications)文件夹中的实用程序(Utilities)文件夹中找到它。
该应用程序模仿一个很简单的终端,依靠从命令行输入命令的方法,让你和你的电脑互动。
3、你的第一个任务是切换当前目录至本地 Web 服务器文件目录。首先,如果你一旦迷路,用‘pwd'命令可以显示当前工作目录,这非常有用。在终端应用程序的方块光标指针后,键入
pwd
按回车(Enter)键。命令执行的结果就会在接下来的几行中显示出来。这时会出现一条新行,准备下一个命令。
现在输入以下命令来列出当前目录的内容:
ls
按回车(Enter)键。这时当前目录的所有细节内容都会以简短的表格形式显示出来。
最后,用‘cd'命令来改变目录。靠输入以下命令,来切换目录到文件系统的根目录:
cd /
现在,把我们的树状目录转换到了存有本地Web服务器文件的地方。
尝试在 Mac OS X (tcshell)中已默认启动的自动完成功能,输入:
cd /Lib
然后按 Tab 键。
注意,自动完成功能只会完整填写由‘Lib...'开始的词,如这里,完整的词为‘Library',按 Enter 确认你确实想要转换到 /Library 目录。
现在输入:
cd WebServer/
然后按 Enter,将默认目录换到你的本地 Web 服务器目录。
最后,输入以下内容切换到含有你 Web 服务器 CGI 脚本的文件夹:
cd CGI-Executables
4、列出目录的内容,并体会下列命令的不同:
ls
ls -laF
最后,仅需输入:
l
第一个是你之前用过的标准文件列表命令。第二个是和显示标记相同文件的命令,这时所有符合条件的文件和信息都被显示出来。第三个可能是最简单也最容易记的。
以上每一个命令都能给你关于当前目录下文件的不同变量信息。请记住当前目录下的两个文件 test-cgi 和 printenv-cgi 中的读、写和可执行(rwx)属性是如何被定义的。
5、下一个任务是将 test-cgi 文件重命名并做备份。输入:
cp test-cgi test.cgi.
这样你就拷贝了第一个文件 test-cgi 并把结果保存成 test.cgi。此时,你已经给原文件重新命名并保存下来,同时新文件扩展名 .cgi 使你和你的 Web 服务器明白这是一个CGI脚本。
6、现在,把 test.cgi 文件变成可执行文件。无须了解 UNIX 下文件权限的复杂操作,最简单的方法是仅仅输入以下:
chmod +x test.cgi
这样,就可以使 test.cgi 文件的模式变成可执行的。
需要更多关于 chmod 的信息,可查询这个使用 指南 。
7、让我们继续来巩固一下显示和自动完成功能。输入:
ls test
接着按 Tab 键。这次会显示两个以‘test'开头的文件,一个是你的原文件 test-cgi ,另一个是你刚才创建的‘test.cgi',同时给你一条新的命令行来给你输入文件名,这时你应该输入更多信息。
但是现在,你要在命令行中输入一个返回所有匹配文件的命令符:
*
然后按 Enter 键。
注意 test.cgi 后跟有星号表示该文件是执行的。
8、你已经编辑了文件,保证它已经存在你的 CGI 可执行文件中,并且可执行,这时应该测试它了。
首先,试着将文件在命令行中执行。输入:
./test.cgi
执行当前目录下的文件。该文件运行后,结果将在终端中显示出来。注意,因为文件没有在 Web 服务器下运行,所以大部分的结果显示是空白。
9、现在在浏览器下执行 test.cgi。在你的网络浏览器中输入以下 URL,这是你刚才创建的 CGI 脚本的有效地址:
localhost/cgi-bin/test.cgi
返回的结果显示在一个网页上,如下:
CGI/1.0 teCGI/1.0脚本测试报告:
argc is 0. argv is .
SERVER_SOFTWARE = Apache/1.3.14 (Darwin)
SERVER_NAME = localhost.yourdomain.com
GATEWAY_INTERFACE = CGI/1.1
SERVER_PROTOCOL = HTTP/1.1
SERVER_PORT = 80
REQUEST_METHOD = GET
HTTP_ACCEPT = application/futuresplash, application/rtf,
application/sdp, application/x-itool, application/x-rtsp,
application/x-shockwave-flash, audio/basic, audio/mpeg,
audio/vnd.qcelp, audio/wav, audio/x-aiff, audio/x-midi,
image/gif, image/jpeg, image/pict, image/png, image/tiff,
image/x-macpaint, image/x-photoshop, image/x-quicktime,
image/x-targa, image/x-xbitmap, image/xbm, text/html, text/plain,
video/flc, video/quicktime, video/x-msvideo, */*
PATH_INFO =
PATH_TRANSLATED =
SCRIPT_NAME = /cgi-bin/test.cgi
QUERY_STRING =
REMOTE_HOST =
REMOTE_ADDR = 127.0.0.1
REMOTE_USER =
AUTH_TYPE =
CONTENT_TYPE =
CONTENT_LENGTH =
现在,尝试用同样的步骤处理 CGI 可执行文件夹中的其它 CGI 脚本。记住在把它变成可执行文件前重新命名为 printenv.cgi。
利用这些简单的步骤,你能建立不同的脚本,从简单到复杂,使它们可操作后放入你的 Web 服务器中的 CGI-bin 中,从而迅速为你的网站增加新的功能。检查 Matt's Script Archive 获得一系列免费的 CGI 脚本来优化网站的功能。
标签: