Linux 目录结构

1. 文件系统的类型

LINUX有四种基本文件系统类型:普通文件、目录文件、连接文件和特殊文件,可用file命令来识别。

普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、more、vi、emacs来察看内容,用mv来改名。

目录文件:包括文件名、子目录名及其指针。它是LINUX储存文件名的唯一地方,可用ls列出目录文件。

连接文件:是指向同一索引节点的那些目录条目。用ls来查看是,连接文件的标志用l开头,而文件面后以"->"指向所连接的文件。

特殊文件:LINUX的一些设备如磁盘、终端、打印机等都在文件系统中表示出来,则一类文件就是特殊文件,常放在/dev目录内。例如,软驱A称为/dev/fd0。LINUX无C:的概念,而是用/dev/had来自第一硬盘。

2. 根目录结构

/bin
  这一目录中存放了供所有用户使用的完成基本维护任务的命令。其中bin是binary的缩写,表示二进制文件,通常为可执行文件。一些常用的系统命令,如cp、ls等保存在该目录中。
/boot
  这里存放的是启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。
/dev
  在此目录中包含所有的系统设备文件。从此目录可以访问各种系统设备。如CD-ROM,磁盘驱动器,调制解调器和内存等。在该目录中还包含有各种实用功能,如用于创建设备文件的MAKEDEV。
/etc
  该目录中包含系统和应用软件的配置文件。
/etc/passwd
  该目录中包含了系统中的用户描述信息,每行记录一个用户的信息。
/home
  存储普通用户的个人文件。每个用户的主目录均在/home下以自己的用户名命名。
/lib
  这个目录里存放着系统最基本的共享链接库和内核模块。共享链接库在功能上类似于Windows里的.dll文件。
/lib64
  64位系统有这个文件夹,64位程序的库。
/lost+found
  这并不是Linux目录结构的组成部分,而是ext3文件系统用于保存丢失文件的地方。不恰当的关机操作和磁盘错误均会导致文件丢失,这意味着这些被标注为“在使用”,但却并未列于磁盘上的数据结构上。正常情况下,引导进程会运行fsck程序,该程序能发现这些文件。除了“/”分区上的这个目录外,在每个分区上均有一个lost+found目录。
/media
  可移动设备的挂载点,当前的操作系统通常会把U盘等设备自动挂载到该文件夹下。
/mnt
  临时用于挂载文件系统的地方。一般情况下这个目录是空的,而在我们将要挂载分区时在这个目录下建立目录,再将我们将要访问的设备挂载在这个目录上,这样我们就可访问文件了。(注意在GNOME中,只有挂载到/media的文件夹才会显示在“计算机”中,挂载到/mnt不会做为特殊设备显示,详见自动挂载分区)
/opt
  多数第三方软件默认安装到此位置,如Adobe Reader、google-earth等。并不是每个系统都会创建这个目录。
/proc
  它是存在于内存中的虚拟文件系统。里面保存了内核和进程的状态信息。多为文本文件,可以直接查看。如/proc/cpuinfo保存了有关CPU的信息。

/proc目录的内容:

  /proc/cpuinfo 关于处理器的信息,如类型、厂家、型号和性能等。

  /proc/devices 当前运行内核所配置的所有设备清单。

  /proc/dma 当前正在使用的DMA通道。/proc/filesystems 当前运行内核所配置的文件系统。

  /proc/interrupts 正在使用的中断,和曾经有多少个中断。

  /proc/ioports 当前正在使用的I/O端口。

/root
  这是根用户的主目录。与保留给个人用户的/home下的目录很相似,该目录中还包含仅与根用户有关的条目。
/sbin
  供超级用户使用的可执行文件,里面多是系统管理命令,如fsck, reboot, shutdown, ifconfig等。
/tmp
  该目录用以保存临时文件。该目录具有Sticky特殊权限,所有用户都可以在这个目录中创建、编辑文件。但只有文件拥有者才能删除文件。为了加快临时文件的访问速度,有的实现把/tmp放在内存中。
/usr
  这个是系统存放程序的目录,比如命令、帮助文件等。这个目录下有很多的文件和目录。当我们安装一个Linux发行版官方提供的软件包时,大多安装在这里。如果有涉及服务器配置文件的,会把配置文件安装在/etc目录中。/usr目录下包括涉及字体目录/usr/share/fonts ,帮助目录 /usr/share/man或/usr/share/doc,普通用户可执行文件目录/usr/bin 或/usr/local/bin 或/usr/X11R6/bin ,超级权限用户root的可执行命令存放目录,比如 /usr/sbin 或/usr/X11R6/sbin 或/usr/local/sbin 等;还有程序的头文件存放目录/usr/include。见下。

