Posts Tagged ‘目录规范’
Ubuntu Linux目录使用规范
FHS组织(Filesystem Hierarchy Standard Group)已经制定了Linux下文件目录的初步规范,可以参考Wiki上的内容
更全面的FHS2.3的规范说明,可以看这里
由于有众多的bin目录,比较容易混淆,再补充说明一下:
1. sbin和bin的区别:
sbin中的可执行文件,一般是提供其他程序或是脚本进行调用的,正常情况下,很少在命令行模式下手工输入。而且sbin中的命令通常都是root only的。
bin中的可执行文件相反,通常可以而且经常会在在termianl中输入,用以系统维护。一般都可以在屏幕上显示运行后的反馈,可以进行管道连接的操作。
2. 关于bin和sbin的位置, 有可能出现的在/, /usr, /usr/local三个级别上,含义都不同:
1) /bin, /sbin: 随Linux核心一起发行,一般不会需要改动,是建立Linux核心运行环的基本命令,其中有些版本过于老旧的命令,可能会被/usr/bin和/usr/local/bin中的命令覆盖
2) /usr/bin, /usr/sbin: 这是Linux的命令最丰富的目录:一般由各个发行版,比如Ubuntu, CentOS,提供的各种package所运行的命令都在这里,通常都是通过apt-get或是yum得到的。由于这两个目录,尤其是/usr/bin非常庞大,通常应该藉由操作系统的package管理命令,比如apt-get或者yum等进行维护,除非万不得已,否则不要手工修改这两个目录
3) /usr/local/bin,/usr/local/sbin: 用户自己手工编译的程序
偶尔需要某些比较新的程序包,或是不在源里的包,可以把相关的source、bin都放在/usr/local/下,这样系统自动更新的时候不会受影响,而且便于进行一目了然的管理
关于/opt:
按照我的理解,这里主要方大型的非Linux发行版的程序,比如matlab, maya等
关于/usr/share, /usr/local/share, 存放静态的文本,数据,脚本,比如Man,GeoIP的数据库
/var/lib比较特殊,不是存放library的,而是存放应用程序的一些状态文件,比如mysql的数据库,awstats的分析结果等等