文件系统结构目录
文件系统的概念
计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易。
文件系统使用文件和树形目录的抽象逻辑概念,用户使用文件系统来保存数据,不必关心数据实际保存在硬盘的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名即可。
文件系统的分类
ext2:早期的linux中常用的文件系统。
ext3:ext2的升级版,带日志功能。
ext4:基于磁盘(存放根目录分区)。
NFS:网络文件系统,由SUN发明,主要用于远程文件共享。
NTFS:Windows NT/XP 操作系统采用的文件系统。
XFS:由SGI开发的先进的日志文件系统,支持超大容量文件。
ISO9660:大部分光盘所采用的的文件系统。
SMBFS:Samba服务的共享文件系统。
tmpfs:临时文件系统(内存文件系统)。
文件系统的目录结构
在linux系统中,所有内容都是以文件的形式保存和管理的,即一切皆文件。普通文件是文件,目录时文件,硬件设备(键盘、监视器、硬盘、打印机)是文件,套接字(socket)、网络通信等资源也是文件。
linx只有一个根目录,而且文件和目录呗组织成一个单根倒置树结构,此结构最上层是根目录,用/表示
根文件系统(rootfs):root filesystem 标准Linux文件系统(如:ext4)
有几个特性:
文件名称大小写敏感,例如:MAIL, Mail, mail, mAiL
以
.开头的文件为隐藏文件路径的分割用
/表示文件名最长255个字节
包括路径在内文件名称最长4095个字节
tree命令查看目录结构
[root@lwz1 ~]# yum install tree -y # 下载tree命令
[root@lwz1 ~]# tree -L 1 / # 由于/目录下的结构太多了不方便展示,这里只显示一层目录结构做展示。
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── lost+found
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
20 directories, 0 files
tree命令选项:
-a:显示所有文件,包括隐藏文件-d:只显示目录-f:显示每个文件的绝对路径-i:不显示树枝,常与-f配合使用-L:level遍历目录的最大层数,level为大于0的正整数
目录作用说明
/bin:/bin -> /usr/bin(软链接指向/usr/bin),bin是Binaries(二进制文件)的缩写,这个目录存放着一些常用命令。/sbin:/sbin -> /usr/sbin(软链接指向/usr/sbin),其中的s是super user,这里存放的是系统管理员root使用的命令。boot:这里存放的是启动linux系统时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev:(Device)设备,存放linux的外部设备,用于与硬件设备进行交互。/etc:(Etcetera),配置文件。/home:用户的家目录。/lib、/lib64:(Library)库,共享库文件,包含供可执行文件使用的共享库。执行
ldd /bin/ls命令可查看ls命令依赖的库文件。
/media:用于挂载可移动介质(如光盘、USB驱动器)的默认挂载点。/mnt:临时挂载点。/opt:可选软件包的安装目录。/proc:虚拟文件系统,提供有关系统内核和进程的信息。/root:root用户的主目录。/run:在系统引导过程中创建的运行时文件和数据。/srv:存放服务相关的数据目录。/sys:包含与内核相关的文件,用于与内核进行交互。/tmp:临时文件目录,用于存放临时文件。/usr:用户应用程序和文件的根目录,类似windows的C:\Windows/usr/local:类似于C:\Program/usr/bin:普通用户使用的应用程序。/usr/sbin:管理员使用的应用程序。
/var:数据文件、日志文件、缓存文件等经常变动的文件存放目录。mysql:
/var/lib/mysqlvsftpd:
/var/ftpmail:
/var/spool/mailcron:
/var/spool/cronlog:
/var/log临时文件:
/var/tmp(主要是程序产生的临时文件)
/lost+found:当系统非法关机后,这里就存放了一些文件。/etc/selinux:Selinux是一个安全机制,比较复杂,类似于windows的防火墙,这个目录存放selinux相关的文件。
重要目录
/etc/resolv.conf:linux系统DNS客户端配置文件,DNS(Domain Name System)在网站的运行中起到了至关重要的作用,其主要负责将网站域名解析为对应的IP地址。/etc/hostname:主机名配置文件,hostnamectl set-hostname 主机名这个命令会直接修改配置文件,重启后生效/etc/hosts:设定用户IP与名字(或域名)的对应解析表,相当于本地(局域网内)的DNS解析文件 ,类似于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:当前挂载相关的信息