您的位置:首页 > 运维架构 > Linux

linux目录及重要文件(持续更新)

2017-05-11 21:42 288 查看

linux目录及重要目录文件详细解析

第一部分 linux根目录及其子目录

1.1概览

1.2根目录及子目录详细解析

目录内容
/根文件系统的内容必须足以启动、还原、恢复和/或修复系统。
要启动系统,根分区上必须存在足以挂载其他分区的内容。这包括工具、配置、引导装载程序信息 和其他启动必需的数据。/usr、/opt和/var的设计使得它们可以位于其他的分区或文件系统。
要能够恢复根/或修复系统,诊断和重建损坏系统所需要的工具必须放置在根文件系统中。
要还原系统,从系统备份(软盘、磁带等等)还原的工具必须放置在根文件系统中
/binbin(binary缩写)文件夹存放必需的用户命令二进制文件,即在单用户模式下非root权限用户也可以使用的命令。例如,cat,cp,date,echo,ls,mv等等。
/boot存放引导载入程序的静态文件。包括:系统内核kernel的配置文件;
启动管理程序GRUB的目录;
系统启动时的模块供应的主要来源;
系统Kernel中的变量对应表;
系统内核。
/dev/dev(device缩写)文件夹存放设备文件。一个文件指向一个系统设备,用户的程序可以通过使用这些设备文件,对真实的硬件设备进行访问操作。
/etc存放系统配置文件,几乎所有配置文件都存放于/etc目录下。
/home非root用户家目录。创建一个非root用户时,/home目录下也会相应的创建一个/home/用户名的目录,用于存放用户自己的数据。
/lib、/lib64Lib(libraries的缩写)目录存放必须的共享库和内核模块。
/media可移动媒介(如软盘、光盘和zip磁盘)挂载点。历史上有多个不同的地方用来挂载可移动媒质,如 /cdrom 、/mnt 或 /mnt/cdrom。将可移动媒质的挂 载点直接放置在根文件夹下可能导致 / 下大量的额外文件夹。尽管以 /mnt 下的文件夹作为挂载点近来变得普遍,但是比这更早是直接使用/mnt 作为临时挂载点。
/mnt临时挂载文件的挂载点。为了使系统管理员能够在需要时临时地挂载某个文件系统。
/opt保留用于安装外部应用程序软件包。要安装在/opt 中的软件包,必须将其静态文件放置在单独的一个/opt/<package>或 /opt/<provider>文件夹树下,其中<package>是描述软件包的名称,<provider>是软件提供者的Linux分配名称和数字授权(LANANA)的注册名称。
/rootroot用户默认家目录(也称,主文件夹)。root账户的主文件夹可以由开发者或本地偏好设置来决定,但这是推荐的默认位置。
/sbin存放系统二进制文件。系统管理员使用的工具(和其他有 root 使用权限的命令)保存在/sbin、/usr/sbin 和 /usr/local/sbin中。/sbin包含除了/bin中之外其他的启动、还原、恢复和修复系统所必需的二进制文件。在已知/usr 已经挂载(并且没有问题)的情况下执行的程序通常位于 /usr/sbin下。本地安装的系统管理程序应该位于/usr/local/sbin下。
/srv存放系统提供服务的特定站点的数据。规定这一目录的目的是使用户可以找到特定服务的数据文件的位置,因而要求单独的树来存放只读 数据、可写数据和脚本(如 cgi 脚本)的服务可以放这里。只与某位用户相关的数据应该放入该用户 的主文件夹下。/srv 下子文件夹的命名方法尚未规定,因为目前还没有就这方面规定的一致意见。对 /srv 下数据进 行归类的一个办法是按协议,如 /srv/ftp 、 /srv/rsync 、 /srv/www 和 /srv/cvs 。
/tmp/tmp文件夹必须能够为要求临时文件的程序使用。 程序必须假设/tmp中的任何文件或文件夹仅用于在程序中引用。尽管 /tmp 中的文件可以站点指定的方式保存,我们依然建议在每次系统启动时删除 /tmp 下的文件 和文件夹。
/usr存放可共享的只读数据。专门存放各种程序和数据。
/var/var文件夹存放可变数据文件。这包括spool文件夹和文件、管理和日志数据,及过渡和临时文件。/var中有一些部分不能在不同的系统间共享。例如,/var/log和/var/run。另外的部分可以共享,尤其像/var/mail/、var/cache/man、/var/cache/fonts 和/var/spool/news。

第二部分 linux中重要文件分析

FHS(Filesystem Hierarchy Standard)文件系统层次标准给出一些重要目录建立的参考标准,详细的参考文献在本文后上传的FHS的英文版和中文版(由Yinghua Wang翻译, wantinghard@gmail.com)的PDF文档里,若有需要,可以在下方下载。这里主要介绍一些对运维来说比较重要的目录文件。

2.1 /boot 引导装载程序的静态文件

