linux目录结构及命名规则

1、Linux系统不同的目录可以分布在不同的分区或者不同的硬盘设备上,这是windows难以做到的。目录和磁盘分区没有关联。
2、挂载点是系统进入设备的入口。如mount /dev/cdrom /mnt就是把/mnt与/dev/cdrom联系起来。
3、所有的目录都是按照一定的类别有规律的组织和命名的。FHS(目录层次结构)是Linux的目录规范标准。
[FHS(目录层次结构)]http://www.pathname.com/fhs/


linux目录结构及命名规则_第1张图片
929540-20161123100618971-1899025714.png

Filesystem Hierarchy Standard

/bin:所有用户可用的基本命令程序文件;
/sbin:供系统管理使用的工具程序;
/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;
/dev:存储特殊文件或设备文件; 设备有两种类型:字符设备(线性设备)、块设备(随机设备);
/etc:系统程序的配置文件,只能为静态;
/home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;
/root:管理员的家目录;可选;
/lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块

  • libc.so.*:动态链接的C库;

  • ld*:运行时链接器/加载器;

  • modules:用于存储内核模块的目录;
    /lib64:64位系统特有的存放64位共享库的路径;
    /media:便携式设备挂载点,cdrom, floppy等;
    /mnt:其它文件系统的临时挂载点;
    /opt:附加应用程序的安装位置;可选路径;
    /srv:当前主机为服务提供的数据;
    /tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;
    /usr:usr Hierarchy,全局共享的只读数据路径;

  • bin, sbin

  • lib, lib64

  • include:C程序头文件;

  • share:命令手册页和自带文档等架构特有的文件的存储位置

  • local:另一个层级目录;

  • X11R6:X-Window程序的安装位置

  • src:程序源码文件的存储位置
    /usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;
    /var:/var Hierarchy,存储常发生变化的数据的目录;
    cache Application cache data
    lib Variable state information
    local Variable data for /usr/local
    lock Lock files
    log Log files and directories
    opt Variable data for /opt
    run Data relevant to running processes
    spool Application spool data
    tmp Temporary files preserved between system reboots
    /proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;
    /sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口;
    参考:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/


Linux系统中常见目录功能如下:

 / 根目录; 文件系统的入口,最高一级目录
 /bin 常用的二进制命令目录;和/usr/bin类似;
 /boot 存放内核以及启动所需的文件;
 /dev 存放设备文件目录,比如声卡,磁盘,光驱等。;
 /etc 存放系统配置文件;
 /home 普通用户的家目录,用户数据存放在其主目录中;
 /lib|lib64 存放必要的运行库;
 /mnt 一般是用于临时挂载存储设备的挂载目录,比如有cdrom,U盘等目录,直接插入光驱无法使用,要先挂载后使用。;
 /proc 存放存储进程和系统信息;
 /root 超级用户的家目录;
 /sbin 大多涉及系统管理的命令的存放,是超级权限用户root可执行命令存放地,这个目录和/usr/sbin,/usr/X11R6/sbin或/usr/local/sbin目录是相似的;
 /tmp 存放临时文件;
 /usr 存放应用程序,命令程序文件、程序库、手册和其它文档;
 /var 存放系统日志和缓存日志的目录。

/etc文件系统

/etc/sysconfig/network-scripts/ifcfg-eth0 配置IP,GW等。
/etc/resolv.conf 配置本机的客户端DNS。
/etc/hosts 配置IP与域名的对应解析表。
/etc/fstab/记录开机要挂载的文件系统,所有分区开机都会自动挂载
/etc/inittab设定系统启动等级及启动文件设置。
/etc/init.d存放系统启动脚本
/etc/profile系统全局变量配置路径
/etc/passwd账号信息
/etc/sudoers sudo命令的配置文件
/etc/syslog.conf系统日志参数配置
/etc/skel/默认创建用户时,把该目录拷贝到家目录下
/etc/sysconfig/network配置机器名及网卡启动等配置。
/etc/exports设定NFS系统用的配置文件路径。
/etc/xinetd.d如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。
/etc/rc或/etc/rc.d或/etc/rc.d 启动、或改变运行级时运行的脚本或脚本的目录。
/etc/group设定用户的组名与相关信息
/etc/motd motd是message of the day的缩写,用户成功登录后自动输出通告信息。
/etc/modprobe.conf内核模块额外参数设定
/etc/DIR_COLORS设定颜色
/etc/protocols 系统支持的协议文件
/etc/X11X Window 的配置文件
/etc/issue 记录用户登录前显示的信息
/etc/mtab当前安装的文件系统列表.由scripts初始化,并由mount 命令自动更新.需要一个当前安装的文件系统的列表时使用,例如df 命令。
/etc/login.defs设置用户帐号限制的文件
/etc/shells列出可信任的shell.chsh 命令允许用户在本文件指定范围内改变登录shell.提供一台机器FTP服务的服务进程ftpd 检查用户shell是否列在 /etc/shells 文件中,如果不是将不允许该用户登录.
/etc/securetty确认安全终端,即哪个终端允许root登录.一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权.

/usr文件系统

