Linux学习4 通过深度系统学习Linux目录结构

Linux学习4 通过深度系统学习Linux目录结构

    • @[TOC](Linux学习4 通过深度系统学习Linux目录结构)
    • 一、深度系统里的目录
    • 二、主要目录详细介绍
      • 1. `/` 根目录
      • 2. `/var` 系统目录
      • 3. `/usr/` 用户目录
      • 4. `/tmp`
      • 5. `/sys`
      • 6. `/srv`
      • 7. `/sbin` 可执行程序
      • 8. `/run`
      • 9. `/root/`
      • 10. `/proc`
      • 11. `/opt`
      • 12. `/mnt`
      • 13. `/media`
      • 14. `/lost+found`
      • 15. `/home`
      • 16. `/etc`
      • 17. `/dev`
      • 18. `/boot`
      • 19. `/bin`
      • 20. `/misc`
    • 三、 CentOS系统目录常用颜色(深度的系统没发现这种区分)

Linux基本哲学之一——一切皆文件

一、深度系统里的目录

深度系统打开文件管理器的图标是:
Linux学习4 通过深度系统学习Linux目录结构_第1张图片
Linux学习4 通过深度系统学习Linux目录结构_第2张图片
不同于Windows 的分区C、D等,使用Linux分区都是以目录的形式挂载到系统里的。
Linux学习4 通过深度系统学习Linux目录结构_第3张图片

Linux各发行版的目录结构有所不同,而FHS(Filesystem Hierarchy Standard)机构负责定义一些目录结构的标准(http://www.pathname.com/fhs/),主要定义了两层规范,4种类型。

两层规范

  1. / 下面的各个目录应该要放什么文件数据,例如 /etc 应该放置设置文件,/bin/sbin 则应该放置可执行文件等。
  2. 针对 /usr/var 这两个目录的子目录来定义。例如 /var/log 放置系统登录文件,/usr/share 放置共享数据等。

Linux目录大概分四种类型:

  1. 可分享的
  2. 不可分享的
  3. 不变的
  4. 可变动的

FHS大致定义了以下几种目录:

  1. / root,与开机系统用关;
  2. /urs ,与软件安装、执行有关;
  3. /var , 与系统运行过程有关。

二、主要目录详细介绍

显示全部目录结构命令:

tree /

1. / 根目录

所有其它文件、目录的顶级根目录。

2. /var 系统目录

系统目录,用来放一些经常发生变动的文件,如:

  • /var/log 存放系统日志。
  • /var/www 放置Apache站点。
  • /var/lib 存放库文件。
  • /var/tmp 类似于/tmp 放置一些临时文件。
  • /var/spool 打印机、邮件、代理服务器等假脱机目录。
  • /var/adm 放一些软件包安装信息、日志、管理系统等。

3. /usr/ 用户目录

与系统用户直接相关的文件和目录,类似到windows下的program files,如:

  • /usr/bin 放可执行程序的目录,普通用户就有权限执行。很多安装的软件包放在这个目录下,比如我安装的wps:
    在这里插入图片描述
  • /usr/sbin 也是可执行程序的目录,要root权限才能执行,一般放系统管理的命令。
  • /usr/src 内核源代码默认放置的位置。
  • /usr/local 一般用来放用户自行编译安装软件的存放目录。
  • /usr/lib 放一些常用的共享库。
  • /usr/share 放一些系统共用的文件,如字体:/usr/share/fonts
  • /usr/share/doc 存放Linux共享文档。
  • /usr/share/man 存放Linux共享的帮助文件。

4. /tmp

存放临时文件。

5. /sys

系统中的设备组织成层次结构的特殊的文件映射,向用户程序提供详细的内核数据结构信息。如在用户态对sys访问,来查看内核态的一些驱动或设备等。

  • /sys/devices 全局设备结构体系
  • /sys/dev 存放主次设备号文件,其中分成字符设备、块设备的主次设备号码组成的文件名,该文件是链接文件并链接 到真实的设备。
  • /sys/class 包含所有注册在kernel里面的设备类型。
  • /sys/block 该目录下的所有子目录表示系统中当前被发现的所有块设备。从linux2.6.22内核开始这部分被标记过时,正式移到了/sys/class/block
  • /sys/bus 该目录下的每个子目录都是kernel支持并且已经注册的总线类型。
  • /sys/fs 该目录用来描述系统中所有的文件系统。
  • /sys/kernel ,存放内核中所有可调整的参数。
  • /sys/firmware 系统加载固件机制和对用户空间的接口。
  • /sys/module 系统所有的模块信息。
  • /sys/power 系统中的电源选项,对正在使用的power子系统的描述。

6. /srv

存放一些服务启动后需要提取的数据。

7. /sbin 可执行程序

类似/usr/sbin,大多数涉及到系统管理的命令都放在这个目录下,需要root权限,普通用户不能执行该目录的命令。

8. /run

当前系统运行用到的一些信息。

9. /root/

超级管理员用户主目录。

10. /proc

这是一个虚拟出来的目录,相当于内存在文件系统上的映射,包含Linux运行时的进程信息、内核信息(CPU、硬盘分区、内存信息)等,如:

  • /proc/cpuinfo 处理器信息
  • /proc/devices 当前运行内核所配置的所有设备
  • /proc/filesystems 当前运行内核所配置的文件系统
  • /proc/dma 当前正在使用的DMA通道
  • /proc/interrupts 当前正在使用的中断和曾经有多少个中断
  • /proc/ioports 当前正在使用的I/O端口

11. /opt

Linux安装软件时,放置一些安装文件。

12. /mnt

用户挂载的设备,如用户挂载的光驱等。

13. /media

Linux自动识别并挂载的一些外设,如U盘、光驱等。可以在深度系统安装一个光盘,看看其目录情况:
Linux学习4 通过深度系统学习Linux目录结构_第4张图片

14. /lost+found

系统异常关机时,这里存放一些零散的文件,系统用来检查和维护不一致的文件系统。如果掉电或磁盘出现问题,可使用fsck命令对文件系统进行检查。

15. /home

用户主目录 ,Linux 每个用户有一个以自己账户命名的目录。

16. /etc

存放系统配置信息,如网卡设置、防火墙设置等,如:

  • /etc/init.d 存放系统或服务器以System V模式启动的脚本 ,在以System V模式启动或初始化的系统中常见,如 RedHat,Fedora
  • /etc/rc.d Slackware发行版中的目录,是BSD方式启动脚本的存放目录,如定义网卡、服务器开启脚本等。
  • /etc/X11 X-Windows相关的配置文件存放目录。
  • /etc/xinetd.d 以xinetd模式运行的脚本存放目录。

17. /dev

Linux的外设,如:

  • /dev/null 空设备
  • /dev/zero 零设备
  • /dev/tty 控制终端
  • /dev/hd* 硬盘等存储设备
  • /dev/sd*U盘等外部存储设备
  • /dev/random /dev/urandom 随机数设备

18. /boot

Linux内核程序和启动时用的文件。

19. /bin

存放Linux系统命令,如 cat,chmod,chown,date,mv,mkdir,cp,bash等。

20. /misc

放一些不明用途的文件。

三、 CentOS系统目录常用颜色(深度的系统没发现这种区分)

  • 绿色:可执行文件
  • 白色:一般性文件,多是文本文件
  • 蓝色:文件夹
  • 浅蓝色:链接文件(快捷方式,ln命令建立)
  • 红框:加了SUID位,任意权限;
  • 红色:压缩文件
  • 褐色:设备文件
  • 绿色背景:共享,所有用户可读

你可能感兴趣的:(Linux)