一、磁盘分区
实际上硬盘只有一个,从操作系统的角度来讲把磁盘划分为一个个的区来管理磁盘,至于分区的好处就不多说了。在磁盘的第一个512字节的扇区有一个64字节的分区表,每一项有16字节所以有4项,也就意味着将磁盘分成了四个区,这个512字节叫做主引导记录(Master Boot Record,简称MBR)
二、操作系统启动过程
- BIOS(Basic Input/Output System)这段程序被固化在主板上的ROM中主要用来检查计算机各种硬件设备是否正常工作,并将计算机的控制权移交给下一段程序,这段程序可能在磁盘等一些可以启动的设备(可以想到为什么我们在用优盘装系统的时候我们需要先进入bios并将优盘设置为第一启动设备)。
- 读取可启动设备的主引导记录,主引导记录通常有446bytes,是一段开机管理程序,提供选择不同的启动项、载入核心档案、转交给其他开机管理程序的功能。这段程序由操作系统提供(为什么常说要先安装windows再安装linux?)
- 转到某一分区
- 加载操作系统
对于计算机的启动可以去看阮神的博客: 计算机是如何启动的
三、Windows与Linux磁盘管理
操作系统的磁盘管理通常是将树形目录和磁盘形成一种映射关系,通过文件路径对应于某一存储区域。Linux和Windows抽象的方式是不一样的。
挂载和挂在点:就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下; 也就是说,进入该目录就可以读区该分区的意思。这个动作我们称为『挂载』;那个进入点的目录我们称为『挂载点』
1、Windows磁盘管理
熟悉Windows的大家都清楚不同的分区用不同的盘符区分,访问不同的盘符进入到不同的分区,所以Windows是将不同的分区挂载在不同的盘符下。
2、Linux磁盘管理
Linux 系统最重要的是根目录,因此根目录一定需要挂载到某个分区的。 至于其他的目录则可依用户自己的需求来挂载到不同的分区。我们以下图来作为一个说明:
上图中假设我的硬盘有两个分区,partition 1 是挂载到根目录,至于 partition 2 则是挂载到/home 这 个目录。 这也就是说,当我的数据放置在/home 内的各级目录时,数据是放置到 partition 2 的,如果不是放在/home 底下的目录, 那举数据就会被放置到 partition 1 了!
四、Linux目录的介绍
注:该小节转至阮神的网络博客:Unix目录结构的来历。多一句嘴:目录存放文件的作用我认为不必要刻意的去记忆,在开发过程中用到的多了就熟练了practice make perfect
Unix(包含Linux)的初学者,常常会很困惑,不明白目录结构的含义何在。
举例来说,根目录下面有一个子目录/bin,用于存放二进制程序。但是,/usr子目录下面还有/usr/bin,以及/usr/local/bin,也用于存放二进制程序;某些系统甚至还有/opt/bin。它们有何区别?
长久以来,我也感到很费解,不明白为什么这样设计。像大多数人一样,我只是根据《Unix文件系统结构标准》(Filesystem Hierarchy Standard),死记硬背不同目录的区别。
昨天,我读到了Rob Landley的简短解释,这才恍然大悟,原来Unix目录结构是历史造成的。
话说1969年,Ken Thompson和Dennis Ritchie在小型机PDP-7上发明了Unix。1971年,他们将主机升级到了PDP-11。
当时,他们使用一种叫做RK05的储存盘,一盘的容量大约是1.5MB。
没过多久,操作系统(根目录)变得越来越大,一块盘已经装不下了。于是,他们加上了第二盘RK05,并且规定第一块盘专门放系统程序,第二块盘专门放用户自己的程序,因此挂载的目录点取名为/usr。也就是说,根目录"/"挂载在第一块盘,"/usr"目录挂载在第二块盘。除此之外,两块盘的目录结构完全相同,第一块盘的目录(/bin, /sbin, /lib, /tmp...)都在/usr目录下重新出现一次。
后来,第二块盘也满了,他们只好又加了第三盘RK05,挂载的目录点取名为/home,并且规定/usr用于存放用户的程序,/home用于存放用户的数据。
从此,这种目录结构就延续了下来。随着硬盘容量越来越大,各个目录的含义进一步得到明确。
/:存放系统程序,也就是At&t开发的Unix程序。
/usr:存放Unix系统商(比如IBM和HP)开发的程序。
/usr/local:存放用户自己安装的程序。
/opt:在某些系统,用于存放第三方厂商开发的程序,所以取名为option,意为"选装"。
五、内核文件与发行版
Linux操作系统是1991年芬兰 赫尔辛基大学一个大学生 林纳斯.脱瓦斯 发明的一个类Unix操作系统。林纳斯 开发的部分就是操作系统系统的“内核”。
发行版:指的是由软件发行公司,把一定的Linux内核版本、应用程序和相应的系统管理软件和安装程序,组装成一个发行套件。发行版本号码,由发行商自己决定,一般与内核版本的数字不一样。全世界的linux系统种类有上百种,它们都是linux不同的发行版。
目前Linux中国的发行版本(Linux Distribution)主要有Red Hat(红帽子), Slackware, Caldera, Debian, Red Flag(红旗), Blue Point(蓝点), Xteam Linux(冲浪), Happy Linux(幸福Linux), Xlinux、ubuntu等若干种。
发行版:内核文件 + 外围软件(图形化界面、安装程序、办公软件、记事本等等)。
六、Linux的初次使用
(该小结总结的Linux的知识点基于REHL7.4版本)
- 我们知道X window 会消耗大量的资源所以我们通常会用到命令行界面,那么如何在命令行界面和图形界面之间切换呢?在RHEL7.4中【ctrl】+【alt】+【F2】~【F6】链接着(可能用词不准确)5个命令行界面,【ctrl】+【alt】+【F1】链接着一个X window。
- 如果系统默认进入X window界面那么会默认进入【ctrl】+【alt】+【F1】链接着的那个X window。同时可以通过【ctrl】+【alt】+【F2】~【F6】快捷键进入五个命令行界面其中的一个界面。进入命令行界面后我们可以通过快捷键【ctrl】+【alt】+【F1】返回【ctrl】+【alt】+【F1】链接着的X window。可是这个时候要保证这个X window还在运行。如果我们在命令行界面通过startx来启动一个Xwindow程序,注意这个新启动的Xwindow不同于【ctrl】+【alt】+【F1】链接着的一个X window,那么如何再退回启动Xwindow的命令行界面?(我也不知道答案,希望有高手留言告知)。
- 如果系统默认启动后进入命令行界面我们可以通过键入startx命令启动X window可是这个时候我们要保证X window已经安装而且他的支持服务已经启动。
- 命令行界面的使用
- 进入命令行界面之后第一行后显示发行版本的名称和版本号,第二行会显示内核版本和硬件平台。第三行显示的是 ... login:("..."是你的主机名)就是让用户输入用名,回车确定之后输入密码(不显示密码)。登陆之后输出上次登陆的提示信息并等待用户操作。
3.退出系统
- 登陆之后如何离开本系统?键入exit命令即可。
4.执行命令
- 命令格式command 【-options】parameter1 parameter2 ......
比如:ls -al ~ 会列出用户目录下的所有的文件夹。注意:命令区分大小写
5.键入指令后的两种情况
- 输入指令后会立马输出结果并等待输入下一个指令
- 进入到该指令的环境直到结束该指令后才进入命令提示符界面等待下一个指令的输入。
6.几个有用的快捷键
- 【tab】
【tab】有命令补全和文件名补全的功能。比如:我们想输入显示日历命令的时候忘记了命令的名称只记得是以字母‘c’开头之后按下tab键之后它会列出以字母‘c’开头的所有命令。文档补全同命令补全。 - 【ctrl】+ c 如果你在命令行界面输入了正在执行错误的指令可以键入该指令终止正在执行的指令。
- 【ctrl】+ d 这个组合键代表着EOF(end of file或者end of input的意思)
-
【man】 + 指令名 man并不是男人的意思而是manual的缩写。该指令指令使用方法的说明书
使用man cal 后第一行会显示cal(1)这括号里的1代表着什么?见下表: