linlong的Linux系统分析考试重点.docx
- 文档编号:10189388
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:75
- 大小:703.83KB
linlong的Linux系统分析考试重点.docx
《linlong的Linux系统分析考试重点.docx》由会员分享,可在线阅读,更多相关《linlong的Linux系统分析考试重点.docx(75页珍藏版)》请在冰豆网上搜索。
linlong的Linux系统分析考试重点
第一部分:
1。
操作系统分类,特点,并行,并发,多道程序,作业,作业步,进程,线程,PCB,TCB等
操作系统分类
分时(TimeSharing)操作系统:
分时系统具有多路性、交互性、“独占”性和及时性的特征。
实时操作系统(RealTimeOperatingSystem,RTOS):
其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。
此外,实时操作系统应有较强的容错能力。
网络操作系统:
其主要特点是与网络的硬件相结合来完成网络的通信任务。
分布式系统(DistributedSystem):
分布操作系统的结构也不同于其他操作系统,它分布于系统的各台计算机上,能并行地处理用户的各种需求,有较强的容错能力。
嵌入式操作系统:
具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系
Linux系统的主要特点
开放性
多用户
多任务
良好的用户界面设备独立性
提供了丰富的网络功能
可靠的安全系统
良好的可移植性
并行
在操作系统中是指,一组程序按独立异步的速度执行,不等于时间上的重叠(同一个时刻发生)。
要区别并发。
并发
在同一个时间段内,两个或多个程序执行,有时间上的重叠(宏观上是同时,微观上仍是顺序执行)。
多道程序
多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插运行,两个或两个以上程序在计算机系统中同处于开始到结束之间的状态。
与之相对应的是单道程序,即在计算机内存中只允许一个的程序运行。
作业
是用户向计算机提交的任务实体
一个正在执行的进程称为一个作业,而且作业可以包含一个或多个进程,尤其是当使用了管道和重定向命令。
例如“nroff-manps.1|grepkill|more”这个作业就同时启动了三个进程。
作业步
一个作业可划分成若干个部分,每个部分称为一个作业步。
在作业运行期间,各作业步之间存在着相互联系,往往上一个作业步的结果作为下一个作业步的输入
进程
进程是可并发执行的程序在一个数据集合上的运行过程。
线程
线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。
线程和进程的关系是:
线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一物理内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。
线程控制块TCB
标志线程存在的数据结构,其中包含对线程管理所需要的全部信息
2.shell命令,ls,useradd,userdel,groupadd,droupdel,usermod,chmod,ps,grep,rpm,servicestart、restart、stop,grep/egrep/fregp的复杂使用,启动、停止、重启一个服务的shell命令的/etc/service的用法,前后台进程,ps复杂用法,bash的转义字符概念和用法,类似[abcdefd].[0-9]的匹配模式(字符串)的用法.综合题会考到如何访问一个目录中的所有内容,以及搜索一个指定的文件或命令,判断其是否存在或是否可运行等。
(见实验3,实验四。
)
Ls,是list的简写,就是列出当前目录内容的意思
linux命令
(1):
ls命令
ls命令是linux下最常用的命令。
ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单。
通过ls命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。
ls命令在日常的linux操作中用的很多!
1.命令格式:
ls[选项][目录名]
2.命令功能:
列出目标目录中所有的子目录和文件。
3.常用参数:
-a,–all列出目录下的所有文件,包括以.开头的隐含文件
-A同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。
-c配合-lt:
根据ctime排序及显示ctime(文件状态最后更改的时间)配合-l:
显示ctime但根据名称排序否则:
根据ctime排序
-C每栏由上至下列出项目
–color[=WHEN]控制是否使用色彩分辨文件。
WHEN可以是'never'、'always'或'auto'其中之一
-d,–directory将目录象文件一样显示,而不是显示其下的文件。
-D,–dired产生适合Emacs的dired模式使用的结果
-f对输出的文件不进行排序,-aU选项生效,-lst选项失效
(在使用ls命令时要注意命令的格式:
在命令提示符后,首先是命令的关键字,接下来是命令参数,在命令参数之前要有一短横线“-”,所有的命令参数都有特定的作用,自己可以根据需要选用一个或者多个参数,在命令参数的后面是命令的操作对象。
在以上这条命令“ls-l-R/home/peidachang”中,“ls”是命令关键字,“-l-R”是参数,“/home/peidachang”是命令的操作对象。
在这条命令中,使用到了两个参数,分别为“l”和“R”,当然,你也可以把他们放在一起使用,命令:
ls-lR/home/peidachang)
举例子:
执行了Linux-Teaching:
~$ls-l/bin
出现了-rwxr-xr-x1rootroot7021602008-05-1211:
33bash
-rwxr-xr-x:
文件权限,
1:
硬链接数,一般你可以理解成子目录数,
rootroot分别是文件的owner(所有者)和group(组),
702160:
文件大小,2008-05-1211:
33一般是最后一次修改时间,
bash:
文件名。
useradd,添加新的用户账号使用useradd;命令:
useradd选项用户名
1.作用
useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是终极用户。
2.格式
useradd[-dhome][-sshell][-ccomment][-m[-ktemplate]][-finactive][-eexpire][-ppasswd][-r]name
3.主要参数
-c:
加上备注文字,备注文字保存在passwd的备注栏中。
-d:
指定用户登入时的启始目录。
-D:
变更预设值。
-e:
指定账号的有效期限,缺省表示永久有效。
-f:
指定在密码过期后多少天即关闭该账号。
-g:
指定用户所属的群组。
-G:
指定用户所属的附加群组。
-m:
自动建立用户的登入目录。
-M:
不要自动建立用户的登入目录。
-n:
取消建立以用户名称为名的群组。
-r:
建立系统账号。
-s:
指定用户登入后所使用的shell。
-u:
指定用户ID号。
4.说明
useradd可用来建立用户账号,他和adduser命令是相同的。
账号建好之后,再用passwd设定账号的密码。
使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。
5.应用实例
建立一个新用户账户,并设置ID:
#useraddcaojh-u544
需要说明的是,设定ID值时尽量要大于500,以免冲突。
因为Linux安装后会建立一些特别用户,一般0到499之间的值留给bin、mail这样的系统账号。
命令:
userdel
功能说明:
删除用户帐号。
语 法:
userdel[-r][用户帐号]
补充说明:
userdel可删除用户帐号与相关的文件。
若不加参数,则仅删除用户帐号,而不删除相关文件。
参 数:
-f 删除用户登入目录以及目录中所有文件。
userdel很简单,只有一个参数可选-r;如果加参数-r,表示在删除用户的同时,一并把用户的家目录及本地邮件存储的目录或文件也一同删除;比如我们现在有个用户jb51,其家目录位于/var目录中,现在我们来删除这个用户;
userdeljb51注:
删除用户jb51,但不删除其家目录及文件;
userdel-rjb51注:
删除用户jb51,其家目录及文件一并删除;
警告:
请不要轻易用-r参数;他会删除用户的同时删除用户所有的文件和目录
Options:
-f,--force强力删除
-r,--remove移除主目录等文件
groupadd,增加一个新组,为了方便管理,可以对一群有相近需求的用户新增一个组,groupadd命令可以实现这个功能。
用法:
groupadd[options]GROUP
Options:
-f,或者--force强制建立已经存在的组(如果存在则返回成功)
-g,或者--gidGID设置新建立组的识别码,0--499保留给系统服务,可以指定500以上的唯一数值(除非用--non-unique参数)。
-o,/--non-unique允许重复使用组识别码。
-p,/--passwordPASSWORD设置新组的密码
-r,/--system创建一个系统账号
例:
1、新建立一个名为test的组
linux@cdyemail:
~$sudogroupaddtest
linux@cdyemail:
~$cat/etc/group|greptest
test:
x:
1002:
droupdel,groupdel命令用于删除不再需要的组,如果指定的组中包含用户,则必须先删除组里面的用户>以后,才能删除组。
用法:
groupdel[groupname]
例:
1、删除test组
linux@cdyemail:
~$sudogroupdeltest
命令:
usermod
功能说明:
修改用户帐号。
语 法:
usermod[-LU][-c<备注>][-d<登入目录>][-e<有效期限>][-f<缓冲天数>][-g<群组>][-G<群组>][-l<帐号名称>][-s
补充说明:
usermod可用来修改用户帐号的各项设定。
参 数:
-c<备注> 修改用户帐号的备注文字。
-d登入目录> 修改用户登入时的目录。
-e<有效期限> 修改帐号的有效期限。
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
-g<群组> 修改用户所属的群组。
-G<群组> 修改用户所属的附加群组。
-l<帐号名称> 修改用户帐号名称。
-L 锁定用户密码,使密码无效。
-s
-u
-U 解除密码锁定。
usermod不允许你改变正在线上的使用者帐号名称。
当usermod用来改变userID,必须确认这名user没在电脑上执行任何程序。
应用举例:
1、将newuser2添加到组staff中
#usermod-Gstaffnewuser2
2、修改newuser的用户名为newuser1
#usermod-lnewuser1newuser
3、锁定账号newuser1
#usermod-Lnewuser1
4、解除对newuser1的锁定
#usermod-Unewuser1
chmod命令用法
chmod命令是非常重要的,用于改变文件或目录的访问权限。
用户用它控制文件或目录的访问权限该命令有两种用法。
一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
1.文字设定法
chmod[who][+|-|=][mode]文件名?
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
u表示“用户(user)”,即文件或目录的所有者。
g表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o表示“其他(others)用户”。
a表示“所有(all)用户”。
它是系统默认值。
操作符号可以是:
+添加某个权限。
-取消某个权限。
=赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r可读。
w可写。
x可执行。
X只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性。
s在文件执行时把进程的属主或组ID置为该文件的文件属主。
方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t保存程序的文本到交换设备上。
u与文件属主拥有一样的权限。
g与和文件属主同组的用户拥有一样的权限。
o与其他用户拥有一样的权限。
文件名:
以空格分开的要改变权限的文件列表,支持通配符。
在一个命令行中可给出多个权限方式,其间用逗号隔开。
例如:
chmodg+r,o+rexample使同组和其他用户对文件example有读权限。
2)使用八进制数设置权限
另外,文件和目录的权限还可用八进制数字模式来表示。
三个八进制数字分别代表ugo的权限。
执行权、读权和写权所对应的数值分别是1,2和4。
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
名称:
ps
有时候系统管理员可能只关心现在系统中运行着哪些程序,而不想知道有哪些进程在运行。
由于一个应用程序可能需要启动多个进程。
所以在同等情况下,进程的数量要比程序多的多。
为此从阅读方面考虑,管理员需要知道系统中运行的具体程序。
要实现这个需求的话,就需要利用命令ps来帮忙。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令。
使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。
总之大部分信息都是可以通过执行该命令得到的
使用权限:
所有使用者
使用方式:
ps[options][--help]
说明:
显示瞬间行程(process)的动态
参数:
ps的参数非常多,在此仅列出几个常用的参数并大略介绍含义
-A列出所有的进程
-w显示加宽可以显示较多的资讯
-au显示较详细的资讯
-aux显示所有包含其他使用者的行程
############################################################
常用参数:
-A显示所有进程(等价于-e)(utility)
-a显示一个终端的所有进程,除了会话引线
-N忽略选择。
-d显示所有进程,但省略所有的会话引线(utility)
-x显示没有控制终端的进程,同时显示各个命令的具体路径。
dx不可合用。
(utility)
-ppid进程使用cpu的时间
-uuidorusername选择有效的用户id或者是用户名
-ggidorgroupname显示组的所有进程。
Uusername显示该用户下的所有进程,且显示各个命令的详细路径。
如:
psUzhang;(utility)
-f全部列出,通常和其他选项联用。
如:
ps-faorps-fxandsoon.
-l长格式(有F,wchan,C等字段)
-j作业格式
-o用户自定义格式。
v以虚拟存储器格式显示
s以信号格式显示
-m显示所有的线程
-H显示进程的层次(和其它的命令合用,如:
ps-Ha)(utility)
e命令之后显示环境(如:
ps-de;ps-ae)(utility)
h不显示第一行
############################################################
ps命令常用用法(方便查看系统进程)
1)psa显示现行终端机下的所有程序,包括其他用户的程序。
2)ps-A显示所有进程。
3)psc列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
4)ps-e此参数的效果和指定"A"参数相同。
5)pse列出程序时,显示每个程序所使用的环境变量。
6)psf用ASCII字符显示树状结构,表达程序间的相互关系。
7)ps-H显示树状结构,表示程序间的相互关系。
8)ps-N显示所有的程序,除了执行ps指令终端机下的程序之外。
9)pss采用程序信号的格式显示程序状况。
10)psS列出程序时,包括已中断的子程序资料。
11)ps-t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
12)psu 以用户为主的格式来显示程序状况。
13)psx 显示所有程序,不以终端机来区分。
最常用的方法是ps-aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。
linuxgrep命令
1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep全称是GlobalRegularExpressionPrint,表示全局正则表达式版本,它的使用权限是所有用户。
2.格式grep[options]
3.主要参数
[options]主要参数:
-c:
只输出匹配行的计数。
-I:
不区分大小写(只适用于单字符)。
-h:
查询多文件时不显示文件名。
-l:
查询多文件时只输出包含匹配字符的文件名。
-n:
显示匹配行及行号。
-s:
不显示不存在或无匹配文本的错误信息。
-v:
显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\:
忽略正则表达式中特殊字符的原有含义。
^:
匹配正则表达式的开始行。
$:
匹配正则表达式的结束行。
\<:
从匹配正则表达式的行开始。
\>:
到匹配正则表达式的行结束。
[]:
单个字符,如[A]即A符合要求。
[-]:
范围,如[A-Z],即A、B、C一直到Z都符合要求。
。
:
所有的单个字符。
*:
有字符,长度可以为0。
4.grep命令使用简单实例
$grep‘test’d*
显示所有以d开头的文件中包含test的行。
$grep‘test’aabbcc
显示在aa,bb,cc文件中匹配test的行。
$grep‘[a-z]\{5\}’aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
$grep‘w\(es\)t.*\1′aa
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(\1),找到就显示该行。
如果用egrep或grep-E,就不用”\”号进行转义,直接写成’w(es)t.*\1′就可以了。
.grep命令使用复杂实例
假设您正在’/usr/src/Linux/Doc’目录下搜索带字符串’magic’的文件:
$grepmagic/usr/src/Linux/Doc/*
sysrq.txt:
*HowdoIenablethemagicSysRQkey?
sysrq.txt:
*HowdoIusethemagicSysRQkey?
其中文件’sysrp.txt’包含该字符串,讨论的是SysRQ的功能。
默认情况下,’grep’只搜索当前目录。
如果此目录下有许多子目录,’grep’会以如下形式列出:
grep:
sound:
Isadirectory
这可能会使’grep’的输出难于阅读。
这里有两种解决的办法:
明确要求搜索子目录:
grep-r
或忽略子目录:
grep-dskip
如果有很多输出时,您可以通过管道将其转到’less’上阅读:
$grepmagic/usr/src/Linux/Documentation/*|less
这样,您就可以更方便地阅读。
有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用*)。
如果您忘了,’grep’会一直等着,直到该程序被中断。
如果您遇到了这样的情况,按
rpm,RPM由RedHat公司开发的软件包安装和管理程序,类似Windows里面的“添加/删除程序”
常用命令组合:
-ivh:
安装显示安装进度--install--verbose--hash
-Uvh:
升级软件包--Update;
-qpl:
列出RPM软件包内的文件信息[QueryPackagelist];
-qpi:
列出RPM软件包的描述信息[QueryPackageinstallpackage(s)];
-qf:
查找指定文件属于哪个RPM软件包[QueryFile];
-Va:
校验所有的RPM软件包,查找丢失的文件[ViewLost];
-e:
删除包
rpm-qsamba//查询程序是否安装
rpm-ivh/media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm//按路径安装并显示进度
rpm-ivh--relocate/=/opt/gaimgaim-1.3.0-1.fc4.i386.rpm//指定安装目录
rpm-ivh--testgaim-1.3.0-1.fc4.i386.rpm //用来检查依赖关系;并不是真正的安装;
rpm-Uvh--oldpackagegaim-1.3.0-1.fc4.i386.rpm//新版本降级为旧版本
rpm-qa|grephttpd #[搜索指定rpm包是否安装]--all搜索*httpd*
rpm-qlhttpd #[搜索rpm包]--list所有文件安装目录
rpm-qpiLinux-1.4-6.i368.rpm #[查看rpm包]--query--package--installpackage信息
rpm-qpfLinux-1.4-6.i368.rpm #[查看rpm包]--file
rpm-qpRfile.rpm #[查看包]依赖关系
rpm2cpiofile.rpm|cpio-div#[抽出文件]
rpm-ivhfile.rpm #[安装新的rpm]--install--verbose--hash
rpm-ivh
rpm-Uvhfile.rpm#[升级一个rpm]--upgrade
rpm-efile.rpm#[删除一个rpm包]--erase
grep/egrep/fgrep
1.1、基本定义:
grep(globalsearchregularRE)andprintouttheline,全面搜索正则表达式并把行打印出来)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linlong Linux 系统分析 考试 重点