不同操作系统对于文件系统的组织是不一样的,当前主流的两大类操作系统windows和Linux它们在文件系统组织方式上有很大差别。windows的文件系统是以驱动器盘符为基础,这样文件是挂载在分区上的,与此相反,linux和unix的文件系统都是以文件为基础,一切皆文件,分区挂载在目录下。
在Linux 和Unix操作系统中,所有的文件和目录都被组织成一个以根目录节点(/)开始的倒状的树形结构,即构成一个庞大的“文件树”。对于目录来说,有两类特殊目录形式:
- . :代表当前的目录,也可以使用 ./ 来表示;
- .. :代表上一层目录,也可以 ../ 来代表。
如果一个目录或文件名以一个点 . 开始,表示这个目录或者文件是一个隐藏的目录或者文件,即以默认方式查找时,不显示该目录或者文件。
可以使用ls命令的选项-a来查看隐藏的目录和文件
Linux文件树如下图:
下面对这些目录作一些解释
/root 超级用户登录时的主目录
/home linux系统默认的用户工作根目录,对于每一个用户,都会有一个自己的主目录,一般是以帐号名作为主目录名,比如用户gcc的主目录就是/home/gcc
/bin /esr/bin binary的缩写,存放linux常用的操作命令的执行文件,如ls,rm,touch,cat等
/boot 操作系统启动时所需要用到的程序,包括一些核心文件和镜像文件
/dev 存放linux下的设备文件,在linux中访问设备和访问文件是一样的,访问该目录下的哪个文件就是访问哪个设备接口
/etc 系统配置文件,包括网络配置文件(netinterfaces NetManager),文件系统,X系统配置文件 ,设备配置信息,设置用户信息等
/lib /usr/lib /usr/local/lib 存放系统最基本的动态链接共享库,类似于windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
/media 光驱和软驱的挂载点 linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt 光驱,软驱,硬盘的挂载点,也可以临时将别的文件系统挂载到此目录下
/proc 放置系统核心与执行程序所需要的一些信息,此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间
/sbin 超级用户管理员常用的系统管理程序
/usr 用户的应用程序和文件都在这里存放,类似windows下的program files
/sys 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/var 很多重要服务的日志信息都在此存放
/usr/src 内核源码默认放置目录
/usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。