应注意,程序的配置文件、动态的数据文件等都不会存放到/usr,所以除了安装、卸载软件外,一般无需修改/usr中的内容。说在系统正常运行时,/usr甚至可以被只读挂载。由于这一特性,/usr常被划分在单独的分区,甚至有时多台计算机可以共享一个/usr。

/usr/bin
  多数日常应用程序存放的位置。如果/usr被放在单独的分区中,Linux的单用户模式不能访问/usr/bin,所以对系统至关重要的程序不应放在此文件夹中。
/usr/include
  存放C/C++头文件的目录
/usr/lib
  系统的库文件
/usr/local
  新装的系统中这个文件夹是空的,可以用于存放个人安装的软件。安装了本地软件的/usr/local里的目录结构与/usr相似
/usr/sbin
  在单用户模式中不用的系统管理程序,如apache2等。
/usr/share
  与架构无关的数据。多数软件安装在此。
/usr/X11R6
  该目录用于保存运行X-Window所需的所有文件。该目录中还包含用于运行GUI要的配置文件和二进制文件。
/usr/src
  源代码

/usr目录下比较重要的部分有:

/usr/X11    R6 X-WINDOWS系统(version 11, release 6)

/usr/X11    同/usr/X11R6 (/usr/X11R6的符号连接)

/usr/X11R6/bin   大量的小X-WINDOWS应用程序(也可能是一些在其它子目录下大执行文件的符号连接)。

/usr/doc       LINUX的文档资料(在更新的系统中,这个目录移到/usr/share/doc)。

/usr/share    独立与你计算机结构的数据,譬如,字典中的词。

/usr/bin和/usr/sbin    类似与“/”根目录下对应的目录(/bin和/sbin),但不用于基本的启动(譬如,在紧急维护中)。大多数命令在这个目录下。

/usr/local     本地管理员安装的应用程序(也可能每个应用程序有单独的子目录)。在“main”安装后,这个目录可能是空的。这个目录下的内容在重安装或升级操作系统后应该存在。

/usr/local/bin   可能是用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的符号连接。

/var
  这个目录的内容是经常变动的,看名字就知道,我们可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地,见下文。

/var中包括了一些数据文件,如系统日志等。/var的存放使得/usr被只读挂载成为可能。

/var/cache    应用程序的缓存文件
/var/lib         应用程序的信息、数据。如数据库的数据等都存放在此文件夹。
/var/local      /usr/local 中程序的信息、数据
/var/lock      锁文件
/var/log       日志文件
/var/opt      /opt中程序的信息、数据
/var/run      正在执行着的程序的信息,如PID文件应存放于此
/var/spool    存放程序的假脱机数据(即spool data)
/var/tmp      临时文件

3. 常见且很重要的目录。

/etc/init.d

  这个目录是用来存放系统或服务器以System V模式启动的脚本,这在以System V模式启动或初始化的系统中常见。比如Fedora/RedHat;

/etc/xinit.d

  如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录, 比如Slackware,有些老的版本也没有。在Rehat/Fedora中比较新的版本中存在。

/etc/rc.d

  这是Slackware发行版有的一个目录,是BSD方式启动脚本的存放地;比如定义网卡,服务器开启脚本等。

/etc/X11

  这是X-Windows相关的配置文件存放地。

 

/usr/bin

  这个目录是可执行程序的目录,普通用户就有权限执行;当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。比如安装gaim软件包时。相似的目录是/usr/local/bin;有时/usr/bin中的文件是/usr/local/bin的链接文件;

/usr/sbin

  这个目录也是可执行程序的目录,但大多存放涉及系统管理的命令。只有root权限才能执行;相似目录是/sbin 或/usr/local/sbin或/usr/X11R6/sbin等;

/usr/local

  这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。这个目录下面有子目录。自己看看吧。

/usr/share

  系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。

/usr/src

  是内核源码存放的目录,比如下面有内核源码目录,比如 linux 、linux-2.xxx.xx 目录等。有的系统也会把源码软件包安装在这里。比如Fedora/Redhat,当我们安装file.src.rpm的时候,这些软件包会安装在 /usr/src/redhat相应的目录中。

/var/adm

  比如软件包安装信息、日志、管理信息等,在Slackware操作系统中是有这个目录的。在Fedora中好象没有;自己看看吧。

/var/log

  系统日志存放,分析日志要看这个目录的东西;

/var/spool

  打印机、邮件、代理服务器等假脱机目录;

    参考自wiki

原文链接: https://www.cnblogs.com/Jer-/archive/2013/05/01/3053135.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    Linux 目录结构

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/86766

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午10:46
下一篇 2023年2月9日 下午10:47

相关推荐