标准Linux文件系统层次标准(Filesystem Hierarchy Standard)基本篇

本文详细介绍了Linux操作系统中根目录、用户基本命令、设备文件、主机特定系统文件、库文件、基础系统二进制文件等关键组件的存放位置与功能。包括内核文件命名、/bin目录下的常用命令、/dev目录下的设备文件、/etc目录下的配置文件、/lib目录下的库文件分类、/sbin目录下的系统命令等。

        / : 根目录

       一个Linux操作系统,如果内核在根目录下,我们建议内核的名字命名为vmlinuxvmlinuz,该命名方式的内核已经在最近的Linux内核源码包里用了。

 

        /bin : 用户基本命令二进制文件(被所有用户使用)

       Linux系统需要将以下额外的文件放在/bin中: Setserial

 

       /dev : 设备文件和特殊文件

       下面设备必须存在于/dev下。

       /dev/null

       所有写入这个设备的数据都被丢弃。从该设备读数据将返回EOF

       /dev/zero

该设备是一个归零的数据源。所有写入这个设备的数据都被丢弃。读取该设备将返回和请求一样多的零值。

/dev/tty

该设备是一个进程的控制终端的代名词。一旦该设备被打开,所有的读和写操作就像操作一个实际的控制终端一样。

 

    /etc : 主机特定的系统文件

       Linux系统需要将以下额外的文件放在/etc中: Lilo.conf

 

        /lib64/lib32 : 6432位库文件(架构相关)

       64位架构的PPC64, s390x, sparc64, AMD6464位库文件放在/lib64下,32位(或s390上的31位库)库文件放在/lib下。

       64位架构的IA64必须放置它的64位库在/lib下。

 

        /sbin : 基础的系统二进制文件

       Linux系统需要将以下额外的文件放在/sbin中。 

        第二文件系统扩展命令。

        badblocks

        dumpe2fs

        e2fsck

        mke2fs

        mklost+found

        tune2fs

        引导加载图安装器(可选)

        Lilo

        

        /sbin的可选文件

        静态二进制文件

        ldconfig

        sln

        ssync

静态ln(sln)和静态sync(ssync)是很有用的,在其他东西发生错误时。Sln的主要用途(用于修复不良的更新导致的符号链接出错)不是现在主要关心的,ldconfig的存在能扮演升级动态库的指导者。静态sync在一些紧急情况时是很有用的。请注意,标准的lnsync不需要被静态链接的版本,但是也可能需要。

/sbin下的ldconfig二进制文件是可选的,因为机器可能选着在启动的时候运行ldconfig,而不是只有在更新了共享库之后才运行(对于启动时运行ldconfig是否是有利的不得而知)。即便如此,很多人还是喜欢运行ldconfig当以下情况发生时。

刚刚删除/lib/<file>文件。我得不到库文件的名称,因为ls是一个动态链接,并且我用的shell没有ls命令,然而我又不知道用”echo *”来代替ls命令。我有一个静态sln,但是我不知道什么调用这个链接。

杂项

Ctrlaltdel

Kbdrate

为了应付键盘出现不可用的情况,在一些系统中kbdrate也许被安装在/sbin中。 因为内核在按ctrl-alt-del组合键的默认动作是即时硬启动,所以通常在以读写模式挂载根文件系统之前禁止即时硬启动操作。一些init进程禁止Ctrl-Alt-Del,但其他人也许需要ctrlaltdel程序,那么它应该安装在/sbin中。

 

        /usr/include : C程序包含的头文件

       如果安装了CC++编译器,并且系统不是基于Glibc那么一下符号链接是被需要的。

       /usr/include/asm -> /usr/src/linux/include/asm-<arch>

       /usr/include/linux -> /usr/src/linux/include/linux

 

        /usr/src : 源代码

       如果系统是基于glibc,这里没有明确的准则关于本目录。

       如果系统是基于glibc的以前版本linux libc,那么就有以下准则和基本应用。

       只有Linux的内核源码应该放在一个特定位置/usr/src/linux

       如果安装了CC++编译器,但是没有完整的内核源代码,那么内核源代码的头文件应该被放到一下目录。

              /usr/src/linux/include/asm-<arch>

              /usr/src/linux/include/linux

       <arch>是系统架构的名称。

       注意:

       /usr/src/linux也许是内核源代码树的一个符号链接。

       根据:

       内核头文件被放在/usr/src/linux而不是/usr/include是很重要的,就因为如此当系统管理员第一次更新内核版本的时候不会出现问题。

 

    /var/spool/cron : cron  at 程序

       该目录包含cronat程序的可变数据。

转自:http://blog.youkuaiyun.com/zhou_2008/article/details/6124908

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值