Linux系统目录结构

Linux通常采用FHS(洋文:Filesystem Hierarchy Standard,中文:文件系统层次结构标准),它定义了Linux系统基本的目录结构。如下:

  • / : 文件系统根(root)目录 – 整个文件系统只有一个根目录,它是最基本的挂载点,所有目录都挂载其下
  • /bin : 基本用户命令– bin是binary的缩写,这个目录存放着用户经常使用的命令。如ls, ping, grep, cp, cat, mv 和 ps 等等
  • /boot : 启动相关 – 引导装载程序(grub)相关文件;内核initrd (用于初始RAM磁盘,是在系统引导过程中挂载的一个临时根文件系统);vmlinuz (压缩的Linux内核镜像)
  • /dev : 设备文件 –dev是device(设备)的缩写,包含系统中所有硬件设备文件,如,硬盘、CPU、内存、cdrom等等;注意,它不是常规文件,但是在Linux中访问设备的方式和访问文件的方式是相同的
  • /etc : 配置文件– 包含系统配置文件,还有一些应用的配置文件、各种脚本等等
  • /home : 用户家目录 – 普通用户的家目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。用户的私有文件可以存放到这里
  • /lib : 基本共享库 –存放着系统最基本的动态链接共享库、还有一些内核模块
  • /lost+found : 恢复文件 – 如果系统崩溃 (断电、应用程序异常,原因很多),被打断的文件将保存到这个目录,下次系统启动在处理。一般为空
  • /media : 临时挂载的可移动存储设备 – 例如U盘、光驱在插入后,Linux会把自动识别的设备挂载到这个目录下
  • /mnt : 临时挂载点–系统提供该目录是为了让用户临时挂载其它文件系统,我们可以将U盘手动挂载在/mnt/上,然后进入该目录就可以查看其中的内容了
  • /opt : 第三方应用安装目录–我们一般把第三方软件安装到这个目录
  • /proc : 内核和进程文件 –这个目录是一个虚拟的目录,包含运行进程、系统资源信息。它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器: echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  • /root : Root用户家目录 –超级管理员用户的家目录
  • /run : 应用程序状态文件 – 在系统启动前期创建的tmpfs文件系统
  • /sbin : 系统管理员命令/sbin 同/bin,只是存放的是系统管理程序,需要root权限执行
  • /selinux : SELinux虚拟文件系统 – 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,这套机制比较复杂,这个目录就是存放SELinux相关的文件的
  • /srv : 服务数据 – 如:HTTP (/srv/www/) 或 FTP(/srv/ftp/)
  • /sys : sysfs–  这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
  • /tmp : 临时目录 –系统重启后,这个目录内存储的数据全部丢失
  • /usr : 用户程序 – 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,包含可执行程序(/usr/bin|sbin)、库(/usr/lib)、文档(/usr/share/doc)、源代码(/usr/src)等等
  • /var : Variable – var代表Variable,存放着在不断变化的数据,我们习惯将那些经常被修改的数据放在这个目录下。如应用缓存文件(/var/cache),数据库文件 (/var/lib),(/var/lock),各种日志(/var/log)等等

八卦:记得刚开始使用Linux时后,我傻呵呵的执行了如下命令:

今天我再次使用Ubuntu做下死,发现他妈的竟然有提示了:

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注