在Linux系统中,所有的硬件设备都在/dev这个目录下
IDE硬盘:/dev/hd[a-d]
由第一第二IDE接口,以及主从对照文件名
SATA硬盘:/dev/sd[a-p]
根据系统识别的顺序来决定设备文件名。
磁盘的第一个扇区特别重要,因为它记录了两个重要的信息
每个扇区都是512bytes。
- 主引导分区(Master Boot Record,MBR)可以安装引导加载程序的地方,有446bytes
- 分区表:记录整块硬盘分区的状态,有64bytes
MBR是很重要的,因为系统在开机的时候会主动去读取这个区块的内容,这样系统才会知道你的程序放在哪里且该如何进行开机。如果你要安装多重引导的系统,MBR这个区块的管理就非常重要了!
主分区,扩展分区,逻辑分区
硬盘的限制:主分区+扩展分区<=4
扩展分区最多只有一个
逻辑分区是由扩展分区持续切割出来的分区
开机流程与主引导分区(MBR)
BIOS(Basic Input Output System)就是在开机的时候计算机会自动去执行的第一个程序
简单的说:整个开机流程:
1.BIOS:开机主动执行的韧体,会认识第一个可开机的设备
2.MBR:第一个可开机的设备的第一个扇区内的主引导分区块,内包含引导加载程序
3.引导加载程序(Boot loader):一支可读取内核文件来执行的软件
4.内核文件:开始操作系统的功能
Boot loader的作用:
1.提供菜单:用户可以选择不同的开机选项,这也是多重引导的重要功能
2.载入内核文件:直接指向可开机的程序区段来开始操作系统
3.转交其他loader:将引导加载功能转交给其他loader负责
开机需要引导加载程序,引导加载程序可以安装在MBR和启动扇区两处
每个分区都拥有自己的启动扇区(boot sector)
如果要安装多重引导,最好先安装Windows 再安装Linux?
- Linux 在安装的时候,你可以选择将引导加载程序安装在MBR或个别分区的启动扇区,
而且Linux的loader可以手动设置菜单,所以你可以在Linux的boot loader 里面加
入Windows开机想选项
- Windows在安装的时候,它的安装程序会主动覆盖掉MBR以及自己所在分区的启动扇区,
你没有选择的机会,而且它没有让我们自己选择菜单的动能
因此,如果先安装Linux再安装Windows的话,那MBR的引导加载程序就只会有Windows的选项,而不会有Linux的选项。
目录树
Linux内的所有数据都是以文件的形态呈现的,所以,整个Linux系统最重要的地方就是在于目录树结构。
- 整个目录树结构最重要的就是那个根目录(root directory),这个根目录的表示方法为一条斜线 ‘/’
以下是对这些目录的解释:
/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt: 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux: 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv: 该目录存放一些服务启动之后需要提取的数据。
/sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:这个目录是用来存放一些临时文件的。
/usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
/usr/bin:系统用户使用的应用程序。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
文件系统与目录树的关系(挂载)
挂载实际上就是在哪个目录下
ps:比如硬盘分为两个区,partition1挂载到根目录'/' partition2挂载到根目录下的子目录'/home'上,
那么存在home文件夹中的数据储存在partition2上,根目录中其他子目录中的内容都是存储在partition1上