/usr/X11R6存放X-Windows的目录;
/usr/games存放着XteamLinux自带的小游戏;
/usr/docLinux技术文档;
/usr/include用来存放Linux下开发和编译应用程序所需要的头文件;
/usr/lib存放一些常用的动态链接共享库和静态档案库;
/usr/man帮助文档所在的目录;
/usr/srcLinux开放的源代码,就存在这个目录,爱好者们别放过哦;
/usr/bin/非必要可执行文件 (在单用户模式中不需要);面向所有用户。
/usr/lib/ /usr/bin/和/usr/sbin/中二进制文件的库。
/usr/sbin/非必要的系统二进制文件,例如:大量网络服务的守护进程。
/usr/share/体系结构无关(共享)数据。
/usr/src/源代码,例如:内核源代码及其头文件。
/usr/X11R6/X Window系统版本 11, Release 6.
/usr/local/本地数据的第三层次,具体到本台主机。通常而言有进一步的子目录,例如:bin/、lib/、share/.这是提供给一般用户的/usr目录,在这里安装一般的应用软件;

/proc文件系统

虚拟文件系统,将内核与进程状态归档为文本文件(系统信息都存放这目录下)。例如:uptime、 network。在Linux中,对应Procfs格式挂载。该目录下文件只能看不能改(包括root)
/proc/meminfo查看内存信息
/proc/loadavg还记得 top 以及 uptime 吧?没错!上头的三个平均数值就是记录在此!
/proc/uptime就是用 uptime 的时候,会出现的资讯啦!
/proc/cpuinfo关于处理器的信息,如类型、厂家、型号和性能等。
/proc/cmdline加载 kernel 时所下达的相关参数!查阅此文件,可了解系统是如何启动的!
/proc/filesystems 目前系统已经加载的文件系统罗!
/proc/interrupts目前系统上面的 IRQ 分配状态。
/proc/ioports目前系统上面各个装置所配置的 I/O 位址。
/proc/kcore这个就是内存的大小啦!好大对吧!但是不要读他啦!
/proc/modules目前我们的 Linux 已经加载的模块列表,也可以想成是驱动程序啦!
/proc/mounts系统已经挂载的数据,就是用 mount 这个命令呼叫出来的数据啦!
/proc/swaps到底系统挂加载的内存在哪里?呵呵!使用掉的 partition 就记录在此啦!
/proc/partitions使用 fdisk -l 会出现目前所有的 partition 吧?在这个文件当中也有纪录喔!
/proc/pci 在 PCI 汇流排上面,每个装置的详细情况!可用 lspci 来查阅!
/proc/version核心的版本,就是用 uname -a 显示的内容啦!
/proc/bus/一些汇流排的装置,还有 U盘的装置也记录在此喔!
/proc/dma显示当前使用的d m a通道。
/proc/filesystems核心配置的文件系统信息。
/proc/interrupts显示被占用的中断信息和占用者的信息,以及被占用的数量。
/proc/ioports当前使用的i / o端口。
/proc/kcore系统物理内存映像。
/proc/kmsg核心输出的消息。也会被送到s y s l o g。
/proc/ksyms核心符号表。
/proc/loadavg系统“平均负载”; 3个没有意义的指示器指出系统当前的工作量。
/proc/meminfo各种存储器使用信息,包括物理内存和交换分区( s w a p )。
/proc/net网络协议状态信息。
/proc/self存放到查看/proc 的程序的进程目录的符号连接。
/proc/stat系统的不同状态,例如,系统启动后页面发生错误的次数。

/var文件系统

/var 包括系统一般运行时要改变的数据.每个系统是特定的,即不通过网络与其他计算机共享.
/var/log/message日志信息,按周自动轮询
/var/spool/cron/root定时器配置文件目录,默认按用户命名
/var/log/secure记录登陆系统存取信息的文件,不管认证成功还是认证失败都会记录
/var/log/wtmp记录登陆者信息的文件,last,who,w命令信息来源于此
/var/spool/clientmqueue/当邮件服务未开启时,所有应发给系统管理员的邮件都将堆放在此
/var/spool/mail/邮件目录
/var/tmp 比/tmp 允许的大或需要存在较长时间的临时文件
/var/lib 系统正常运行时要改变的文件.
/var/local /usr/local 中安装的程序的可变数据(即系统管理员安装的程序).注意,如果必要,即使本地安装的程序也会使用其他/var 目录,例如/var/lock .
/var/lock 锁定文件.许多程序遵循在/var/lock 中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件.其他程序注意到这个锁定文件,将不试图使用这个设备或文件.
/var/log/各种程序的Log文件,特别是login (/var/log/wtmp log所有到系统的登录和注销) 和syslog (/var/log/messages 里存储所有核心和系统程序信息. /var/log 里的文件经常不确定地增长,应该定期清除.
/var/run 保存到下次引导前有效的关于系统的信息文件.如 /var/run/utmp 包含当前登录的用户的信息.
/var/cache/应用程序缓存数据。这些数据是在本地生成的一个耗时的I/O或计算结果。应用程序必须能够再生或恢复数据。缓存的文件可以被删除而不导致数据丢失。
/dev文件系统
/dev/hd[a-t]IDE设备
/dev/sd[a-z]SCSI设备
/dev/fd[0-7]标准软驱
/dev/md[0-31]软raid设备
/dev/loop[0-7]本地回环设备
/dev/ram[0-15]内存
/dev/null无限数据接收设备,相当于黑洞
/dev/zero无限零资源
/dev/tty[0-63]虚拟终端
/dev/ttyS[0-3]串口
/dev/lp[0-3]并口
/dev/console控制台
/dev/fb[0-31]framebuffer
/dev/cdrom=> /dev/hdc
/dev/modem=> /dev/ttyS[0-9]
/dev/pilot=> /dev/ttyS[0-9]
/dev/random随机数设备
/dev/urandom随机数设备

你可能感兴趣的:(linux目录结构及命名规则)