目录
一、运行级别
1、级别
init级别 | systemctl target | 含义 |
0 | shutdown.target | 关机 shutdowm -h now |
1 | emergency.target | 单用户 # 注意该模式不提供网络连接, 所以无法使用超级终端进行连接。 |
2 | rescure.target | 无网络多用户 |
3 | multi-user.target | 命令行模式 |
4 | 无 | 官方预留,未定义内容 |
5 | graphical.target | 图形化模式 |
6 | 无 | 重启 reboot |
2、Centos7修改默认运行级别
i、查看默认的运行级别
通过systemctl get-default可以获得默认启动的target
ii、切换运行级别
systemctl isolate multi-user.target 在不重启的情况加切换到命令行模式
iii、设置默认运行级别
systemctl set-default
修改为命令行只需执行:
systemctl set-default multi-user.target
修改为图形界面执行:
systemctl set-default graphical.target
iv、查看当前运行级别
who -r 可以查看当前系统的运行级别和系统时间
runlevel 可以查看之前的运行级别和当前的运行级别。
N表示前面没有运行级别(NULL) ,3表示当前处于运行级别
二、磁盘(硬盘)
1、磁盘简介
磁盘:它是由一个个盘片组成的,从盘片的结构上来看,图中的一圈圈灰色同心圆为一条条磁道,从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称为一个扇区,扇区时磁盘的最小组成单元,常时512字节。
- 磁盘分区:指定分割区域起始与结束磁柱
- 磁盘存取的区域 例如A磁柱到B磁柱之间的区块,磁盘在此分割区域内操作系统能够知道它可以在指定区块进行文件读,写,查询等操作、
- 但是需要注意使用硬盘之前需要格式化!
- 因为每种操作系统所设定的文件属性/权限,以及存放数据的格式 有所不同
2、磁盘在linux中的标识
hdx(x为从a—d):IDE硬盘(已淘汰,读写速度低并且容量小)
sdx(x为a—z):SCSI,SATA,USB硬盘
例:sda1
表示是系统中的第一块硬盘的第一个分区
sda | 其中a表示第一块硬盘 |
1 | 表示第一个分区 |
主分区与扩展分区:
主分区 | 用于安装操作系统,也可以用于数据的存储 |
扩展分区 | 该分区不能够直接使用,需在此分区上建立逻辑分区才能够使用 |
逻辑分区 | 该分区只能用于数据的存储,不能用于系统的安装。 |
分区表:
分区表就是支持硬盘正常使用的一个骨架,操作系统是通过它把硬盘划分为若干个区。
MBR | 比较老,有缺陷,由IBM公司提出,此分区表最大支持4个主分区和2TB容量。 |
GPT(GUID) | 取消扩展分区,所有的分区都可以当作主分区。并且支持的硬盘容量18EB。 |
主分区的作用:
很明显的体验就是在于某台电脑想要安装多个操作系统时,MBR最多支持4个。
GPT呢,只要硬盘空间允许,想装多少个系统,开心就好~
MBR和GPT的取舍:
Win7用户建议使用MBR
Win8以上的用户建议使用GPT。
Mac系统使用的GPT格式。
Linux系统的分区表工具:
fdisk -l | 用于mbr分区表 |
parted -l | 用于GPT分区表 |
df -h | 用于查看分区的使用状态,此命令无法查看swap |
3、文件系统
Ext2/Ext3/Ext4区别
-
- Ext*、NTFS和FAT32这三个都是文件系统格式
- Linux kernel自2.6.28开始正式支持新的文件系统Ext4
- Ext4是Ext3的改进版,修改了Ext3中部分重要的数据结构
- Ext3对Ext2,只是增加了一个日志功能
- Ext4可以提供更佳的性能和可靠性,还有更为丰富的功能,更大的文件系统和更大的文件。
- 较之Ext3所支持的最大16TB文件系统和最大2TB文件,Ext4分别 支持1EB(1,048,576TB,1EB=1024PB,1PB=1024TB)的文件系统,以及16TB的文件。
无限数量的子目录
Ext3只支持32,000个子目录,而Ext4支持理论值的无限数量的子目录
延迟分配
Ext3的数据块分配策略是尽快分配,而Ext4是尽可能地延迟分配,直到文件在cache中写完才开始分配数据块并写入磁盘。
如此能优化整个文件的数据块分配,显著提升性能。
快速fsck(文件系统检查)
老的fsck会很慢,因为它要检查所有的索引节点(inode)
Ext4给每个组的索引节点表中添加了一份未使用inode的列表,执行fsck就可以跳过它们而只去检查那些在用的索引
持久预分配(Persistentpreallocation)
常常会预先创建 一个与所下载文件大小相同的空文件,以免未来的数小时或数天之内磁盘空间不足导致下载失败。Ext4在文件系统层面实现了持久预分配并提供相应的API,比应用软件自己实现更有效率。
三、swap交换分区
1、swap概述
使用磁盘来存储内存不够而“溢出来”的内容(拿硬盘空间来存储内存溢出的数据),当系统的物理内存不够用的时候,就需要将物理内存的部分空间释放,以供当前程序的使用。
最容易被释放的对象:一些很长时间没有操作的程序,被保存到Swap空间中,等到那些被换出来的程序要继续运行,再从Swap中恢复报春的数据到内存中。
2、设置swap大小
8G以内的物理内存,SWAP 设置为内存的2倍。
8G-16G以内的的物理内存,SWAP 等于内存大小或者设置为8G。
16G-256G 的物理内存,SWAP 设置为实际内存的1/2即可。
3、系统什么时候会使用swap
实际上,并不是所有物理内存被用完,是由swappiness参数值控制。
命令:cat /proc/sys/vm/swappiness 得到默认值为30
swappiness=0的时候表示最大限度使用物理内存,然后才时swap空间,
swappiness=100的时候表示积极使用swap分区,并且把内存上的数据及时搬运到swap空间里面。
4、如和修改swap参数
临时性修改:
[root@localhost ~]# sysctl vm.swappiness=10
[root@localhost ~]# cat /proc/sys/vm/swappiness
10
这里我们的修改已经生效,但是如果我们重启了系统,又会变成30.
永久修改:
在/etc/sysctl.conf 文件里添加如下参数: vm.swappiness=10
四、挂载
1、为什么要挂载
因为文件系统并不能够直接使用。
windows的文件系统需要盘符来表示。
linux的文件系统需要目录作为入口。
分区的格式就是文件系统
2、挂载
mount 文件系统 目录(挂载点)
例如:挂载光盘镜像文件
mkdir /home/cdrom # 此处创建目录cdrom并不是非要这个名称,是因为想做到见名知意。
mount /dev/cdrom /home/cdrom
挂载U盘:
需要注意:U盘的格式如果为NTFS,那么需要安装一个插件之后才能够进行挂载,否则无法识别。
yum install ntfs-3g
如果是fat32的,那么可以直接进行挂载。
mkdir /home/udisk # 此处创建目录udisk并不是非要这个名称,是因为想做到见名知意。
lsblk # 用来查看文件系统
mount -o iocharset=utf8 /dev/sdb1 /home/udisk
上面的命令,其中 "-o iocharset=utf8" 是用于解决U盘挂载之后的字符乱码问题。
2、取消挂载
umount 挂载点
可以通过df -h的命令查看当前文件系统的状态。如下图:
umount /home/udisk
无法取消挂载:如图
图中出现的情况是由于当前root账户处于cdrom目录中,所以导致无法取消挂载。还有其他可能是由于别的用户或软件仍在使用该目录中的文件所导致。