【转】linux中的常见目录及文件

时间:2021-12-28 16:43:03

1. /proc目录
Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。

用户和应用程序可以通过
proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是
动态从系统内核读出所需信息并提交的。下面列出的这些文件或子文件夹,并不是都是在你的系统中存在,这取决于你的内核配置和装载的模块。另外,在
/proc下还有三个很重要的目录:net,scsi和sys。
Sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi
目录不存在。

除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的 PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口,是一个link。

2. 其他目录
  • /bin 为得到最小的系统操作性所需要的那些命令。该目录中存放Linux的常用命令,在有的版本中是一些和根目录下相同的目录。
  • /boot 内核和加载内核所需的文件。该目录下存放的都是系统启动时要用到的程序,当用lilo引导Linux时,会用到这里的一些信息 。
  • /dev 终端、磁盘等设备项。该目录包含了Linux系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,你可以访问这些外部设备,与访问一个文件或一个目录没有区别。
  • /etc 关键的启动文件和配置文件。该目录存放了系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文件、设备配置信息、设置用户信息等。
  • /lib c编译器的库和部分c编译器。该目录用来存放系统动态连接共享库,几乎所有的应用程序都会用到该目录下的共享库
  • /opt 可选,附加的应用软件包
  • /proc 所有正在运行进程的映象
  • /root 超级用户的主目录
  • /sbin 引导、修复或者恢复系统的命令。该目录用来存放系统管理员的系统管理程序。
  • /tmp 每次重启就消失的临时文件。用来存放不同程序执行时产生的临时文件。
  • /usr 次要文件和命令层次结构。用户的很多应用程序和文件都存放在该目录下。
  • /usr/bin 大多数命令和可执行文件
  • /usr/include c程序的头文件
  • /usr/lib 库:供标准程序使用的支持文件
  • /usr/local 本地软件(用户所安装的软件)
  • /usr/local/bin 本地的可执行文件
  • /usr/local/etc 本地系统配置文件和命令
  • /usr/local/lib 本地的支持文件
  • /usr/local/sbin 静态链接的本地系统维护命令
  • /usr/local/src /usr/local/*的源代码
  • /usr/sbin 不太关键的系统管理和修复命令
  • /usr/share 多种系统共同的东西(只读)
  • /usr/share/man 联机用户手册
  • /usr/src (非本地)软件包的源代码
  • /usr/src/linux 构造内核的工作区,配置文件
  • /var 系统专用数据和配置文件
  • /var/adm 各种不同的东西:日志、系统设置记录、奇怪的管理信息
  • /var/log 各种系统日志文件
  • /var/spool 供打印机、邮件等使用的假脱机目录
  • /var/tmp 更多的临时空间(在重启后,文件予以保留)
  • /mnt 该目录在一般情况下也是空的,你可以临时将别的文件系统挂在该目录下。例如挂载U盘: #mount  /dev/sda1 /mnt

3. 常见文件

  • /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。
  • /etc/bashrc:为每一个运行bash shell的用户执行此文件。当bash shell被打开时,该文件被读取。
  • ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息。当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。通常~/.bash_profile会调用~/.bashrc。
  • ~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。(每个用户都有一个.bashrc文件,在用户目录下)
  • ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件。
  • /etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。

在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个,执行的顺序为:/.bash_profile、 ~/.bash_login、 ~/.profile。如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。因为在 ~/.bash_profile文件中一般会有下面的代码:

if [ -f ~/.bashrc ] ; then
. ./bashrc
fi

~/.bashrc中,一般还会有以下代码:

if [ -f /etc/bashrc ] ; then
. /bashrc
fi

所以,~/.bashrc会调用 /etc/bashrc文件。最后,在退出shell时,还会执行 ~/.bash_logout文件。执行顺序为:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout