电脑技术学习

漫谈UNIX的文件系统

dn001

PATH="/bin:/usr/bin:/usr/local/bin"
  PATH="$PATH:/usr/local/mysql5.0/bin"
  PATH="$PATH:/usr/local/perl6/bin"
  PATH="$PATH:/usr/local/Zend/bin"
  export PATH

  然而,将一个包存储在它自己的“容器中,这是很有好处的:

  哪个包提供了特定的应用程序,这是显而易见的。遵循这一分类系统,您可以使用 which 命令找到包的名字:  $ which mysql/usr/local/mysql5.0/bin/mysql

  您可以同时保留同一个包的不同版本。

  例如,如果您希望提供 Perl V5.6 和 Perl V5.8,可以将前者安装到 /usr/local/perl5.6,将后者安装到 /usr/local/perl5.8。每个用户都可以通过改变 PATH 变量,来选择一个 Perl 版本。

  您可以同时保留不同的版本,但是可以通过使用符号链接,使得缺省情况下对应于某一个特定的版本。只需创建一个到您希望提供的包的版本的符号链接即可。

  例如,假定您提供了前面介绍的两个 Perl 版本。如果您希望将 Perl V5.8 作为缺省值,可以创建一个到 /usr/local/perl5.8 的符号链接,并将它命名为 perl:

  $ ls -1 /usr/local/perl*perl5.6perl5.8$ sudo ln -s /usr/local/perl5.8
  /usr/local/perl$ ls -1 -F /usr/local/perl*perl5.6/perl5.8/perl@

  最终用户现在可以添加 /usr/local/perl/bin 到他或她的 PATH 变量以运行 perl 命令。如果您最后需要或者希望切换到一个更新的或者更旧的 Perl 版本,那么您只需删除该符号链接,并重新创建一个指向不同目录的符号链接即可。

  对于这样的维护任务,符号链接是非常重要的。您可以维护变量、变更路径,并为方便访问构建集合。例如,您可以在传统的 /usr/local/bin 目录中填入链接到其他包中的命令的符号链接,如 ln -s /usr/local/perl/bin/perl /usr/local/bin/perl。(是的,您可以创建指向另一个符号链接的符号链接。)

标签: