Linux目录结构与Windows对比

来源:互联网 发布:出名的网络暴力事件 编辑:程序博客网 时间:2024/05/24 07:20

linux目录结构


Linux 系统哲学思想

  1. 一切皆是文件(包括设备,所以/dev下可以有设备文件)

  2. 小型,单一用途的程序

  3. 配置数据存放在文本中

Windows 系统哲学思想

  1. 一切皆图形
  2. 考虑用户体验性
  3. 尽可能的隐藏实现过程

Linux Foundation有一套标准规范:

  • /:系统的根目录

    Windows和Linux这一点不太一样,Windows习惯上有盘符(C盘,D盘等)的概念,以盘符作为系统分区,而linux其实也有分区,只不过是Linux的分区是挂载(相当于给设备一个目录入口)在“/”上的,所以分区在linux目录结构上看不出来。

    其实Windows也可以实现"挂载"到"根分区"的。

    步骤1、在c盘建立"挂载点"(创建几个目录这里建立目录名称为G)

    2、计算机》管理》磁盘管理,找到磁盘0,在分区上右击,点击"更改驱动器号和路径(C)...",如图所示:



    3、此时也可以将盘符删掉,如图:


    4、查看C盘的G文件夹,是否很出乎意料^_^.

  • /bin:所有用户可用的基本命令程序文件;类比Windows中除了c盘的Program Files文件夹,存放用户安装的程序。

  • /sbin:系统用户管理命令;类比c盘的Program Files文件夹,存放系统程序。
  • /boot:系统的启动文件,类似于Windows的mbr,boot loader的静态文件(kernel,initramfs(initrd),grub等)
  • /dev:存储特殊文件(tty虚拟终端之类)和设备文件(字符设备(键盘、显示器)、块设备(硬盘、光盘))。类似Windows中驱动盘(DVD驱动器,U盘驱动器)
  • /etc:存放系统或者程序的配置文件;类似windows中注册表的功能
  • /home:非root用户的家目录,windows中也有自己的家目录。
  • /root:root用户的家目录;Windows中C:\Users\Administrator目录
  • /lib:可以理解为"library"的缩写,为系统启动或者根文件系统上的应用程序(/bin,/sbin)等提供共享库,以及为内核提供内核模块。
    • libc.so.*:动态链接的c库
    • ld*:运行时链接器/加载器
    • modules:用于存储内核模块的目录
  • /lib64:为64位系统共享文件库
  • /media:便携式设备的挂载点(如光盘cdrom、u盘floppy)
  • /mnt:临时文件系统的挂载点。
  • /opt:附加程序的安装位置;相当于用户新建目录以存放安装程序。
  • /srv:当前主机为服务提供的数据
  • /tmp:临时文件(temporary files)(可供所有用户执行写入操作)
  • /usr:全局共享只读文件(Universial Shareable Read-only)(类似于Windows中的"C:\Windows"目录)
    • bin:非系统启动时用到的程序
    • sbin:系统启动时用到的程序
    • include:c程序的头文件(header files)
    • lib:程序依赖的库
      • lib64:程序依赖的库 (64位)
    • local:用来安装本地应用程序(又一个层级目录),第三方程序 (比如在MacOS下,brew安装都会安装在usr/local/bin下)
    • share:命令手册页,命令自带文档
    • src:某些程序的源代码
  • /var:可变数据文件(系统日志、缓存文件)
  • /proc:基于内存的虚拟文件系统(一切皆文件,把实时的内核参数和进程的信息进行可视化)(系统调优经常用到)
  • /sys:sysfs虚拟文件系统,提供了一种比proc更为理想的访问内存数据的途径,为管理Linux设备提供了一种统一模型的接口(see also: https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/)(系统调优经常用到)

  • swap交换空间:当内存不够使用时候,Linux会使用磁盘的一部分空间来当做内存使用,当然磁盘的速度远小于内存的速度,此时会使系统运行效率极低;Windows中也有此概念,只不过叫做虚拟内存。如图所示:


原创粉丝点击