我们都知道,windows下要查看文件需要进入到相应的盘符,比如C盘,D盘,E盘,然后进去进入文件目录。
Linux里面也一样,也有自己的目录结构,只不过在windows是将分区映射成一个盘符,而Linux是将分区映射成一个目录。我们今天就来讨论下Linux当中的目录结构。
我们在windows看到的所有的文件都是在同一个分区下的文件,不会存在跨分区的文件,给我们直观的印象就是所有的文件都保存在这个目录下,而这个目录就是分区。这是windows的管理方式
而在Linux里面是不同的,这里有个概念叫挂载点。 Linux下所有的设备和分区都被影射成一个目录,根目录是所有分区的总挂载点。
首先我们来看看/下有哪些目录结构:
[root@zmgaosh ~]# ls /
bin CloudrResetPwdAgent home lib media proc sbin tmp
boot dev HostGuardAgent_Linux64_V1.12.50.rpm.sha256 lib64 mnt root srv usr
CloudResetPwdUpdateAgent etc hostguard_setup_config.dat lost+found opt run sys var
根下目录的作用说明:
目录|说明|
/|根分区是Linux文件系统 的入口,一般只存放目录,不要存放文件,/etc/ /bin都在此分区
/bin|常用的二进制命令目录,一些常见的命令,比如ls,cd,tar ,cat等
/boot|放置Linux启动时用到的一些文件,一般单独分区,大小200M即可
/dev | 存放Linux系统下的设备文件,访问这个目录下的文件相当于访问设备
/etc|系统的配置文件存放根目录,重要的目录有/etc/fstab ,/etc/init.d,/etc/sysconfig/修改配置文件记得备份
/home |系统默认的家目录,新增账号时,用户的家目录都存放在此
/lib|系统使用的函数库目录,lib/modules是个比较重要的目录
/lsot+fount|系统产生异常的时候,会将一些遗失的片段放置此目录下
/mnt| /media:一般用来临时挂载存储设备的过载目录,比如u盘,cdrom
/opt |给主机额外安装软件所摆放的目录,我一般习惯放置在/usr/local下
/proc|此目录的数据都存放在内存里,如系统核心,外部设备,网络状态,存放在内存,所以不占用磁盘空间。 cpuinfo ,ioports等
/root| 系统管理员的家目录
/sys | 系统目录存放硬件相关的文件
/run |运行目录,存放系统运行时候的数据,比如pid文件
/srv| 服务目录,主要存我们本地服务相关的文件
/sbin| 放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。
/tmp|一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/usr|存放应用程序和文件,/usr/bin 普通用户使用的应用程序 /usr/sbin 管理员使用的应用程序
/var | 放置系统执行过程中经常变化的文件,如随时更改的日志文件
这里提一下文件分类:
文件分类:
- 普通文件: 主要用来存放数据,程序等信息的文件。包括二进制文件和文本文件
- 目录文件:
- 设备文件:用于操作系统与外部设备连接的一种文件。 /dev
- 链接文件,后期会学到软连接和硬链接的概念
- 管道文件: 主要用于在进程间传递数据的一种特殊文件
- 套接口文件,主要用于不同计算机网络通信的一种特殊文件
注意: 在这里提到的Linux相关的目录,你都没有必要挨个去记住是做啥的,在你学习和工作一段时间之后自然就记住了。
学习方法篇:
Linux运维其实是一个重视实践的学科,或者说计算机行业是个重视实践的学科。 其实我在刚开始工作的时候,也分不清每个目录是做什么的,后来通过遇到问题百度,有些目录反复使用,比如/usr/local一直都用来存放软件
做实验的时候/mnt一直用来挂载镜像, 查看cpu,一直查看/proc/cpuinfo。 慢慢的用的次数多了,就知道这个目录是做啥的了。
而且操作系统的目录也好,命令的参数也好,都是有规律可循的,比如-v 参数,一般都表示详细列出。
这一章学完后,你只要暂时记住这么几个目录就可以了。
|目录|作用|
/| 根目录
/boot| 系统启动和内核
/bin|系统基本命令目录
/lib|系统库文件
/dev | 设备驱动
/mnt| 虚拟机实验时候的挂载镜像目录