前言
在Linux世界里,一切皆文件。 我们今天一起来看看linux的目录结构
一、文件系统的概念
计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易。
文件系统使用文件和树形目录的抽象逻辑概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名即可。
二、文件系统的分类
ext2 : 早期linux中常用的文件系统
ext3 : ext2的升级版,带日志功能
ext4 : 基于磁盘(存放根目录分区)
NFS : 网络文件系统,由SUN发明,主要用于远程文件共享
NTFS : Windows NT/XP 操作系统采用的文件系统
XFS : 由SGI开发的先进的日志文件系统,支持超大容量文件
ISO9660 : 大部分光盘所采用的文件系统
SMBFS : Samba 的服务的共享文件系统
tmpfs : 临时文件系统(内存文件系统)
三, 文件系统的目录结构
3.1 windows的目录结构
在WIN系统中,查看文件先进入相应的盘符,然后进入文件目录
3.2 linux目录结构
在 Linux 系统中,所有内容都是以文件的形式保存和管理的,即「一切皆文件」。普通文件是文件,目录(Windows 下称为文件夹)是文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,就连套接字(socket)、网络通信等资源也都是文件。
linux只有一个根目录,而且文件和目录被组织成一个单根倒置树结构,
此结构最上层是根目录,用“/”表示
根文件系统(rootfs):root filesystem 标准Linux文件系统(如:ext4)
如下图:
有几个特性:
- 文件名称大小写敏感,例如:MAIL, Mail, mail, mAiL
- 以 . 开头的文件为隐藏文件
- 路径的分割用"/"
- 文件名最长255个字节
- 包括路径在内文件名称最长4095个字节
3.2.1 使用tree命令查看目录结构
具体的目录结构可以使用tree命令查看:
若无tree命令可以安装
[root@mufenggrow ~]# yum install tree -y
只查看第一层目录:
[root@mufenggrow ~]# tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
tree后面不加任何内容,表示 tree . ,也就是当前目录的目录树
只显示目录可以用tree -d
[root@mufenggrow test]# tree -d
.
├── a
├── b
└── c
3 directories
3.2.2 目录作用说明
- bin 普通用户使用的命令 /bin/ls, /bin/date
- dev 设备文件 /dev/sda,/dev/tty1,dev/tty2,/dev/pts/1
- home 普通用户家目录小区
- lost+found 孤儿文件
- proc 虚拟的文件系统,反映出来的是内核,进程信息或实时状态
- sbin 管理员使用的命令
usr 系统文件,相当于C:\Windows
- /usr/local 相当于C:\Program
- /usr/bin 普通用户使用的应用程序
- /usr/sbin 管理员使用的应用程序
- boot 存放的启动相关的文件,例如kernel,grub(引导装载程序)
- etc 配置文件
- lib 库文件Glibc
- lib64 库文件Glibc
==设备(主要指存储设备)挂载目录==
- media 移动设备默认的挂载点
- mnt 手工挂载设备的挂载点
- misc automount进程挂载
- net automount进程挂载
- root root用户的HOME
- tmp 临时文件(主要是程序产生的临时文件)
var 存放的是一些变化文件,比如数据库,日志,邮件....
- mysql: /var/lib/mysql
- vsftpd: /var/ftp
- mail: /var/spool/mail
- cron: /var/spool/cron
- log: /var/log
- 临时文件 /var/tmp (主要是程序产生的临时文件)
总结
关于目录结构,有些比较重要的目录我们要需要记住:
- /etc/resolv.conf linux系统DNS客户端配置文件,DNS(Domain Name System)在网站的运行中起到了至关重要的作用,其主要负责将网站域名解析为对应的IP地址。
- /etc/hostname 主机名配置文件
hostnamectl set-hostname itlaoxin 这个命令会直接修改配置文件 - /etc/hosts 设定用户IP与名字(或域名)的对应解析表,相当于本地(局域网内)的DNS解析文件
Linux系统下的这个/etc/hosts类似于C:\WINDOWS\system32\drivers\etc\hosts文件 - /etc/fstab:配置开机设备自动挂载的文件
- /etc/inittab:系统启动时设定运行级别等配置的文件
- ./etc/profile及/etc/bashrc:配置系统的环境变量/别名等的文件
- /etc/profile.d:用户登录后执行的脚本所在的目录
- /etc/init.d:软件启动程序所在的目录(centos7之前),centos7之后这个目录已经不用了。
- /etc/motd:配置用户登录系统之后显示提示内容的文件
- /etc/redhat-release:查看Red Hat版本号和名称信息的文件
- /etc/sysctl.conf:Linux内核参数设置文件
- /var/log:记录系统及软件运行信息文件所在的目录
- var/log/secure:用户登录信息日志文件
- /var/log/dmesg:记录硬件信息加载情况的日志文件
- /proc/cpuinfo 当前cpu相关的信息
- /proc/meminfo 当前内存信息
- /proc/loadavg 当前平均负载相关的信息
- /proc/mounts 当前挂载相关的信息
好了,今天就学到这吧。