目录
一、硬盘
1.1、硬盘的接口分类
IDE接口,多用于家用产品中,部分应用于服务器;
SATA接口,是目前市场比较流行的硬盘接口类型;
SCSI接口,主要应用于服务器市场;
光纤通道,主要使用在高端服务器上。
1.2、硬盘的命名方式
每一个设备都会映射到一个系统文件,包括硬盘、光驱IDE-SCSI设备;
1.2.1、IDE设备命名:
IDE设备,以hd命名;
主板上有两个接口,一个主板至少可以安装4个IDE设备;主IDE的主从设备名为hda,hdb,第二个IDE口上两个设备名称为hdc,hdd;
1.2.2、SCSI设备命名:
SCSI设备,以sd命名;
第一个设备名称是sda,第二个设备名称是sdb,以此类推;
1.3、分区的命名方式
分区=设备+数字,如IDE接口的命名为hda1(hd设备,a硬盘的第1分区),hda2,SCSI接口命名为sda1,sda2等;
1.3.1、了解主分区,扩展分区、逻辑分区:
一个硬盘最多可以分4个主分区;硬盘可以分区为1-3个主分区或者1个扩展分区;扩展分区又能继续划分为若干个逻辑分区;
注意点:实际上可以把扩展分区看做逻辑分区的容器
1.3.2、主分区,扩展分区、逻辑分区命名方式
主分区名称为hda1、hda2、hda3、hda4、其中扩展分区占用一个主分区的名称(可以是1-4其中一个);
逻辑分区名称一定是从hda5开始,每增加一个分区,序号加1,如第二个逻辑分区为hda6;
1.4、以文件来表示硬件设备(硬件设备映射到文件)
解析示例,/dev/hda5
/dev,是所有硬件设备而的目录文件;
h代表硬件设备的代号;
hd代表IDE设备;sd代表SCSI设备,SATA等设备;
a代表第一个硬盘,b代表第二个硬盘,以此类推;
5,分区号;
1.5、虚拟机下添加硬盘并分区
1.5.1、添加硬盘
打开虚拟机,单价菜单“虚拟机”-->“设置”命令,在“虚拟机设置”对话框点击“添加”按钮,添加一个硬盘,类型为SCSI,硬盘容量为10GB;之后点击下一步即可,如下图1,图2、图3、图4所示步骤;
图1
图2
图3
可以看到已经创建成功;
图4
1.5.2、fdisk -l命令
作用:查看添加的硬盘信息,查看分区表信息,并添加上没有分区的硬盘
用法:sudo fdisk -l
示例:如下图5
图5
1.5.3、fdisk命令
作用:创建硬盘分区
用法:fdisk [分区文件]
示例:如下图6、7、8、9、10;
对图5的loop0硬盘进行分区
图6
输入提示m查看;
图7
以下是功能选择;
图8
n创建分区,并创建逻辑分区,选择逻辑分区的大小为1
图9
按下Ctrl+z挂载,退出分区;
图10
1.5.4、mkfs命令
作用:在分区完成后,对硬盘分区格式化、创建文件系统才能正常使用
用法:mkfs -t [文件系统格式] 设备名
示例:暂无
说明:文件系统格式有ext3、nfs等;设备名称如/dev/sdb1等;
要点:扩展分区无法格式化,也无法挂载,否则会出现报错;
说明:在使用分区前需要挂载该分区,而在挂载分区前,需要新建挂载点(一般是目录);
1.5.5、umount命令
作用:卸载磁盘
用法:umount 设备名或挂载点
示例:
直接卸载设备:#sudo umount /dev/sda1(前提是这个设备存在)
通过卸载挂载点卸载设备:#sudo umount /mnt/sda1(前提是/mnt/sda1是挂载点)
二、内存
2.1、交换分区swap
swap是Linux下的虚拟机内存分区,它的作用是在物理内存使用完之后,将磁盘空间虚拟成内存来使用;
将磁盘空间虚拟成内存来使用的缺点:速度比物理内存慢;
将磁盘空间虚拟成内存来使用的优点:大小一般是物理值的两倍左右,并且可以适当增大,以实际使用量为准;
存在两种类型的交换空间:swap分区,swap文件。swap分区适用于有空闲的分区可以使用,swap文件适应与没有空闲的硬盘分区的情况。
以下内容分别介绍两种用法:
2.2、添加交换文件
2.2.1、dd命令
作用:创建交换文件;
用法:dd [参数] = [选项];
参数可选:
if = 输入文件或者设备名称;
of = 输出文件或者设备名称;
ibs = bytes表示一次读入bytesz个字节;
obs = bytes表示一次写入bytesz个字节;
bs = bytes,同时设置读写块的大小,一bytes为单位,此参数可以代替ibs和obs;
skis= blocks表示从输入文件开头跳过blocks个块后开始复制;
seek = blocks表示从输出文件开头跳过blocks个块后开始复制;
count = blocks表示仅复制blocks个块;
示例:
在根目录下创建一个6.7MB的交换文件,文件名为/swapfile,输入设备为/dev/zero,读写块1028B,如下图11
图11
说明:count=1024*6.5=6656块
2.2.2、mkswap命令
作用:指定交换文件
用法:mkswap [参数] [设备名称或文件] [交换区大小]
参数可选:
-c,作用:建立交换区前,先检查是否有损坏的区块;
-v0,作用:建立旧式分区,此为预设值;
-v1,作用:建立新式分区;
示例:
指定/swapfile作为交换文件
2.2.3、swapon命令
作用:激活交换分区
用法:swapon swap文件
示例:
暂无
2.2.4、swapoff命令
作用:删除swap文件
用法:swapoff swap文件
示例:暂无
2.3、添加交换分区
2.3.1、指定交换分区
用法:mkswap [分区文件]
示例:暂无
2.3.2、激活分区
用法:swapon [分区文件]
示例:暂无
2.3.3、显示交换分区
用法:cat [交换分区文件]
示例:暂无
2.3.4、自动加载分区
用法:vi命令编辑/swapfile文件,把该文件改为/dev/sdb5
示例:暂无
说明:该部分暂不用到,且目前脑子知识不足,无法列举知识点
三、进程管理
3.1、ps命令
作用:查看进程
用法:ps [选项] [--help]
说明:显示瞬间进程(process)的状态
选项可选参数:列出几个常用的
-A,作用:列出所有的进程
-w,作用:显示加宽以显示更多信息
-au,作用:显示更详细的资讯
-aux,作用:显示所有包含其他使用者的进程
au(x),作用:输出格式
说明:
PID:进程的ID号
USER:进程拥有者,指明是哪个用户启动了这个命令
%CPU:占用的CPU使用率
%MEM:占用的记忆体内存使用率
RSS(常驻集大小):占用的记忆体大小,指明了当前实际占用了多少内存
TTY:终端的号码
STAT:进程状态
进程有如下状态(图12):
D:不可中断的静止
R:正在执行中
S:静止状态
T:暂停执行
Z:不存在但暂时无法消除
W:没有足够的记忆体分页可分配
<:高优先级的进程
N/n:低优先级
s:包含子进程
l/L:有记忆体分页分配并锁在记忆体内
START:进程开始时间
TIME:执行的时间
COMMAND:所执行的指令
图12
示例:显示所有进程如下图13
图13
内容较多,只截了小部分;
3.2、top命令
作用:监控进程状态
用法:top [按下的字母]
说明:输入top命令后,需要在键盘按下需要执行的功能选项
参数:
q, 作用:退出
h或?, 作用:帮助
s, 作用:设定两次更新直接是时间(单位是秒)
space, 作用:更新显示
M, 作用:根据内存大小对进程排序
P, 作用:根据CPU(占用对进程排序)
u, 作用:根据特点用户的进程
k, 作用:杀死进程(给进程发送信号-->终止该进程)
r, 作用:更改进程优先级
常用选项:
-d secs,作用:在两次刷新之间延迟secs秒(默认为5秒)
-q,作用:尽量经常刷新
-n,N,作用:刷新n次后退出
-b,作用:以“批处理方式”运行
示例:暂无
3.3、kill命令
作用:中断后台进程
用法:kill [-s 信号 | -p] [-a] 进程号或 kill -l [信号]
为什么要杀死进程?可能是改、该进程占用的CPU时间过多,或者是该进程已经卡死等等
拓展:中断前台进程->Ctrl+C组合键
-s,作用:指定需要发出的信号,即可以是信号名,也可以是对应数字
-p,作用:指定kill命令只是显示进程的pid,并不真正发送出结束信号
-l,作用:显示信号名称列表,也可以在/usr/include/linux/signal.h文件中找到
示例:暂无
3.4、nice命令
作用:启动低优先级命令
用法:nice [-n] 优先级范围
说明1:
优先级范围:-20~19,一共40个等级,数字越小优先级越高,反之则优先级越低;可知-20的优先级最高,19的优先级最低;若调整后的程序优先级高于-20,则以-20运行该命令,反之也是如此;
说明2:
若nice命令未指定优先级的调整值,则以却省值10来调整程序优先级,即在当前优先级基础上加10;
说明3:
若不带任何参数运行nice命令,则显示出当前程序的运行优先级;
示例:
更改ps -axl的优先级 ,如下图14、15
图14
图15
解析:
PRI:进程优先级,我们不能改变
NI:进程nice值,代表这个进程的优先级,我们可以改变
实际运行优先级=PRI+NI,可知改变NI值即可改变该进程优先级;
3.5、renice命令
作用:重新制定一个或多个进程的优先级
用法:renice [选项] 进程名
选项可选参数:
-p,pid,作用:重新指定进程id为pid进程的优先级
-g,pgrp,作用:重新指定进程群组的id为pgrp的进程(一个或多个)的优先级
-u,user,作用:重新指定进程所有者的进程的优先级
示例:如下图16,指定id号为3197的优先级为10
图16
3.6、jobs命令
作用:显示后台正在运行的进程
用法:jobs
示例:显示后台正在运行的进程,如下图 17(Ctrl+z是挂载)
图 17
四、任务计划
4.1、at命令
作用:执行一次规定的目录
用法:at [选项] [时间日期]
选项可选参数:
-f filename,作用:指定运行的filename指定的脚步
-m,作用:完成时,用电子邮件通知用户,即便没有输出
-l,作用:列出所提交的作业
-r,作用:删除一个作业
说明:默认情况下,at指令是没有安装的,使用前需要安装,指令如下: 如下图18
sudo apt-get install at
图18
示例:暂无
4.2、batch命令
作用:不在特定时间运行命令,而是在系统不忙于别的任务时运行
用法:batch
说明:
在输入batch命令后,提示就会出现“at>”。输入要执行的命令,按下回车键,然后按下Ctrl+D键(退出)。也可以在提示后输入shell脚本,在脚步的每一行按回车键,在空行按Ctrl+D退出。
4.3、crontab命令
作用:设置指定时间执行命令
用法:crontab [选项] [用户名]
选项可选参数:
-l, 作用:显示crontab 文件的内容
-i, 作用:删除用户的crontab 文件前给提示
-r, 作用:从crontab 目录中删除用户的crontab 文件
-e, 作用:编辑用户的crontab 文件
说明:
用户建立的crontab 文件名与用户名一致,保存位置为:/var/spool/cron/crontabs中,crontab 文件分为六个字段,前五个字段是时间的设定,第六个字段是要执行的命令,下面解析前五个时间字段:
字段1,含义:分钟,取值范围:0-59
字段2,含义:小时,取值范围:0-23
字段3,含义:日期,取值范围:1-31
字段4,含义:月份,取值范围:1-12
字段5,含义:星期,取值范围:0-6
示例:在12月内,每天早上6点到12点中,每隔3小时执行一次/usr/bin/backup,从0分钟开始,如下;
#crontab -e
#0 6-12/3 * 12 * /usr/bin/backup
说明:*表示所有的,0表示从0分钟开始