linux复习资料不要积分Word文档格式.docx
- 文档编号:20259817
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:57
- 大小:2.01MB
linux复习资料不要积分Word文档格式.docx
《linux复习资料不要积分Word文档格式.docx》由会员分享,可在线阅读,更多相关《linux复习资料不要积分Word文档格式.docx(57页珍藏版)》请在冰豆网上搜索。
v狭义的Linux是指Linux的内核(Kernel),它完成内存调度、进程管理、设备驱动等操作系统的基本功能,但是并不包括应用程序。
v广义的Linux是指以Linux内核为基础,包含应用程序和相关的系统设定与管理工具的完整的操作系统。
vLinux的版本号分为两部分:
内核版本和发行版本。
Linux内核版本
Linux的内核版本号由3个数字组成,一般表示为X.Y.Z形式,如2.4.18。
其中:
X:
表示主版本号,通常在一段时间内比较稳定。
Y:
表示次版本号。
如果是偶数,代表这个内核版本是正式版本(或称稳定的核心版本),可以用于实际的产品中;
而如果是奇数,则代表这个内核版本是测试版本还不太稳定,功能也不完善,仅供测试。
Z:
表示补丁的版本号,这个数字越大,则表明修改的次数越多,版本相对更完善。
Linux的发行版本
Linux的发行版本就是Linux内核再加上外围的实用程序组成的一个大软件包而已。
相对于操作系统内核版本,发行版本的版本号是随发布者的不同而不同,与Linux系统内核的版本号是相对独立的,
Linux的发行版本大体可以分为两类:
一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的RedHatLinux为代表,后者以Debian为代表。
系统管理员的基本任务
增加、删除以及管理用户帐号、增删硬件、执行备份、安装和更新软件、监视系统、故障诊断、维护本地wedang、警惕系统安全、帮助用户
Linux磁盘分区的表示
Linux主机规划
根目录/与Swap,Swap分区有点类似于Windows的“虚拟内存”。
vPC机硬盘代号(2/6)
v每条数据线可以连接两个IDE设备(硬盘和光驱),也就是说如果有两条数据线,那么一台PC可以连接四个IDE接口的设备。
是Primary还是Secondary请参考硬盘的Jump设置说明。
v硬盘代号约定如下:
•第一个IDE的Master上之硬盘hda
•第一个IDE的Slave硬盘hdb
•第二个IDE的Master硬盘hdc
•第二个IDE的Slave硬盘hdd
v硬盘分为两个区域:
一个用于放置硬盘的信息(硬盘的0磁道的第一个扇区,通常称为MBR),一个则是放置实际数据文件的地方。
vMBR是硬盘最重要的地方。
记录两个重要东西:
•启动管理程序(446字节)
•硬盘分区表(66个字节,所谓的硬盘分区实际就是修改硬盘分区表,它基本上定义了第n个磁盘分区是由第x磁柱到第y磁柱)
vMBR最多容纳4个分区记录,这些分区又可以分为主分区(Primary)和扩展分区(Extended),扩展分区最多一个。
v扩展分区不能直接使用,需要分为逻辑分区才行。
vLinux的代号是在硬盘代号后面加序号,而且1~4号被预留给4个分区记录。
v主分区和扩展分区
v一个硬盘上最多只能有四个主分区,其中一个主分区可以用一个扩展分区来替换。
也就是说主分区可以有1~4个,扩展分区可以有0~1个,而扩展分区中可以划分出若干个逻辑分区。
v分区则使用数字来表示,数字1~4用于表示主分区或扩展分区,逻辑分区的编号从5开始。
vIDE0接口上主盘的第1个主分区称为/dev/hda1
vIDE0接口上主盘的第1个逻辑分区称为/dev/hda5
如果我只有一块硬盘,而且是IDE2的主盘,那么它的代号是多少?
/dev/hdc
如果硬盘分为四个区,那么可能的分法是?
P+P+P+E或P+P+P+P
如果要将我的大硬盘分为4个区,同时还有其他的空间可以用于未来规划,那么应该如何分割?
三个主分区,剩下空间给扩展分区,扩展分区再根据需要分为逻辑分区。
第2章引导和关机
引导的主要任务:
加载内核到内存、执行各种初始化
Linux的引导方式
自动方式:
无须管理员干预
手动方式:
系统先自动执行一些过程,然后在运行大多数初始化脚本之前,把控制权力交给管理员。
这时候计算机处于单用户模式。
通常在系统出现故障时才使用手动方式。
典型的引导过程:
加载并初始化内核、检测和配置设备、创建自发的系统进程、管理员参与(如果是手工引导)、执行系统初始化脚本、多用户使用
Linux有两种流行的引导加载程序:
LILO:
传统的Linux引导加载程序,非常稳定而且有丰富的文档。
LILO的安装与配置需要分成两个步骤:
设定/etc/lilo.conf这个配置文件用lilo命令改写MBR或者superblock
GRUB:
Linux引导加载程序的新贵,更加灵活而复杂,基本垄断了新的Linux发行版本。
修改配置文件/boot/grub/grub.conf即可
使用GRUB的好处:
1、GRUB可以让您在开机的时候自行编辑与修改启动配置项,有点像是bash的指令模式2、GRUB可以自动动态寻找配置文件,亦即它可以依据/boot/grub/grub.conf的内容而改变其设置。
因此,修改启动配置只要改/boot/grub/grub.conf即可,不需要再重新安装GRUB!
GRUB的用户界面的三种模式:
菜单模式、菜单编辑模式和命令行模式。
实例重设root用户密码
有时候会忘记root用户的密码,下面给出解决办法。
第1步:
重启系统,进入GRUB启动界面(菜单模式)。
选择“RedHat9.0”菜单项,单击【E】键,进入菜单编辑模式。
第2步:
选择“kernel”菜单项,单击【E】键对该项进行编辑,将光标移动到最后,输入single,敲回车键,然后单击【B】键启动系统。
注意:
single和前面的单词之间有空格。
第3步:
在Linux的单用户模式下,执行命令#vi/etc/passwd(或#vim/etc/passwd),将光标移到字母x,
单击【DEL】键,删除字母x,然后按【Shift】和【:
】键,在冒号后输入“wq”,接着敲回车键,至此,root用户的密码已经被清除。
第4步:
执行命令#init3(或#init5)。
第5步:
进入Linux系统后,执行命令#passwd为root用户重新设置密码。
启动脚本
init执行:
内核加载之后,由内核执行的第一个程序就是/sbin/init。
而这个程序第一个目标当然就是确定主机是要以那种模式(通常叫runlevel)登录。
这个时候就必须要以/sbin/init来加载/etc/inittab的信息。
Linux的运行级别
1./etc/inittab文件
Linux系统的运行级别可以理解为当用户登录时,系统为用户提供何种服务,它取决于/etc/inittab配置文件的内容。
inittab文件是init进程的配置文件,用于指定系统启动时和正常运行时将要运行哪些脚本和服务。
/etc/inittab文件中每一配置命令行由id、runlevels、action、command四个字段依次构成,各字段间用冒号分隔,共同确定某个进程在哪些运行级别以何种方式运行。
2.设置Linux的运行级别
大多数类UNIX系统都对init的定义,将运行级别分为7种模式。
运行级别的七种模式
运行级别说 明
0关机(halt)
1进入单用户模式
2多用户模式,无网络支持
3完全的多用户模式,有网络支持,文本界面
4未使用,为保留的运行级别
5完全的多用户模式,有网络支持和X11图形接口
6重启系统
一般系统默认的运行级别为3或5。
系统管理员可以通过修改/etc/inittab文件内容来重新指定系统的默认运行级别,但应避免设为0或6,因为这两个执行模式会在开机后直接关机或重启。
若要修改运行级别,只需要在此文件中找出一行:
id:
3:
initdefault:
其中的数字3表示目前系统默认的运行级别为3,将此数字修改为0-6之间的其他数字应改变了系统的运行级别,如改为5,系统将以图形界面登录,并提供多用户和网络支持。
在系统运行过程中,可以使用下列格式的命令使系统进入
指定的运行级别:
[root@rhel4~]#/sbin/init<
runlevel>
runlevel为指定的运行级别,取值为0~6。
例如,以下命令将使系统进入运行级别5。
[root@rhel4~]#/sbin/init 5
而下列命令将使系统重新启动:
[root@rhel4~]#/sbin/init 6
设置或修改了系统的运行级别后,可以通过以下命令来查看
设置的结果:
[root@rhel4~]#/sbin/runlevel
53
其中,“5”表示修改前的运行级别,“3”表示当前的运行级别。
vinit执行运行级的各脚本
▪当init从低的运行级别向高的运行级别过渡时,它按照数字递增地运行所有以S开头的、带有start参数的脚本。
▪当init从高的运行级别向低的运行级别过渡时,它按照数字递减地运行所有以K开头的、带有stop参数的脚本。
▪脚本的目录由当前运行级别决定,例如运行级别为3,则目录是/etc/rc3.d/
v初始化脚本执行之后,最后执行/etc/rc.d/rc.local,通常进行个性化设置。
可以说,rc.local是作为启动过程的一部分最后运行的脚本。
正确的关机方式
v命令:
shutdown
▪shutdown会通知系统内的各个进程,并且将通知系统中的系统run-level内的一些服务来关闭。
Shutdown可以实现:
•可以自由选择关机模式:
是要关机、重启或进入单用户模式均可。
•可以设定关机时间:
可以设定成现在立刻关机,也可以设定某一个特定的时间才关机。
•可以设置关机信息:
在关机之前,可以将自己设定的消息传送给在线用户。
•可以仅发出警告信息:
有时有可能你要进行一些测试,而不想让其它的使用者干扰,或者是明白的告诉使用者某段时间要注意一下!
这个时候可以使用shutdown来吓一吓使用者,但却不是真的要关机
•可以选择是否要fsck检查文件系统。
shutdown[-t秒数][-rkhcfF]时间[信息]
-t秒数意思是动作在XX秒之后开始执行
-k意思是不要真的关机,只是发送警告信息
-r意思是在系统的服务停止之后重新启动
-h意思是在系统的服务停止之后关机
-f意思是重新启动后略过fsck工具的磁盘检查
-F意思是重新启动后执行fsck工具的磁盘检查
-c意思是取消已经在运行的shutdown命令
时间可以是:
now代表立即执行、hh:
mm今天的几点几分、+mmmm分钟之后,now等价于+0
shutdown-hnow立刻关机
shutdown-h20:
25系统在今天的20:
25分会关机
shutdown-h+10系统再过十分钟后自动关机
shutdown-rnow系统立刻重启
shutdown-r+30'
Thesystemwillreboot'
再过三十分钟系统会重新开机,并显示后面的信息。
shutdown-know'
Thissystemwillreboot'
仅发出警告信息,吓唬人!
第3章 超级用户的权力
Linux/Unix下的配置文件都是文本文件,vi是使用最广泛的编辑器。
启动vi编辑器:
Ø
在提示符状态下输入“vi[文件名]”即可启动vi编辑器。
如果不指定文件名,则新建一个未命名的文本文件,退出vi时必须指定文件名;
如果指定文件名,则打开该文件或创建该文件(若指定的文件不存在)
vi的工作模式:
vi编辑器具有命令模式、插入模式和末行模式三种工作模式。
vvi的命令模式:
▪以vi处理一个文件的时候,一进入该文件就是命令模式了(vi命令启动后的默认状态)。
在这个模式中,可以使用上下左右键来移动光标,也可以使用删除字符或删除整行来处理文件内容,也可以使用复制、粘贴。
vvi的编辑模式:
▪在一般模式中可以处理删除、复制、粘贴等动作,但是却无法编辑。
▪按下i,I,o,O,a,A等字母之后才会进入编辑模式,进入该模式后,左下方会出现INSERT或REPLACE等字样。
▪按下ESC就可以回到命令模式
vvi的举例:
输入vitest.txt——>
按下i,进入编辑模式——>
输入hello——>
按下Esc进入命令模式——>
输入:
wq回车保存退出
vVi末行模式下常用命令:
:
n跳到第n行、:
q退出,如果有修改没有保存会提示、:
wq存盘退出、:
q!
不保存退出、:
w存盘、:
wfile将当前编辑内容保存到file、:
rfile读取另外一个文件file的数据,插入到光标所在行的后面、:
fnewfile将当前文件重命名到newfile
切换用户身份
为了保证系统安全,Linux系统管理员通常以普通用户身份登录系统,当要执行必须有root用户权限时,再切换为root用户。
要进行用户身份的切换可使用su命令来实现,
如果以普通用户ztguang登录,此时需要执行useradd命令添加用户,但是ztguang用户没有这个权限,而root用户有这个权限。
解决的办法有两个,一是退出ztguang用户,重新以root用户登录;
二是用su来切换到root用户执行添加用户的任务,等任务完成后再退出root用户,返回ztguang用户。
su[-][用户名]
如果缺省用户名,则切换到root用户,否则切换到指定用户(系统中已存在的用户)。
vsu命令:
▪创建子shell,并切换到username用户,如果没有username参数,那么切换到root。
退出可以输入exit
▪加入-可以强制创建登录shell,相当于重新登录
▪root用户切换到其他用户不需要输入密码
【例】用普通用户student登录系统,然后切换为root用户,并使用root用户的环境变量。
rhel4login:
student
Password:
//输入用户student的口令
[student@rhel4~]$su-//当前用户是student,~表示用户主目录/home/student
password:
//输入用户root的口令
[root@rhel4~]#//当前用户是root,~表示用户主目录/root
【例】由普通用户student切换为lenovo
[student@rhel4~]$sulenovo
[lenovo@rhel4student]$pwd
/home/student
[lenovo@rhel4student]$
sudo命令的好处:
自动保存命令日志、操作员不需要root特权就能完成许多任务、真正的root口令只让一两个人知道、执行sudo比用su或者用root登录快、不需要改变root口令就能撤销一些权限、可以使用单个文件来控制对整个网络的访问权限
sudo命令的用法:
sudocommand。
第一次执行会要求输入密码(使用者自己的密码而非root密码)。
sodo命令的配置在/etc/sodoers文件中
v功能:
sudo可让用户以其他的身份来执行指定的指令,预设的身份为root。
v在/etc/sudoers中,设置了可执行sudo指令的用户。
若其XX的用户企图使用sudo,则会发出警告的邮件给管理员。
v用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。
v通过sudo,能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码,所以sudo相对于权限无限制性的su来说,还是比较安全的,所以sudo也能被称为受限制的su。
另外sudo是需要授权许可的,所以也被称为授权许可的su。
vsudo执行命令的流程是:
当前用户切换到root(或其它指定切换到的用户),
v然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户。
v前提是要通过sudo的配置文件/etc/sudoers进行授权;
第4章 进程控制
进程的定义
Linux是一个多用户多任务的操作系统。
多用户是指多个用户可以在同一时间使用计算机系统;
多任务是指Linux可以同时执行几个任务,它可以在还未执行完一个任务时又执行另一项任务。
那到底什么叫进程?
Linux系统上所有运行的程序都可以称之为一个进程。
Linux用分时管理方法使所有的任务共同分享系统资源。
v进程的一个比较正式的定义是∶在自身的虚拟地址空间运行的一个单独的程序。
v进程与程序是有区别的,进程不是程序,虽然它由程序产生。
v程序只是一个静态的指令集合,不占系统的运行资源;
而进程是一个随时都可能发生变化的、动态的、使用系统运行资源的程序。
v而且一个程序可以启动多个进程。
v进程(Processes)是指具有独立功能的程序的一次运行过程,也是系统资源分配和调度的基本单位。
vLinux系统在刚刚启动时,运行于内核方式,此时只有一个初始化进程在运行,该进程首先对系统进行初始化,然后执行初始化程序(即/sbin/init),初始化进程是系统的第一个进程,以后的所有进程都是初始化进程的子进程。
进程的类型
v交互进程:
由shell通过执行程序所产生的进程,可以工作在前后台。
v批处理进程:
不需要与终端相关,是一个进程序列。
v守护进程:
linux系统自动启动,工作在后台,用于监视特定服务。
进程的启动
1.手工启动:
手工启动即由用户在Shell命令行下输入要执行的程序来启动一个进程。
手工启动又可以分为前台启动和后台启动。
用户输入Shell命令后直接按Enter,则启动前台进程;
如果在输入Shell命令后加上“&
”符号再按回车则启动后台进程。
2.调度启动:
调度启动是指系统按照用户的事先设置,在特定的时间或者周期性地执行指定的进程。
Linux中可以实现at调度、batch调度和cron调度。
进程的组成部分
进程由一个地址空间和内核内部的一组数据结构组成
地址空间是内核标记出来供进程使用的一组内存页面(注意:
不等于物理内存),它包含正在执行的代码和库、进程变量、堆栈等。
内核的数据结构则记录进程的各种信息,包括:
进程的地址空间映射、进程的当前状态、进程执行的优先级、进程的信号掩码(记录哪些信号需要封锁)、进程的所有者、进程已经使用的资源
进程的相关参数:
PID:
进程的ID号:
内核分配给每一个进程一个唯一编号、控制进程的大多数命令和系统调用都需要PID来标识操作目标、PID按照创建进程的顺序来分配,内核用光PID时,就再次从1开始,并跳过在用的PID
PPID:
父进程的PID:
Linux没有提供创建新的进程去执行命令的API、Linux中只能克隆自身去创建新的进程,克隆进程能够把正在运行的程序替换为另外一个程序、进程被克隆时,原来的进程就叫父进程,副本则称为子进程,进程的PPID就是克隆出自己的那个进程的PID。
谦让度:
进程调度的优先级决定了操作系统分配给进程的CPU时间、内核会综合考虑各种因素来计算优先级(进程已经消耗的总的CPU时间、进程等待运行的时间)、内核计算优先级的时候还会考虑nicevalue。
nicevalue是谦让其他用户进程的程度,值越大就越“绅士”。
控制终端:
控制终端决定标准输入、标准输出以及标准错误的通道
信号:
v信号是进程级的中断请求。
使用信号的方式有以下情况:
▪进程之间通信的手段
▪终端驱动程序可以发送信号来终止、中断或者挂起进程
▪管理员可以使用命令给进程发送信号
▪进程出错时,内核可以发送信号
v信号发送到进程时,进程可以捕获该信号,进行相应的处理。
如果不处理,那么内核将采取某种默认措施。
v许多信号会终止进程,有些信号会产生内存转储(dump)
v为了防止信号到达,程序可以忽略信号或者封锁(block)信号。
v系统管理员应该知道的信号:
▪KILL杀死/删除进程,编号为9
▪STOP挂起/暂停正在执行的进程,直到收到CONT为止
vKILLSTOP都不能够被捕获、封锁或者忽略,默认处理都不会产生内存转储。
▪CONT取消挂起,继续执行进程
▪TSTP是STOP信号的“软”版本,即在用户输入Ctrl+Z时由终端驱动程序发送的信号。
捕获到该信号的进程通常清除它们的状态
▪INT中断信号,编号为2
v当用户输入Ctrl+C时由终端驱动程序发送INT信号
vINT信号是终止当前操作的请求,简单程序捕获到INT信号时应该退出,拥有命令行或者输入模式的那些程序应该停止他们正在做的事情,清除状态,并等待用户再次输入。
▪TERM软件终止信号,编号为15
vTERM是请求彻
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 复习资料 不要 积分
![提示](https://static.bdocx.com/images/bang_tan.gif)