linux系统目录结构
1、树状目录结构图
2、目录介绍
目录 |
描述 |
/ |
根目录 |
/bin/ |
存放二进制可执行文件,如:cat、ls、cp等 |
/boot/ |
存放Linux系统启动时需要加载的文件。 (一般在另外一个磁盘分区里面保存) Kernel、grub等文件都存放在此 |
/dev/ |
包含设备文件。在Linux中,一切都被看做文件。终端设备、USB、磁盘等等都被看做文件,如/dev/sda |
/etc/ |
包含所有应用程序的配置文件,也包含启动、关闭某个特定程序的脚本,例如,/etc/passwd,/etc/init.d/network等。 |
/home/ |
普通用户家目录,普通用户所有数据存放在这个目录下 |
/mnt/ |
挂载目录,挂载点,系统管理员可用于临时挂载文件系统 |
/proc/ |
显示内核及进程信息虚拟文件系统 |
/sbin/ |
系统的二进制文件,此目录中的命令主要供系统管理员使用,以进行系统维护。例如,iptables、reboot、fdisk等 |
/usr/ |
usr表示的是unix software source,默认软件都会存于该文件下 |
/var |
是一个可增长的目录,包含很经常变的文件。例如,/var/log(系统日志)、/var/lib (包文件) |
3、/etc/目录
目录 |
描述 |
/etc/rc.d |
是BSD方式启动脚本的存放地;比如定义网卡,服务器开启脚本等 |
/etc/host |
本地域名解析文件 |
/etc/sysconfig/network |
IP、掩码、网关、主机名等配置 |
/etc/resolv.conf |
DNS配置 |
/etc/fatab |
开机自动挂载系统 |
/etc/inittab |
设定系统启动时init进程把系统设置成什么样的runlevel及加载相关的启动文件配置 |
/etc/exports |
设置NFS系统用的配置文件路径 |
/etc/profile |
全局系统环境配置变量 |
/etc/bashrc | 全局环境变量路径 |
/etc/motd |
登录后显示的字符串 |
/etc/issue |
认证前的登录信息,默认输出版本内核信息 |
/etc/visudoes |
可以Visudo的配置文件 |
/etc/passwd | 账号的相关信息文件 |
/etc/shadow | 账号密码信息文件 |
/etc/group | 用户组的相关信息文件 |
/etc/gshadow | 组密码信息文件 |
/etc/log | 日志文件的设置 |
4、/usr/目录
目录 |
描述 |
/usr/bin/ |
绝大部分的用户可使用指令都放在这里。请注意到他与/bin的不同之处。(是否与开机过程有关) |
/usr/include/ |
c/c++等程序语言的档头(header)与包含档(include)放置处,当我们以tarball方式 (*.tar.gz 的方式安装软件)安装某些数据时,会使用到里头的许多包含档。 |
/usr/lib/ |
包 含各应用软件的函式库、目标文件(object file),以及不被一般使用者惯用的执行档或脚本(script)。 某些软件会提供一些特殊的指令来 进行服务器的设定,这些指令也不会经常被系统管理员操作, 那就会被摆放到这个目录下啦。要注意的是,如果你使用的是X86_64的Linux系统, 那 可能会有/usr/lib64/目录产生 |
/usr/local/ |
统 管理员在本机自行安装自己下载的软件(非distribution默认提供者),建议安装到此目录, 这样会比较便于管理。举例来说,你的 distribution提供的软件较旧,你想安装较新的软件但又不想移除旧版, 此时你可以将新版软件安装于/usr/local/目录下,可与原先的 旧版软件有分别啦。 你可以自行到/usr/local去看看,该目录下也是具有bin, etc, include, lib...的次目录 |
/usr/sbin/ |
非系统正常运作所需要的系统指令。最常见的就是某些网络服务器软件的服务指令(daemon) |
/usr/share/ |
放置共享文件的地方,在这个目录下放置的数据几乎是不分硬件架构均可读取的数据, 因为几乎都是文本文件嘛。在此目录下常见的还有这些次目录:/usr/share/man:联机帮助文件 /usr/share/doc:软件杂项的文件说明 /usr/share/zoneinfo:与时区有关的时区文件 |
/usr/src/ |
一般原始码建议放置到这里,src有source的意思。至于核心原始码则建议放置到/usr/src/linux/目录下。 |
5、/proc/目录
目录 |
描述 |
/proc/cmdline |
这个文件给出了内核启动的命令行。它和用于进程的cmdline项非常相似 |
/proc/cpuinfo |
这个文件提供了有关系统CPU的多种信息 |
/proc/devices |
这个文件列出字符和块设备的主设备号,以及分配到这些设备号的设备名称 |
/proc/dma |
这个文件列出由驱动程序保留的DMA通道和保留它们的驱动程序名称。casade项供用于把次DMA控制器从主控制器分出的DMA行所使用;这一行不能用于其它用途。 |
/proc/filesystems |
这个文件列出可供使用的文件系统类型,一种类型一行。虽然它们通常是编入内核的文件系统类型,但该文件还可以包含可加载的内核模块加入的其它文件系统类型。 |
/proc/interrupts |
这个文件的每一行都有一个保留的中断。每行中的域有:中断号,本行中断的发生次数,可能带有一个加号的域(SA_INTERRUPT标志设置),以及登记 这个中断的驱动程序的名字。可以在安装新硬件前,像查看/proc/dma和/proc/ioports一样用cat命令手工查看手头的这个文件。这几个 文件列出了当前投入使用的资源(但是不包括那些没有加载驱动程序的硬件所使用的资源)。 |
/proc/ioports |
这个文件列出了诸如磁盘驱动器,以太网卡和声卡设备等多种设备驱动程序登记的许多I/O端口范围 |
/proc/meminfo | 这个文件给出了内存状态的信息。它显示出系统中空闲内存,已用物理内存和交换内存的总量。它还显示出内核使用的共享内存和缓冲区总量。这些信息的格式和free命令显示的结果类似。 |
/proc/net | 此目录下的文件描述或修改了联网代码的行为。可以通过使用arp,netstat,route和ipfwadm命令设置或查询这些特殊文件中的许多文件。 |
/proc/version | 这个文件只有一行内容,说明正在运行的内核版本。可以用标准的编程方法进行分析获得所需的系统信息。 |
/proc/stat | 这个文件包含的信息有CPU利用率,磁盘,内存页,内存对换,全部中断,接触开关以及赏赐自举时间(自1970年1月1日起的秒数)。 |
6、/dev/目录
目录 |
描述 |
/dev/null |
无限数据接收设备,相当于黑洞 |
/dev/tty[0-63] |
虚拟终端 |
/dev/ttyS[0-3] |
串口 |
/dev/console |
控制台 |
/dev/md[0-31] |
软raid设备 |
7、/var/目录
目录 |
描述 |
/var/cache/ |
应用程序本身运作过程中会产生的一些暂存档 |
/var/lib/ |
程序本身执行的过程中,需要使用到的数据文件放置的目录。在此目录下各自的软件应该要有各自的目录。 举例来说,MySQL的数据库放置到/var/lib/mysql/而rpm的数据库则放到/var/lib/rpm去 |
/var/lock/ |
某 些装置或者是文件资源一次只能被一个应用程序所使用,如果同时有两个程序使用该装置时, 就可能产生一些错误的状况,因此就得要将该装置上锁 (lock),以确保该装置只会给单一软件所使用。 举例来说,刻录机正在刻录一块光盘,你想一下,会不会有两个人同时在使用一个刻录机烧片? 如果两个 人同时刻录,那片子写入的是谁的数据?所以当第一个人在刻录时该刻录机就会被上锁, 第二个人就得要该装置被解除锁定(就是前一个人用完了)才能够继续使 用 |
/var/log/ |
非常重要。这是登录文件放置的目录。里面比较重要的文件如/var/log/messages, /var/log/wtmp(记录登入者的信息)等。 |
/var/mail/ |
放置个人电子邮件信箱的目录,不过这个目录也被放置到/var/spool/mail/目录中,通常这两个目录是互为链接文件。 |
/var/run/ |
某些程序或者是服务启动后,会将他们的PID放置在这个目录下 |
/var/spool/ |
这个目录通常放置一些队列数据,所谓的“队列”就是排队等待其他程序使用的数据。 这 些数据被使用后通常都会被删除。举例来说,系统收到新信会放置到/var/spool/mail/中, 但使用者收下该信件后该封信原则上就会被删除。信 件如果暂时寄不出去会被放到/var/spool/mqueue/中, 等到被送出后就被删除。如果是工作排程数据(crontab),就会被放置到 /var/spool/cron/目录中。 |