MAC OS X 中的终端程序

来源:岁月联盟 编辑:zhu 时间:2007-12-27
MAC OS X 中的终端程序内容简介:【MacOsX教程】 假如你曾经在 UNIX 环境下开发或维护过网站,你一定清楚用 UNIX 指令来完成天天任务的能力有多强。你可以只用几个命令就能找出或浏览错误以及用户记录、启动维护脚本或者检查可用的硬盘空间。你也可以改

  【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 脚本来优化网站的功能。