MAC OS X 中的终端程序
【MacOsX教程】假如你曾经在 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 脚本来优化网站的功能。 

 
 




