1、 Linux 文件
1.1 概述
Linux系统 一切皆文件。
从我们刚接触到Linux系统,就能听到这句话:Linux系统 一切皆文件。
我们来看看Linux文件系统和Windos的差异:
Windows ,我们知道一台新的电脑到手之后,往往都只有一整块大的C盘,我们要对其进行分区。
如果电脑只有一块硬盘,我们看到的磁盘分区情况,只有一块磁盘0,我们在此磁盘上进行压缩卷,新加卷,并给新加卷赋予卷名。
如果是多块硬盘,我们能看到会有磁盘二,磁盘三:
windos下文件管理基本逻辑如下:
1.2 Linux 如何进行分区?
我们再看看Linux的文件系统是什么样的?
我们遵循知识的最小利用原则,不做过深的讲解,用到那学到哪。
Linux自带文件系统
- Ext2
- ext3 、centos 5
- ext4、 centos 6
- xfs、 centos 7
交换文件系统
swap
先说说为什么说这两个:
我们此处安装的linux 是CentOS 7发行版,此版本使用xfs系统较为优秀:
Centos7 默认的文件系统,为什么要对EXT家族放弃?
从centos7开始,默认的文件系统从ext4变成了XFS。随着虚拟化的应用越来越广泛,作为虚拟化磁盘来源的大文件(单个文件几GB级别)越来越常见。XFS每个单个文件系统量最大支持8eb,单个文件可以支持16tb。XFS是一个适合高容量磁盘与巨型文件的文件系统。
1024 GB=1TB 1024TB= 1EB
XFS文件系统在数据的分布上主要划分为三部分:
数据区(data section)
文件系统活动登录区(log section)
实时运行区(realtime section)。
我们在给安装CentOS,进行分区时,要知道挂载点这个概念:
挂载点:其实就是Linux中文件系统的入口目录,类似于windows中的用来访问不同分区的C:、D:、E:等盘符。
linux、unix这类操作系统将系统中的一切都作为文件来管理。在windows中我们常见的硬件设备、磁盘分区等,在linux、unix中都被视作文件,对设备、分区的访问就是读写对应的文件。
前面讲过,Linux 系统中“一切皆文件”,所有文件都放置在以根目录为树根的树形目录结构中。在 Linux 看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构)。
简单来说,linux就是用文件夹,作为磁盘文件系统的访问入口。(windos下,你看到的就是C盘,D盘 这样的盘符)
如图所示:linux下的目录结构
我们在对CentOS分区时候,分了如下三个区:
1、/ 默认的文件系统 就是 xfs
2、boot
它包含了操作系统的内核和在启动系统过程中所要用到的文件,建这个分区是有必要的,启动分区,即使主要的根分区出现了问题,计算机依然能够启动。这个分区的大小约在60MB—120MB之间。个人推荐要大于500M
3、swap
交换分区,可能不是必须的,但是有这个交换分区可以当内存不够用时防止内存溢出(memory out).
其实它就相当于一个虚拟内存,当系统内存不够的时候,swap将会被启用。
1.2 Linux 文件目录的结构 作用、含义
再看看各个目录的实际作用:
/bin
Binary缩写,此目录存放经常使用到的命令,比如 cd 、ls、vi、mkdir 等,它其实是在usr/bin下的
/sbin
s是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/home
存放普通用户的主目录,再linux中每个用户(非系统管理元)都有一个自己的目录,一般该目录名是以用户的账号命名
**有点像 windows C盘下的 /users
/root
该目录为系统管理员,也称作超级权限者的用户主目录
/lib
系统开机所需要的最基本的动态连接共享库,其作用类似于Windos下的dll文件,几乎所有的应用程序都需要用到这些共享库
** windows C:\Windows\System32 存放着windows的基本库
/lost+found
这个目录一般情况下是空的,当非法关机后,就存放了一些文件
/etc
所有系统管理,所需的配置文件和子目录
/usr
这是一个非常重要的目录,用户很多应用程序和文件都存放在此目录下,类似于windows下的program files目录。
**其实这个usr并不是 user的缩写,它真实的含义是 :Unix System Resource Unix系统资源
/boot
这里存放的是启动Linux使用的一些核心文件,包括一些连接文件以及镜像文件。自己的文件不能放在这里
/proc
这是一个虚拟目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
/srv
service的缩写,该目录存放一些服务启动之后需要提取的数据
/sys
这是linux2.6内核的一个很大变化,该目录下安装了2.6内核新出现的一个文件系统 sysfs
/tmp
这个目录是用来存放一些临时文件的。
/dev
类似于Windows的设备管理器,把所有的硬件用文件的形式存储起来
/media (CentOS6 )
linux系统会自动识别一些设备,例如U盘、光驱、当识别后,Linux会把识别的设备 挂载到此目录下
CentOS7 迁移到/run/media
/mnt
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在mnt上,然后进入该目录,就可以查看里面的内容
/opt
这是给主机额外安装软件所摆放的目录。比如你安装一个mysql数据库则就可以放到此目录下,默认是空
/var
此目录存放着不断扩充的东西,我们习惯将那些经常被修改的目录存放在这个目录下,包括各种日志文件。