=atitle>
文件名称
含义
UNIX 计算机上
![](/icons/12de.gif)
文件采用层次结构进行组织
![](/icons/12dou2.gif)
这个层次结构
![](/icons/12de.gif)
最高层是 /
![](/icons/12dou.gif)
![](/icons/12yi.gif)
般称其为“斜线”或者“根目录”
如果您将工作目录更改为 /
![](/icons/12dou.gif)
并运行
ls
![](/icons/12dou.gif)
那么您将看见几个具有神秘名称
![](/icons/12de.gif)
子目录(如 etc、bin、var、home 和 tmp)
![](/icons/12dou2.gif)
尽管 UNIX 现在支持长文件名
![](/icons/12dou.gif)
但是这些顶层目录名字中
![](/icons/12de.gif)
大多数可以追溯到大约 30 年前
![](/icons/12dou.gif)
即 UNIX 刚刚出现
![](/icons/12de.gif)
时候
![](/icons/12dou2.gif)
类似地
![](/icons/12dou.gif)
根据同样长期存在
![](/icons/12de.gif)
约定
![](/icons/12dou.gif)
包含在 / 中
![](/icons/12de.gif)
每个目录都用于某个特殊
![](/icons/12de.gif)
目
![](/icons/12de.gif)
:
/bin 仅仅是包含应用
![](/icons/12chengxu.gif)
和实用工具
![](/icons/12de.gif)
许多目录中
![](/icons/12de.gif)
![](/icons/12yi.gif)
个
![](/icons/12dou2.gif)
然而
![](/icons/12dou.gif)
/bin 通常包含那些对于系统操作而言基本
![](/icons/12de.gif)
实用工具
![](/icons/12dou2.gif)
因此
![](/icons/12dou.gif)
Shell 文件操作命令如
cp
和
chmod
、压缩和解压缩
![](/icons/12dou.gif)
以及诊断命令都位于 /bin 中
/sbin 同样包含那些对于系统操作和维护而言至关重要
![](/icons/12de.gif)
实用工具
![](/icons/12dou2.gif)
然而
![](/icons/12dou.gif)
只有超级用户才能够执行 /sbin 中
![](/icons/12de.gif)
![](/icons/12chengxu.gif)
![](/icons/12dou.gif)
因此这个目录称为“superuser-bin”或者 /sbin
/dev 包含您
![](/icons/12de.gif)
系统中所安装
![](/icons/12de.gif)
所有硬件
![](/icons/12dou.gif)
包括终端和 USB 设备(以及从物理上连接到这台计算机
![](/icons/12de.gif)
其他外围设备)、伪终端(用于和 X 终端窗口进行交互)
![](/icons/12dou.gif)
以及硬盘驱动器
![](/icons/12dou.gif)
等等
/etc(常常发音为“etsee”)专门用于系统配置
![](/icons/12dou2.gif)
/etc 目录包含用于系统守护进程、启动脚本、系统参数和更多其他方面
![](/icons/12de.gif)
配置文件
/home 包含用户
![](/icons/12de.gif)
home 目录
![](/icons/12dou2.gif)
例如
![](/icons/12dou.gif)
如果您
![](/icons/12de.gif)
登录名是 joe
![](/icons/12dou.gif)
那么目录 /home/joe 就是您
![](/icons/12de.gif)
个人文件库
/lib 用于基本
![](/icons/12de.gif)
系统库文件
![](/icons/12dou2.gif)
在现代 UNIX 中
![](/icons/12dou.gif)
通常共享系统库
![](/icons/12dou.gif)
这意味着并不是每个 2进制文件都链接和包括这些库(那样
![](/icons/12de.gif)
话
![](/icons/12dou.gif)
至少将会浪费空间)
![](/icons/12dou.gif)
但是当需要该库
![](/icons/12de.gif)
时候
![](/icons/12dou.gif)
按需要加载它
![](/icons/12dou.gif)
并且同时可以由许多应用
![](/icons/12chengxu.gif)
进行共享
![](/icons/12dou2.gif)
因此
![](/icons/12dou.gif)
和 UNIX
![](/icons/12yi.gif)
同安装
![](/icons/12de.gif)
核心应用
![](/icons/12chengxu.gif)
和实用工具
![](/icons/12de.gif)
运行都需要使用 /lib 中
![](/icons/12de.gif)
库
![](/icons/12dou.gif)
并且您至少需要拥有少量相应
![](/icons/12de.gif)
库文件
![](/icons/12dou.gif)
以便从源代码创建新
![](/icons/12de.gif)
可执行文件
![](/icons/12dou2.gif)
其中所有
![](/icons/12de.gif)
文件都是至关重要
![](/icons/12de.gif)
![](/icons/12dou.gif)
损坏或者删除(无论是有意
![](/icons/12de.gif)
还是无意
![](/icons/12de.gif)
)某个文件就可能使系统变得无法使用
/mnt 是“mount”
![](/icons/12de.gif)
缩写
![](/icons/12dou.gif)
是装入硬盘驱动器分区和其他设备
![](/icons/12de.gif)
标准位置
![](/icons/12dou2.gif)
如果您希望查看当前装入
![](/icons/12de.gif)
并且可访问
![](/icons/12de.gif)
所有设备
![](/icons/12dou.gif)
只需要运行
mount
命令
/tmp 或者“temporary”
![](/icons/12dou.gif)
是系统范围
![](/icons/12de.gif)
暂存存储区
![](/icons/12dou2.gif)
您
![](/icons/12de.gif)
Web 可能会将会话数据文件保存在这里
![](/icons/12dou.gif)
并且其他实用工具将使用 /tmp 中
![](/icons/12de.gif)
空间对中间结果进行缓存Cache
![](/icons/12dou2.gif)
通常认为 /tmp 中
![](/icons/12de.gif)
文件在使用后即被丢弃
![](/icons/12dou2.gif)
实际上
![](/icons/12dou.gif)
您
![](/icons/12de.gif)
系统管理员可能会在每天晚上删除其中比某个过期时间更早
![](/icons/12de.gif)
所有文件
/usr 用于存储大量文件
![](/icons/12dou2.gif)
最终用户应用
![](/icons/12chengxu.gif)
(从编辑器、游戏和接口
![](/icons/12dou.gif)
到系统特性)都位于其中
![](/icons/12dou.gif)
它是 man 页面和其他更多内容
![](/icons/12de.gif)
存储库
![](/icons/12dou2.gif)
有些文件很有价值
![](/icons/12dou.gif)
但并不是系统操作所必须
![](/icons/12de.gif)
![](/icons/12dou.gif)
那么您很可能会在 /usr 中找到它
/var 是“variable”
![](/icons/12de.gif)
简写
![](/icons/12dou.gif)
它是用于存储那些大小通常随时间而增大
![](/icons/12de.gif)
文件
![](/icons/12de.gif)
存储库
![](/icons/12dou2.gif)
可以在 /var 中找到邮箱、日志文件、打印机队列和数据库
![](/icons/12dou2.gif)
通常可以将 Web 站点保存在 /var 中
![](/icons/12dou.gif)
![](/icons/12yinwei.gif)
Web 站点可能会在
![](/icons/12yi.gif)
段时间后异常地累积大量
![](/icons/12de.gif)
数据
![](/icons/12dou2.gif)
以上是
![](/icons/12yi.gif)
些最常见
![](/icons/12de.gif)
目录名
![](/icons/12dou.gif)
尽管某些 UNIX 版本的间存在细微
![](/icons/12de.gif)
差异
![](/icons/12dou2.gif)
(例如
![](/icons/12dou.gif)
在基于 FreeBSD®
![](/icons/12de.gif)
Mac OS X 上
![](/icons/12dou.gif)
将包含用户
![](/icons/12de.gif)
home 目录
![](/icons/12de.gif)
目录命名为 /Users
![](/icons/12dou.gif)
而不是 /home
![](/icons/12dou2.gif)
)
=atitle>
保持传统
事实上
![](/icons/12dou.gif)
名称 etc、bin、lib 和 man 在 UNIX
![](/icons/12de.gif)
文化中是如此根深蒂固
![](/icons/12dou.gif)
以至于在计算机中
![](/icons/12de.gif)
其他地方使用相同
![](/icons/12de.gif)
名称来标注类似用途
![](/icons/12de.gif)
目录已经成为
![](/icons/12yi.gif)
种传统
![](/icons/12dou2.gif)
例如
![](/icons/12dou.gif)
如果您查看
![](/icons/12yi.gif)
位专家
![](/icons/12de.gif)
home 目录
![](/icons/12dou.gif)
您很可能会在其中发现 bin 和 lib 目录分别存储个人应用
![](/icons/12chengxu.gif)
以及脚本和个人库
UNIX
![](/icons/12de.gif)
命名约定:获取更多有关 UNIX
![](/icons/12de.gif)
命名约定
![](/icons/12de.gif)
信息
![](/icons/12dou.gif)
请参见附录 A:选择
![](/icons/12yi.gif)
个标准
![](/icons/12dou.gif)
任何标准部分
![](/icons/12dou2.gif)
同样地
![](/icons/12dou.gif)
/usr/local 中通常包括 etc、bin、lib、和 man
![](/icons/12dou2.gif)
在历史上
![](/icons/12dou.gif)
曾将 /usr/local 用于存储来自于您
![](/icons/12de.gif)
站点或者仅和您
![](/icons/12de.gif)
站点有密切关系
![](/icons/12de.gif)
应用
![](/icons/12chengxu.gif)
和数据
![](/icons/12dou2.gif)
/usr/local/bin 目录用于存储本地添加
![](/icons/12de.gif)
、新
![](/icons/12de.gif)
![](/icons/12chengxu.gif)
![](/icons/12dou.gif)
以及标准系统实用工具
![](/icons/12de.gif)
本地修改版本
![](/icons/12dou2.gif)
例如
![](/icons/12dou.gif)
您
![](/icons/12de.gif)
系统管理员可能在 /usr/local/bin/perl 中提供了 Perl
![](/icons/12de.gif)
最新和最好
![](/icons/12de.gif)
版本
![](/icons/12dou.gif)
同时保持 /usr/bin/perl 不变
![](/icons/12dou.gif)
以便进行引用
![](/icons/12dou.gif)
并且
![](/icons/12yinwei.gif)
其他
![](/icons/12de.gif)
核心实用工具可能仍然依赖于它
![](/icons/12dou2.gif)
/usr/local/lib 目录作为 /usr/local/bin
![](/icons/12de.gif)
补充
/usr/local 目录甚至可能是
![](/icons/12yi.gif)
个完全独立
![](/icons/12de.gif)
分区(甚至是通过网络文件系统从 Network Attached Storage [NAS] 设备装入
![](/icons/12de.gif)
分区)
![](/icons/12dou.gif)
这使得可以更容易地对系统进行数据恢复和恢复使用
![](/icons/12dou2.gif)
如果系统中发生了某种情况
![](/icons/12dou.gif)
管理员可以覆盖操作系统
![](/icons/12de.gif)
文件
![](/icons/12dou.gif)
而无需担心会破坏本地数据
甚至安装包也是用了类似
![](/icons/12de.gif)
目录结构
![](/icons/12dou2.gif)
例如 MySQL:如果使用了选项
--prefix=/usr/local/mysql,
进行配置
![](/icons/12dou.gif)
那么它将在 /usr/local 中创建它自己
![](/icons/12de.gif)
根目录
![](/icons/12dou.gif)
名为 /usr/local/mysql
![](/icons/12dou.gif)
并创建子目录 /usr/local/mysql/bin、/usr/local/mysql/lib 等等:
$ ls -1 /usr/local/mysql
bin/
configure*
data/
docs/
/
lib/
man/
...
或者
![](/icons/12dou.gif)
如果您希望将 MySQL
![](/icons/12de.gif)
内容安装到 /usr/local/bin、/usr/local/lib 和其他地方
![](/icons/12dou.gif)
可以使用
--prefix=/usr/local
=atitle>
其他有趣
内容
![](/icons/12yinwei.gif)
本文只是简要地介绍
![](/icons/12dou.gif)
所以让我们再安排
![](/icons/12yi.gif)
些其他有趣
![](/icons/12de.gif)
内容
=smalltitle>/etc
/etc 目录是寻找配置文件
![](/icons/12de.gif)
地方
![](/icons/12dou.gif)
这些配置文件通常以后缀 .conf 作为结束
![](/icons/12dou2.gif)
![](/icons/12yi.gif)
个较大
![](/icons/12de.gif)
包可能拥有它自己
![](/icons/12de.gif)
子目录
![](/icons/12dou.gif)
以便收集用于这个包
![](/icons/12de.gif)
所有配置文件
![](/icons/12dou2.gif)
Apache 是
![](/icons/12yi.gif)
个很好
![](/icons/12de.gif)
例子;特别是
![](/icons/12dou.gif)
Apache V2.2 已经重新组织了它
![](/icons/12de.gif)
配置文件
![](/icons/12dou.gif)
使其更具模块化
![](/icons/12dou.gif)
并具有更少
![](/icons/12de.gif)
独立性
另
![](/icons/12yi.gif)
个新颖
![](/icons/12de.gif)
内容是 /etc/init.d
![](/icons/12dou.gif)
其中包含当您
![](/icons/12de.gif)
系统启动时运行
![](/icons/12de.gif)
许多启动脚本
![](/icons/12dou2.gif)
如果您希望干净地重新启动
![](/icons/12yi.gif)
个守护进程
![](/icons/12dou.gif)
例如
![](/icons/12dou.gif)
在更改它
![](/icons/12de.gif)
配置的后
![](/icons/12dou.gif)
可以在 /etc/init.d 中查找同名
![](/icons/12de.gif)
脚本
![](/icons/12dou2.gif)
例如
![](/icons/12dou.gif)
要重新启动 Postfix 邮件传送代理(MTA)
![](/icons/12dou.gif)
您可以运行:
$
=boldcode>/etc/init.d/postfix restart
/etc/init.d 还包含切换到单用户模式
![](/icons/12de.gif)
脚本
![](/icons/12dou.gif)
以便重新启动并关闭计算机
![](/icons/12dou.gif)
并禁止登录
=smalltitle>/var/spool
如前所述
![](/icons/12dou.gif)
/var 保存了那些大小可能随时间增大和缩小
![](/icons/12de.gif)
文件
![](/icons/12dou2.gif)
和 /
![](/icons/12yi.gif)
样
![](/icons/12dou.gif)
可以将 /var 划分为若干个子目录
![](/icons/12dou.gif)
每个子目录都有其自身
![](/icons/12de.gif)
方案:
/var/spool/mail 是寻找您和其他用户
![](/icons/12de.gif)
传入邮件
![](/icons/12de.gif)
地方
![](/icons/12dou2.gif)
您
![](/icons/12de.gif)
邮箱是
![](/icons/12yi.gif)
个简单
![](/icons/12de.gif)
平面(连续
![](/icons/12de.gif)
、非索引
![](/icons/12de.gif)
)文件(除非您
![](/icons/12de.gif)
系统管理员正在使用 maildir 格式)
![](/icons/12dou2.gif)
传入邮件追加到文件
![](/icons/12de.gif)
尾部
![](/icons/12dou2.gif)
您所丢弃
![](/icons/12de.gif)
邮件将从该文件中删除;并且当您读取
![](/icons/12yi.gif)
条新
![](/icons/12de.gif)
消息时
![](/icons/12dou.gif)
将会更改并重写已有
![](/icons/12de.gif)
消息状态字段
![](/icons/12dou2.gif)
您可以读写您自己
![](/icons/12de.gif)
邮箱
![](/icons/12dou.gif)
但是可以通过权限防止您访问其他用户
![](/icons/12de.gif)
邮箱
![](/icons/12dou2.gif)
(建议您不要直接编辑您
![](/icons/12de.gif)
邮箱
![](/icons/12dou2.gif)
)
/var/log 保存了
![](/icons/12yi.gif)
套系统日志文件
![](/icons/12dou.gif)
或者记录系统活动
![](/icons/12de.gif)
文件
![](/icons/12dou2.gif)
这些日志记录了所有
![](/icons/12de.gif)
活动
![](/icons/12dou.gif)
从邮件通信到失败
![](/icons/12de.gif)
登录尝试
![](/icons/12dou2.gif)
通常
![](/icons/12dou.gif)
每个守护进程都拥有自己
![](/icons/12de.gif)
日志文件
![](/icons/12dou.gif)
这使得当
![](/icons/12yi.gif)
个服务失败时很容易搜寻所发生
![](/icons/12de.gif)
问题
![](/icons/12dou2.gif)
![](/icons/12yinwei.gif)
可以显示系统活动
![](/icons/12dou.gif)
所以对日志文件
![](/icons/12de.gif)
访问通常会受到限制
![](/icons/12dou.gif)
只有超级用户才可以访问
如果您
![](/icons/12de.gif)
系统提供了集中
![](/icons/12de.gif)
传真服务
![](/icons/12dou.gif)
那么 /var/spool 还将对这些请求进行排队
=smalltitle>/usr/man
用于您
![](/icons/12de.gif)
UNIX 系统
![](/icons/12de.gif)
核心 man 页面位于 /usr/man 中
![](/icons/12dou2.gif)
还可以在 /usr/local/man 和包
![](/icons/12de.gif)
man 目录(如 /usr/local/mysql5/man)中找到 man 页面
![](/icons/12de.gif)
扩展集合
![](/icons/12yinwei.gif)
man 页面可能像可执行文件那样存放于许多区别
![](/icons/12de.gif)
地方
![](/icons/12dou.gif)
所以 man
![](/icons/12chengxu.gif)
支持和 PATH 工作方式相同
![](/icons/12de.gif)
环境变量 MANPATH
![](/icons/12dou2.gif)
要在多个位置搜索
![](/icons/12yi.gif)
个特定
![](/icons/12de.gif)
页面
![](/icons/12dou.gif)
可以将 MANPATH 定义为
![](/icons/12yi.gif)
系列 man 页面目录:
MANPATH="/usr/man"
MANPATH="/usr/local/man:$MANPATH"
MANPATH="/usr/local/mysql/man:$MANPATH
MANPATH="$HOME/man:$MANPATH"
export MANPATH
在该举例中
![](/icons/12dou.gif)
首先 搜索 $HOME/man(它在最左边
![](/icons/12dou.gif)
或者最前面)
![](/icons/12dou.gif)
随后是 /usr/local/mysql/man
![](/icons/12dou.gif)
依此类推
![](/icons/12dou2.gif)
顺便说
![](/icons/12yi.gif)
下
![](/icons/12dou.gif)
可以将上面
![](/icons/12de.gif)
前 4个命令简化为下面
![](/icons/12de.gif)
语句:
MANPATH="/usr/man:/usr/local/man:\
/usr/local/mysql/man:$HOME/man"
然而
![](/icons/12dou.gif)
将附加
![](/icons/12de.gif)
目录隔离开来
![](/icons/12dou.gif)
将允许您快速地对条目进行重新排序
![](/icons/12dou.gif)
并轻松地添加新
![](/icons/12de.gif)
目录
![](/icons/12dou2.gif)
而且
![](/icons/12dou.gif)
如果存在许多路径
![](/icons/12dou.gif)
编辑后面
![](/icons/12de.gif)
MANPATH(通过扩展 PATH)变量将变得使人乏味
=smalltitle>
包含文件
包含文件(或者头文件)定义了在操作系统中或特定
![](/icons/12de.gif)
库中使用
![](/icons/12de.gif)
常量、宏以及其他结构
![](/icons/12dou2.gif)
不需要重新定义
![](/icons/12yi.gif)
个特定
![](/icons/12de.gif)
结构
![](/icons/12dou.gif)
您只需要将头文件“包含”在您
![](/icons/12de.gif)
代码(代码重用
![](/icons/12de.gif)
![](/icons/12yi.gif)
种简单形式)中
![](/icons/12dou.gif)
并按照头文件中
![](/icons/12de.gif)
规范标准编写代码
![](/icons/12dou2.gif)
(man 中
![](/icons/12de.gif)
第 2 部分和第 3 部分就专门用于这样
![](/icons/12de.gif)
规范标准;例如
![](/icons/12dou.gif)
可以尝试
man 2 signal
![](/icons/12dou2.gif)
)
和 bin 和 lib 类似
![](/icons/12dou.gif)
![](/icons/12include.gif)
是
![](/icons/12yi.gif)
个常见
![](/icons/12de.gif)
目录名
![](/icons/12dou2.gif)
如果
![](/icons/12yi.gif)
个包提供了开发工具包
![](/icons/12dou.gif)
并且您已经将这个包安装到了它自己
![](/icons/12de.gif)
根目录
![](/icons/12dou.gif)
那么可以在
![](/icons/12include.gif)
子目录中找到相应
![](/icons/12de.gif)
头文件
或者
![](/icons/12dou.gif)
如果您已经将包安装到了公共
![](/icons/12de.gif)
/usr/local/{bin、lib、
![](/icons/12include.gif)
} 目录中
![](/icons/12dou.gif)
那么可以在 /usr/local/
![](/icons/12include.gif)
中根据这个包进行命名
![](/icons/12de.gif)
子目录中找到包
![](/icons/12de.gif)
头文件
![](/icons/12dou2.gif)
这是将所有
![](/icons/12de.gif)
内容保存到
![](/icons/12yi.gif)
个公共地方
![](/icons/12de.gif)
例外情况
![](/icons/12dou2.gif)
为什么呢?头文件
![](/icons/12de.gif)
命名不是唯
![](/icons/12yi.gif)
![](/icons/12de.gif)
![](/icons/12dou.gif)
所以将所有
![](/icons/12de.gif)
内容安装到
![](/icons/12yi.gif)
个地方将会导致冲突
![](/icons/12dou.gif)
![](/icons/12yi.gif)
个包有可能覆盖另
![](/icons/12yi.gif)
个包
![](/icons/12de.gif)
头文件
如果您从源代码构建应用
![](/icons/12chengxu.gif)
(您将在后面
![](/icons/12de.gif)
部分中对其进行深入研究)
![](/icons/12dou.gif)
并且头文件位于
![](/icons/12yi.gif)
个非标准
![](/icons/12de.gif)
位置
![](/icons/12dou.gif)
那么您可能需要在编译器命令中添加
-I
选项
![](/icons/12dou2.gif)
作为
![](/icons/12yi.gif)
个举例
![](/icons/12dou.gif)
如果您
![](/icons/12de.gif)
ImageMagick 头文件位于 /opt/
![](/icons/12include.gif)
/magick 中
![](/icons/12dou.gif)
添加
-I/opt/
/magick
作为编译器
![](/icons/12de.gif)
开关
=atitle> 非常深入地了解它
即将结束今天
![](/icons/12de.gif)
UNIX 旅行
![](/icons/12dou2.gif)
现在
![](/icons/12dou.gif)
您可以更容易地穿越 UNIX
![](/icons/12de.gif)
小路和背街了
![](/icons/12dou2.gif)
如果您迷路了
![](/icons/12dou.gif)
只需要说“家
![](/icons/12dou.gif)
家
![](/icons/12dou.gif)
家”(不要被 猎户星座 所欺骗)或者输入
cd
即可
![](/icons/12dou2.gif)
请记住
![](/icons/12dou.gif)
您还可以使用
find
和
locate
来查找大多数文件
![](/icons/12dou.gif)
包括可执行文件、库和包含文件
=atitle>附录 A:选择
![](/icons/12yi.gif)
个标准
![](/icons/12dou.gif)
任何标准
您
![](/icons/12de.gif)
UNIX 操作系统附带
![](/icons/12de.gif)
软件Software位于文件系统中适当
![](/icons/12de.gif)
位置(可能存储在 /bin 或者 /lib 中
![](/icons/12de.gif)
)
![](/icons/12dou.gif)
而本地添加
![](/icons/12de.gif)
软件Software则可能位于许多区别
![](/icons/12de.gif)
位置
![](/icons/12dou2.gif)
某些系统管理员将本地软件Software放在 /usr/local 中
![](/icons/12dou.gif)
而其他
![](/icons/12de.gif)
系统管理员则使用 /opt 或者“optional”
![](/icons/12dou.gif)
![](/icons/12yinwei.gif)
运行系统并不需要该软件Software
![](/icons/12dou2.gif)
而且
![](/icons/12dou.gif)
某些管理员会转储 /usr/local/bin 或 /opt/bin 中所有
![](/icons/12de.gif)
可执行文件、/usr/local/lib 或 /opt/lib 中所有
![](/icons/12de.gif)
库
![](/icons/12dou.gif)
等等
另
![](/icons/12yi.gif)
种思路方法(这是我更喜欢
![](/icons/12de.gif)
范例)是为每
![](/icons/12yi.gif)
个本地添加
![](/icons/12de.gif)
包创建
![](/icons/12yi.gif)
个根目录
![](/icons/12dou.gif)
特别是在这个包很大
![](/icons/12de.gif)
情况下
![](/icons/12dou2.gif)
例如
![](/icons/12dou.gif)
我将 MySQL V5 安装到 /usr/local/mysql5.0
![](/icons/12dou.gif)
将 Apache V2.2 安装到 /usr/local/apache2.2
![](/icons/12dou2.gif)
每个包
![](/icons/12de.gif)
安装
![](/icons/12chengxu.gif)
都会在包
![](/icons/12de.gif)
根目录中创建它自己
![](/icons/12de.gif)
bin、lib 和 man 目录
这种思路方法有
![](/icons/12yi.gif)
个缺点
![](/icons/12dou.gif)
每个最终用户必须向他或她
![](/icons/12de.gif)
PATH 环境变量中添加许多 bin 目录
![](/icons/12dou2.gif)
并且当这
![](/icons/12yi.gif)
需求并不是特别复杂时
![](/icons/12dou.gif)
通过在系统范围
![](/icons/12de.gif)
Shell 启动文件中扩展缺省
![](/icons/12de.gif)
PATH 设置
![](/icons/12dou.gif)
就可以解决这个问题
![](/icons/12dou2.gif)
例如
![](/icons/12dou.gif)
Bash 系统范围启动脚本 /etc/profile
![](/icons/12dou.gif)
可能包含:
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
然而
![](/icons/12dou.gif)
将
![](/icons/12yi.gif)
个包存储在它自己
![](/icons/12de.gif)
“容器”中
![](/icons/12dou.gif)
这是很有好处
![](/icons/12de.gif)
:
哪个包提供了特定
![](/icons/12de.gif)
应用
![](/icons/12chengxu.gif)
![](/icons/12dou.gif)
这是显而易见
![](/icons/12de.gif)
![](/icons/12dou2.gif)
遵循这
![](/icons/12yi.gif)
分类系统
![](/icons/12dou.gif)
您可以使用
which
命令找到包
![](/icons/12de.gif)
名字:
$
=boldcode>which mysql/usr/local/mysql5.0/bin/mysql
您可以同时保留同
![](/icons/12yi.gif)
个包
![](/icons/12de.gif)
区别版本
![](/icons/12dou2.gif)
例如
![](/icons/12dou.gif)
如果您希望提供 Perl V5.6 和 Perl V5.8
![](/icons/12dou.gif)
可以将前者安装到 /usr/local/perl5.6
![](/icons/12dou.gif)
将后者安装到 /usr/local/perl5.8
![](/icons/12dou2.gif)
每个用户都可以通过改变 PATH 变量
![](/icons/12dou.gif)
来选择
![](/icons/12yi.gif)
个 Perl 版本
您可以同时保留区别
![](/icons/12de.gif)
版本
![](/icons/12dou.gif)
但是可以通过使用符号链接
![](/icons/12dou.gif)
使得缺省情况下对应于某
![](/icons/12yi.gif)
个特定
![](/icons/12de.gif)
版本
![](/icons/12dou2.gif)
只需创建
![](/icons/12yi.gif)
个到您希望提供
![](/icons/12de.gif)
包
![](/icons/12de.gif)
版本
![](/icons/12de.gif)
符号链接即可
![](/icons/12dou2.gif)
例如
![](/icons/12dou.gif)
假定您提供了前面介绍
![](/icons/12de.gif)
两个 Perl 版本
![](/icons/12dou2.gif)
如果您希望将 Perl V5.8 作为缺省值
![](/icons/12dou.gif)
可以创建
![](/icons/12yi.gif)
个到 /usr/local/perl5.8
![](/icons/12de.gif)
符号链接
![](/icons/12dou.gif)
并将它命名为 perl:
$
=boldcode>ls -1 /usr/local/perl*perl5.6perl5.8$
=boldcode>sudo ln -s /usr/local/perl5.8 \
/usr/local/perl$
=boldcode>ls -1 -F /usr/local/perl*perl5.6/perl5.8/perl@
最终用户现在可以添加
/usr/local/perl/bin
到他或她
![](/icons/12de.gif)
PATH 变量以运行
perl
命令
![](/icons/12dou2.gif)
如果您最后需要或者希望切换到
![](/icons/12yi.gif)
个更新
![](/icons/12de.gif)
或者更旧
![](/icons/12de.gif)
Perl 版本
![](/icons/12dou.gif)
那么您只需删除该符号链接
![](/icons/12dou.gif)
并重新创建
![](/icons/12yi.gif)
个指向区别目录
![](/icons/12de.gif)
符号链接即可
对于这样
![](/icons/12de.gif)
维护任务
![](/icons/12dou.gif)
符号链接是非常重要
![](/icons/12de.gif)
![](/icons/12dou2.gif)
您可以维护变量、变更路径
![](/icons/12dou.gif)
并为方便访问构建集合
![](/icons/12dou2.gif)
例如
![](/icons/12dou.gif)
您可以在传统
![](/icons/12de.gif)
/usr/local/bin 目录中填入链接到其他包中
![](/icons/12de.gif)
命令
![](/icons/12de.gif)
符号链接
![](/icons/12dou.gif)
如
ln -s /usr/local/perl/bin/perl /usr/local/bin/perl
![](/icons/12dou2.gif)
(是
![](/icons/12de.gif)
![](/icons/12dou.gif)
您可以创建指向另
![](/icons/12yi.gif)
个符号链接
![](/icons/12de.gif)
符号链接
![](/icons/12dou2.gif)
)
延伸阅读
- 2011-2-21-- zfs文件系统,国内首款Sun ZFS文件系统数据恢复软件研制成功
- 2011-2-15-- 种子分享系统,BarracudaDrive 4.5 发布,文件分享系统
- 2010-12-15-- ntfs文件系统,NTFS提高系统性能
- 2010-12-8-- xp系统优化方法,WindowsXP的NTFS文件系统优化方法
- 2011-2-14-- 文件系统,文件系统(二)
- 2011-1-26-- ntfs文件系统,MeeGo操作系统内核对NTFS文件系统的支持情况
- 2010-12-8-- 文件系统,详细介绍Windows操作系统的几种文件系统
- 2010-12-8-- 文件系统性能测试,充分发挥系统性能系统安装时文件系统的选择
- 2011-2-21-- zfs文件系统,国内首款Sun ZFS文件系统数据恢复软件研制成功
- 2011-2-11-- 文件系统raw,文件系统
最新评论