文件说明
/boot/config系统内核kernel的配置文件
/boot/initramfs系统启动时提供暂时的虚拟根文件系统
/boot/vmlinuz系统内核文件
/boot/System.map系统Kernel中的变量对应表
/boot/grub/grub.conf启动管理程序GRUB的配置文件
/boot/grub/stage1主引导扇区(MBR)的备份文件
/boot/grub/*_stage1_5连接stage1到stage2的一个通道,里面唯一存放的是该系统文件的格式
/boot/grub/stage2是GRUB的核心程序,它的主要功能是:提供菜单
读取配置文件
连接下一个boot sector

2.2 /dev 设备文件:分为块设备文件(b)和字符设备文件(c)

文件说明
/dev/sd[a-z]SCSI设备
/dev/fd标准软驱
/dev/console控制台
/dev/loop本地回环设备
/dev/md软raid设备
/dev/ram内存
/dev/tty虚拟终端
/dev/ttyS串口
/dev/lp并口

/etc 系统配置文件

文件说明
/etc/exportsNFS文件系统访问控制表。
/etc/fstab文件系统的静态信息。开机自动挂载的文件系统。
/etc/group用户组文件,与passwd类似,只是说明对象是组。
/etc/host.conf解析器配置文件。
/etc/hosts有关主机名的静态信息。
/etc/inittabinit的配置文件,设置系统运行级别,加载启动相关配置。
/etc/issue预登录消息,即认证前的输出信息,默认输出内核版本信息。
/etc/moth认证后的输出信息。
/etc/passwd用户数据库,保存用户名、家目录、加密口令等等的账户信息。
/etc/profile全局系统环境配置变量
/etc/resolv.confDns服务器的配置文件。标识dns域名服务器主机的位置,使用TCP/IP协议的时候需要通过DNS服务将因特网上的主机名装换为ip地址。
/etc/rsyslog.conf系统日志文件的配置信息。
/etc/rc /etc/rc.d/etc/rc*.d启动或改变运行级别时运行的scripts或scripts目录
/etc/shadow/etc/gshadow安装影子口令软件的系统的影子加密口令文件。文件将/etc/passwd文件中的加密口令移动到/ec/shadow中,而后者只对root可读
/etc/skel默认创建用户时,把该目录拷贝到家目录下
/etc/sudoers设置通过sudo命令,可以让用户运行一些本无权运行的命令可以设置某用户可使用root权限。

2.3 /proc 伪文件系统(存在于内存中),为访问系统内核数据的操作提供接口

目录说明
/proc/cpuinfo关于cpu的信息,如类型、厂商、型号和性能参数。
/proc/filesystems系统已加载的文件系统。
/proc/meminfo内存的相关信息。
/proc/modules系统已加载的内核模块。
/proc/mounts系统已挂载的设备或文件系统。
/proc/partitions系统的分区情况。
/proc/swaps交换分区swap的信息。

2.4 /sys 以拓扑结构表示linux资源

文件说明
/sys/block存放指向在 /sys/devices/ 中真实设备的符号链接文件。
/sys/dev存放字符设备和块设备文件,以主次设备号排列。
/sys/devices以树形结构存放系统所有的设备文件。
/sys/bus内核设备按照总线类型分层放置的目录结构,/sys/devices中的所有设备都是连接于某种总线之下的,bus子目录下的每种具体总线之下可以找到每个具体设备的符号链接,一般来说每个子目录(总线类型)下包含两个子目录,一个是devices,另一个是drivers;其中devices下是这个总线类型下的所有设备,这些设备都是符号链接,它们分别指向真正的设备(/sys/devices/name/下);而drivers下是所有注册在这个总线上的驱动,每个driver子目录下是一些可以观察和修改的driver参数。
/sys/class包含所有注册在kernel里面的设备类型,按照设备功能分类的设备模型,每个设备类型表达具有一种功能的设备。每个设备类型子目录下都是这种设备类型的各种具体设备的符号链接,这些链接指向/sys/devices/name下的具体设备。设备类型和设备并没有一一对应的关系,一个物理设备可能具备多种设备类型;一个设备类型只表达具有一种功能的设备,比如:系统所有输入设备都会出现在/sys/class/input之下,而不论它们是以何种总线连接到系统的。(/sys/class也是构成linux统一设备模型的一部分)
/etc/firmware包含对固件对象(firmware object)和属性进行操作和观察的接口,即这里是系统加载固件机制的对用户空间的接口.(关于固件有专用于固件加载的一套API)
/etc/fs描述系统中所有的文件系统,包括文件系统本身和按照文件系统分类存放的已挂载点。
/etc/kernel存放内核中所有可调整的参数
/etc/module系统中所有的模块信息,不论这些模块是以内联(inlined)方式编译到内核映像文件中还是编译为外模块(.ko文件),都可能出现在/sys/module中。即module目录下包含了所有的被载入kernel的模块。
/etc/power系统中的电源选项,对正在使用的power子系统的描述。

2.5 /usr 存放各种程序和数据

文件目录
/usr/bin存放非必需用户命令二进制文件
/usr/share包含了各种程序间的共享文件,如字体,图标,文档等。
/usr/srcLinux 内核的源码和说明文档等
/usr/local主要存放那些手动安装的软件。它和/usr目录具有相类似的目录结构 。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面。

2.6 /var 可变数据文件。包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。

文件目录
/var/log存放系统和各种服务的日志文件
/var/log/messages系统日志信息,包含系统启动期间的日志。
/var/log/dmesg内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。
var/log/boot.log系统启动时的日志。
/var/log/yum.log使用yum安装的软件包信息。
/var/secure-日期验证和授权方面信息。
/var/log/wtmp记录登陆者信息,是last、who命令的信息来源。
/var/log/mail-日期邮件服务器的额外日志。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 目录 etc