Linux下的重要目录

Linux 下有些重要目录比如/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp,这些目录背后又有什么含义, 通过实际的探索, 来看看它们的真实面目

内核版本:
Linux下的重要目录
发行版信息
Linux下的重要目录

/proc

  Linux内核提供了一种通过/proc文件系统在运行时访问内核内部数据结构,改变内核设置的机制, proc文件系统只存在于内存中, 不占用外存空间, 它以文件系统的方式为访问系统内核数据的操作提供接口
  用户和应用程序可以通过proc得到系统的信息, 也可以改变内核的某些参数, 当用户或应用程序读取proc文件时, 它动态地从系统内核中读出所需信息并提交

以我使用的Linux系统为例,先敲入cd /proc命令,进入/proc目录,再使用ls命令查看内容
Linux下的重要目录
可以看到有很多以数字命名的文件夹,这些数字代表的是进程号,比如我们自己写一个死循环的进程,然后再次查看/proc的内容,就会发现多了一个以刚才进程的进程号命名的文件夹
Linux下的重要目录
Linux下的重要目录
Linux下的重要目录
  在/proc目录下还有一个重要目录: /sys,它是可写的, 用户和进程可以通过它访问和修改内核中的参数,
Linux下的重要目录比如我们初识文件描述符时,使用ulimit -a查看能打开的最大文件描述符个数, ulimit -n可以修改这个值,但是真正能打开多少文件,可以在/proc/sys/fs下的file-max中看到,

敲入命令: cat /proc/sys/fs/file-max
Linux下的重要目录

/SElinux

  SElinux(Security-Enhanced Linux), 安全增强型Linux, 它是一个Linux内核模块, 主要用作安全防护, 它旨在最小限度地满足用户和进程的需要,从而最大限度地保护系统不受损失
  在一个不使用SElinux的系统中, 访问一个系统资源的条件是该用户是否具有访问它的权限(读,写,执行)
  再使用SElinux的系统中,访问一个系统资源的条件除了上面的条件外, 还有某一类进程是否有对一类资源的访问权限.
  这样一来,即使真的出现了严重损失, 也只会发生在进程允许访问的资源中,不至于全盘皆失

/bin

  /bin目录下可以看到很多的可执行程序, 敲入ls -l
Linux下的重要目录
  初学Linux基本命令的时候, 像ls, rm, mv, cp, echo之类的常用命令就是这样的可执行文件,只所以不用敲./filename 来运行, 是因为存储这些可执行文件的路径, 被添加到了环境变量中, 操作系统会通过环境变量中记录的路径找到文件并执行, 在这里可以使用./filename来执行/bin目录下的可执行文件,

/usr/lib

  lib是英文library的缩写, 有图书馆,文库的意思,该目录下保存了库文件

进入./gcc目录下, 看看它里面有什么
Linux下的重要目录
图中以.so结尾的是动态库文件, 以.a结尾的是静态库文件, .o结尾的是编译过程中待链接的二进制文件

/usr/local

这里放置了用户自己安装的软件,

/var

这里放置了登录文件, 错误信息文件. 日志文件等

/tmp

这里存放了用户和程序运行的临时文件, 系统会自动清理这些文件