美文网首页
linux目录结构及命名规则

linux目录结构及命名规则

作者: Pu2zL3he4d | 来源:发表于2018-11-07 09:53 被阅读0次

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


    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目录结构及命名规则

          本文链接:https://www.haomeiwen.com/subject/nkemxqtx.html