




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux实验操作系统实验一 使用vi编辑器- - 一.实验目的学习使用vi编辑器建立、编辑、显示以及加工处理文本文件。二.实验内容1.进入和退出vi。2.利用文本插入方式建立一个文件。3.在新建的文本文件上移动光标。4.对文本文件执行删除、复原、修改、替换操作。三.实验步骤1.进入和退出vi进入vi在系统提示符($)下输入命令vi和想要编辑(建立)的文件名(如example),便可进入vi。退出vi在命令方式下可有几种方法退出vi编辑器:wq 把编辑缓冲区的内容写到你编辑的文件中,退出编辑器,回到UNIX shell下。:ZZ 仅当作过修改时才将缓冲区内容写到文件上。:x 与 :ZZ 相同。:q! 强行退出vi。感叹号(!)告诉vi,无条件退出,丢弃缓冲区内容。这样,先前对该文件所做的修改或输入都被抛弃。2.新建文件在UNIX提示符$之后,输入命令 :vi myfile,然后按Enter键。输入插入命令i(屏幕上看不到字符i)。然后,输入以下文本行:To the only woman tht I,For mang year you have been my wife发现这两行有错,进行改正:按Esc键,从插入方式回到命令方式。按光标上移键,使光标移到第一行。按光标左移键,使光标移到“tht”的第二个“t”处。输入i(这是插入命令),然后输入a。该行变成如下形式:To the only woman that I,按光标右移键,使光标移到“I”上。我们想在“I”之后输入一个空格和单词“love”。为此,输入附加命令“a”。结果屏幕显示为:To the only woman that a I,这是怎麽回事儿?.原来是:我们先前使用了插入命令i,至今并未用Esc键返回命令方式。所以,输入的所有字符都作为输入文本予以显示。按Esc键,返回命令方式。利用x命令删除错误字符。然后,进入插入方式,输入正确字符。最后输入如下所示的文本:Tothe only woman that I love,For many year you have been mywwifeI live you wich my lifeabd could not have picked much better.将你编辑的文本文件存盘。(利用 :wq 命令,或者 :x 命令)重新进入vi编辑程序,编辑上面的文件。(如:$ vi myfile)在屏幕上见到myfile文件的内容。在屏幕底边一行显示出该文件的名称、行数和字符个数:“myfile”4 lines,130 characters它仍然有错,需进一步修改。将光标移到第二行的year的r处。输入a命令,添加字符s。按Esc,回到命令方式。输入命令10Space,光标移至何处? -光标右移10个字符位置。利用取代命令r将mywwife改为my wife。将光标移至第三行。输入新行命令O(大写字母),屏幕上有什麽变化? -光标移至上一行(新加空行)的开头。输入新行的内容:Weve been through much together此时,vi处于哪种工作方式?按Esc,回到命令方式。将光标移到第四行的live的i字母处。利用替换命令s将i改为o。在第四行的you之后添加单词dearly。将wich改为with。修改后的文本是以下内容:To the only woman that I love,For many years you have been my wifeWeve been through much togetherI love you dearly with my lifeand could not have picked much better.将该文件存盘,退出vi。重新编辑该文件。并将光标移到最后一行的have的v字母处,使用d$命令将v至行尾的字符都删除。现在想恢复17步的原状,怎麽办?(使用复原命令u)使用dd命令删除第一行;将光标移至through的u字母处,使用C(大写字母)命令进行修改,随便输入一串字符。将光标移到下一行的开头,执行5x命令;然后执行重复命令(.)。屏幕内容乱了!现在想恢复17步的原状,怎麽办?(不写盘,强行退出vi)能用u或U命令恢复屏幕原状吗?- 作者: roysclass 2005年02月17日, 星期四 15:46 Trackback你可以使用这个链接引用该篇日志 /blog/tb.b?diaryID=539520 操作系统实验二 进程管理- - 一.实验目的1.加深对进程概念的理解,尤其是进程的动态性,并发性。2.了解进程如何被创建和终止。3.查看进程管理命令。4.使用进程管理命令。5.在后台运行进程。二.实验内容1.观察进程状态。2.建立后台进程。3.控制作业运行。4.控制进程活动。三.实验步骤1.观察进程状态SCO UNIX允许你观察你的进程的状态。如果你想查看系统上所有进程的状态,那麽,你必须得到相应的权限。1在键盘上输入命令:$ ps你会见到如下所示的输出信息:PID TTY TIME CMD587 ttyp0 00:00:00 sh610 ttyp0 00:00:00 ps其中:PID表示进程的标识号(ID)。TTY表示该进程所在的控制终端。TIME表示该进程累计执行的时间,即占用CPU的时间,以小时:分:秒表示。CMD表示该进程所对应的命令。2输入 ps -e命令,可以显示系统中运行的所有进程,包括系统进程和用户进程。你会看到:进程数目一下子多了许多。这是由于系统中存在许多系统进程。系统进程也称做守护进程,它们不与某台终端或某个用户相关联。它们不是由用户命令建立的进程,而是由系统创建的进程,专门用于执行系统管理和各种服务等功能。3输入 ps -f命令,可以得到有关你的进程的更详细的信息。4输入 ps -l命令,你会得到进程附加属性的长列表信息。5输入 ps -el命令,你会得到所有进程的附加属性长列表信息。2.进程控制。在UNIX系统中,除了提供进程控制的命令以外,UNIX shell还提供让你控制进程如何运行的方法。1后台进程你的终端shell进程是你执行的大多数命令的父进程。通常情况下,在系统提示你输入下面的命令之前,它要等待其子进程的终止。你可以让shell不必等待子进程,而是继续接受另外的命令,其方法就是在后台运行进程。为了再后台运行一个命令,在该命令行的末尾要加上一个&字符,于是shell就立即返回一个提示符($)。请输入以下命令:$ ksh$ cc f1.c f2.c f3.c -o prog&1586$其中,1表示作业号,586是后台进程的PID号。2作业控制Korn shell(ksh)超过其它shell的一个特性就是为你提供了更强的控制进程的能力。这种作业控制特性允许你挂起正在运行的进程,可以把进程从后台移到前台或者反过来从前台移到后台。Korn shell支持一个特殊的字符(Ctrlz),它可以将当前正在运行的子进程挂起,并且告诉shell不用等待子进程终止。当一个子进程被挂起时,屏幕上就显示出该子进程的作业号和命令名,形式如下所示:1 + Stopped command其中,command表示被挂起进程所对应的命令。例如,你当前正在运行命令:$ man ls | more在没有全部显示完之前,按下Ctrlz键,你在屏幕上会看到:1 + Stopped man ls | more一旦你挂起一个进程,你就可以用bg命令在后台运行这个进程:$ bg job_ID.其中,jod_ID是被挂起进程的PID或者前面带有“%”的作业号。例如:$ bg %1用fg命令,你可以把一个在后台运行的进程调度到前台运行:$ fg job_ID.例如:$ fg %1jobs命令可以让你看到正在运行的所有子进程的状态:$ jobs job_ID例如:$ jobs你可以使用sleep命令让当前进程睡眠若干秒,该秒数由参数指定。3.发送信号信号是随时可以中断一个进程并让它立即采取行动的事件。SCO UNIX操作系统支持许多不同类型的信号,其中大多数都是用来终止进程。有时,一个进程运行的指令使得该进程阻塞住了,无法正常地退出。这样的进程就称做被挂起。1信号挂起信号(信号1):当你退出系统时,操作系统就发送hangup(挂起)信号给shell的各子进程。中断信号(信号2):Del键通常被配置为发送中断信号,它终止当前进程。退出信号(信号3):Ctrl组合键向进程发送quit(退出)信号,通常它导致进程的终止。2nohup命令如果你想在后台运行一个很长的进程,并且在你退出系统时也不终止该进程,你就可以使用nohup命令来保护该进程。nohup的格式是:nohup command arguments.&其中,command表示你要保护的进程所对应的命令,arguments表示该命令的参数。如果尚未发生输出重定向,则nohup命令将指定命令的输出重定向到文件nohup.out。3kill命令有些信号并不能利用按键很容易地完成。为了发送这些信号,你可以使用kill命令:kill -signai pid pid.其中,signal表示要发送的信号,pid表示接受信号的进程的PID。4.减轻系统负载UNIX提供了一些命令能够使系统运行的效率更高,其方法是把进程的负载分散到更长的时间段内。这里介绍两个常用命令:一个影响进程的优先值,另一个可以延迟命令的执行时间。1nice命令每一个进程都有一个优先值,核心用来给进程分派CPU的时间。优先值是根据进程自上一次占用CPU到现在过了多少时间以及nice值来确定,nice值是0到39之间的数。nice值越高,命令的优先级就越低。核心进行进程调度时,总是先调度优先级高的就绪进程。反过来,一个就绪进程的优先级低,它就被排在后面得到CPU。nice命令用于增加指定命令的nice值。其使用格式是:nice -n increment command arguments.其中,increament是要增加的数值,command是nice命令所要作用的命令,arguments是command命令所用的参数。2at命令SCO UNIX提供了一个命令,它可以让另外的命令在指定的时间运行。at命令从stdin(标准输入)中读取输入。如果stdin对应你的键盘,那麽,在结束命令时要按Ctrld,用来表明输入结束。at命令的格式是:at options time date其中,options是选项,time和date表示时间和日期。5.进程综合实验使用ps命令监控SCO UNIX命令生成的进程。1首先确保你是在自己的的主目录下工作。为此,输入命令:$ cd2运行C shell程序输入命令csh。然后,运行Bourne shell输入命令sh。3运行ps-l命令。4输入命令exit,从上述shell中退出。5运行命令ps-f。6输入命令scosh,运行scosh程序。由主菜单中输入以下命令:! ps -f7按Enterqy或F2,退出scosh。8运行以下命令:find/-name*-print/dev/null 2&1&9输入exit命令,试着退出系统。10再次输入命令exit,然后重新注册进入系统。11输入以下命令:nohup find/&12输入exit命令,再次退出系统;然后重新注册进入系统。运行ps命令。13输入cat nohup.out命令。14输入命令vi atcmd,调用vi编辑程序,建立新文件atcmd。15运行以下命令:at now+1 minute file1将当前日期和时间存放到新建文件file1中。3使用cat命令查看file1文件的内容。4利用man命令显示date命令的用法:man date5将date命令的用法附加到文件file1的后面:man date file16利用cat命令显示文件file1的内容。7利用ls -l file1命令列出文件file1的较详细的信息。8利用ln file1./fa命令进行文件链接。然后运行ls -l file1,查看显示的第二段的值发生了什麽变化。9现在想利用cat fa命令显示文件fa的内容,应该如何改动工作目录?10设你的主目录是/usr/student,利用ln -s/usr/student/file1 slink进行符号连接。然后,利用ls -l file1 slink显示有关file1和slink的信息。11将工作目录移到你的主目录。利用head命令显示文件file1前10行的内容:head file112利用tail file1命令显示文件file1的最后10行(这是默认值)的内容。13运行ls -l/bin命令显示目录的内容。14利用ls -l/bin|more命令行分屏显示/bin目录的内容。15利用cp file1 fa命令生成文件file1的副本。然后利用ls -l命令查看工作目录的内容。16利用rm fa命令将文件fa删除。再利用ls -l命令查看工作目录内容。17运行mv file1 file_a命令,然后用ls命令查看这两个文件是否都还在工作目录中?18利用cat file*命令列出当前工作目录中以file开头的所有文件。19运行cat file?命令,与上面结果相比有何差别?3.文件操作1查找文件和目录利用find命令可以查找文件和目录的位置。你要告诉系统你想查找的文件名和从哪个目录开始进行查找。其常用使用格式是:find pathname -name filename -print其中,pathname是指定开始查找的目录,filename是你要查找的文件或目录。-name和-print是find命令的选项。2查找文件中指定的模式gret命令常用于文本文件中查找给定的词或短语。包含给定模式字符串的行在标准输出(即显示器)上显示出来。4.文件存取权限1存取权限UNIX系统对所有文件设置了存取权限。存取权限让你确定谁可以对你的个人文件和目录进行访问,以及可以进行什麽操作。把所有用户分为三类:文件主(user),即文件的属主。组用户(group),即文件组的成员。其他用户(other),即能对系统进行访问的所有其他用户。对一个文件的存取权限分为三种:读(r)写(w)执行(x)一组存取权限以及相应的文件类型统称为文件模式。如:rw-r-r-表示文件主有读和写的权限,组用户和其他用户只有读权限。2文件存取权限读权限(r)允许指定的用户可以打开文件并阅读其内容。如cat,more,file和cp命令等。写权限(w)允许指定的用户可以打开文件并修改其内容。如vi,mail,cp等。执行权限(x)允许指定的用户运行(即执行)一个二进制文件文件或者把一个shell脚本文件当做命令来运行。当你通过输入命令名来调用命令时,你必须具有该命令文件的执行权限。3目录存取权限读权限(r)允许你列出相应目录中所存放的文件的名字(即目录的内容表)。写权限(w)允许你从目录中删除已有文件或者把新文件添加到目录中。查询权限(x)允许你在目录中进行查找和使用cd命令把工作目录放到它这里。4修改文件权限文件主或root用户可以使用chmod命令来修改文件或目录的权限。修改文件权限的方式有两种:符号模式和绝对模式。符号模式使用chmod命令修改当前权限设置的一般形式是:chmod key file file.其中,key由以下成分组成:who +|-|= modewho这一部分可以由下面的一个和多个字符组成:u,g,o或a,它们分别表示文件主,组用户,其他用户或所有三种用户。默认值是a。第二部分必须是以下三个字符中的一个:+,-,或者=,分别表示增加,删除或者设定。mode成分可以由以下字符任意组合:r,w或x,分别表示读,写或者执行/查询的权限。以上三个部分必须依次输入,而且它们之间没有空格。在一个命令行中可以指定多个key,彼此间用逗号隔开,中间没有空格。如:设文件f原来的权限是rw-rw-r-,现在想让所有用户都具有执行权限,则可使用以下命令:chmod a+x f该命令执行后,文件f的权限变成rwxrwxr-x。操作系统实验四 简单shell编程- - 一、实验目的1.了解 UNIX shell 的作用和主要分类。2.了解 Bourne shell( 简称sh)的一般语法规则。3.能编写简单的shell程序。二、实验预备知识Shell是UNIX系统中一个重要的层次,它是用户与系统交互作用的界面。在以上介绍UNIX命令时,Shell都作为命令解释程序出现:它接收用 户打入的命令,进行分析,创建子进程实现命令所规定的功能,等子进程终止工作后,发 出提示符。这是Shell最常见的使用方式。UNIX Shell 除了作为命令解释程序以外,还是一种高级程序设计语言,它有变量,关键字,有各种控制语句,如 if, case, while, for 等语句,有自己的语法结构。利用Shell程序设计语言可以编写出功能很强、但代码简单的程序,特别是它把相关的UNIX命令有机地组合在一起,可大大提高编程的效率,充分利用UNIX系统的开放性能,设计出适合自己要求的命令。三、Shell的特点和主要版本Shell具有如下突出特点:(1) 把已有命令进行适当组合,构成新命令;而组合方式很简单。(2) 可以进行交互式处理,用户和UNIX系统之间通过Shell进行交互式对话,实现通信。(3) 灵活地利用位置参数传递参数值。(4) 结构化的程序模块,提供了顺序流程控制、条件控制、循环控制等。(5) 提供通配符、输入/输出重定向、管道线等机制,方便了模式匹配、I/O处理和数据传输。(6) 便于用户开发新的命令,利用Shell脚本可把用户编写的可执行程序与UNIX命令结合在一起,当做新的命令使用。Shell的功能是很强大的,为用户开发程序提供非常便捷的手段。四、程序示例Shell程序也可存放在文件上(利用vi),通常称为Shell脚本(script)。下面是两个shell 程序示例。例9-1 由三条简单命令组成的shell程序。$ cat ex1 -用cat命令列出ex1文件的内容。date 大家应该知道这些命令的功能。pwdcd.执行这个shell程序时,依次执行其中各条命令:先显示出日期,接着显示当前工作目录,最后把工作目录改到当前目录的父目录。例9-2 带有控制结构的shell程序。$ cat ex2 -用cat命令列出ex2文件的内容。# If no aguments, then listing the current directory.# Otherwise, listing each subdirectory. -以上两行是注释。if test $# = 0 -if -then-else-fi结构的语句。then lselsefor idols -l $i | gerp d -do-done之间是循环体donefi该程序的前两行以“#”开头,表示这是注释行。注释行可用来说明程序的功能、结构、算法和变量的作用等,增加程序的可读性。在执行时Shell将忽略注释行。五、Shell脚本的建立和执行Shell程序可以存放在文件中,这种被Shell解释执行的命令文件称为Shell脚本(Shellscript),也称做Shell文件或者Shell过程。Shell脚本可以包含任意从键盘输入的UNIX命令。1.Shell脚本的建立建立Shell脚本的方法同建立普通文本文件的方法相同,利用编辑器(如vi)进行程序录入和编辑加工。例如,要建立一个名为ex1的Shell的脚本,可以在提示符后打入命令: $ vi ex12. 执行Shell脚本的方式执行Shell脚本的方式基本上有三种:(1)输入定向到Shell这种方式是用输入重定向方式让Shell从给定文件中读入命令行并进行相应处理。其一般形式是:$ sh 脚本名 例如, $ sh ex1(2)以脚本名作为Shell参数其一般形式是: $ sh 脚本名 参数 例如,$ sh ex2 /usr/mengqc/usr/liuzhy(3)将Shell脚本改为有执行权限的文件由正文编辑器(如vi)建立的Shell脚本,用户通常是不能直接执行的,需要利用命令chmod将它改为有执行权限。例如:$ chmod a+x ex2六、实验内容1.Shell变量的定义及其使用。2.位置参数和环境变量。3.Shell中的特殊字符。4.一般控制结构。七、实验步骤9.4.1 Shell变量Shell有两种变量:环境变量和临时变量。在Shell脚本中临时变量又分为两类:用户定义的变量和位置参数。一. 用户定义的变量用户定义的变量是最普遍的Shell变量,变量名是以字母或下化线打头的字母、数字和下线符序列,并且大小写字母意义不同。变量名的长度不受限制。定义变量并赋值的一般形式是: 变量名=字符串 例如,myfile=/usr/meng/ff/m1.c在程序中使用变量的值时,要在变量名前面加上一个符号“$”。这个符号告诉Shell,要读取该变量的值。(1)定义并显示变量的值$ dir=/usr/mengqc/file1$ echo $ dir/usr/mengqc/file1$ echo dirdir$ today=Sunday$ echo $ today $ TodaySunday$ str=Hapy New Year ! $ echo Wish You $strWish You Happy New Year !(2)read命令作为交互式输入手段,可以利用read命令由标准输入(即键盘)上读取数据,然后赋给指定的变量。其一般格式是:read 变量1 变量2.例如:$ read name -输入read命令mengqc -输入name的值$ echo Your Name is $ name.Your Name is mengqc -显示输出的结果$ read a b c -read命令有三个参数crtvu cn edu -输入三个字符串,中间以空格隔开$ echo Email : $a. $c. $bEmail : -显示输出结果利用read命令可交互式的为变量两赋值。输入数据时,数据间以空格或制表符作为分隔符。注意以下情况:*若变量个数与给定数据个数相同,则依次对应赋值,如上面例子所示。*若变量数少于数据个数,则从左至右依次给变量赋值,而最后一个变量取得所有余下数据的值。*若变量个数多余给定数据个数,则从左到右依次给变量赋值,后面的变量没有输入数据与之对应时,其值就为空串。二. 位置参数执行Shell脚本时可以使用参数。由出现命令行上的位置确定的参数称做位置参数。在sh中总共有十个位置参数,其对应的名称依次是$0,$1,$2,.$9。其中$0始终表示命令名或Shell脚本名,对于一个命令行,必然有命令名,也就必定有$0;而其它位置参数依据实际需求,可有可无。例9-3 位置参数的作用。(1)在你的计算机上建立以下三个文件(设建立在目录/usr/username之下,其中username表示你的主目录名):文件m1.c:main( )printf(Begin n);文件m2.c:# include printf(OK! n);文件ex3:# ex3: shell script to combine files and count linescat $1 $2 $3 $4 $5 $6 $7 $8 $9 | wc -l# end(2) 将ex3改为具有执行权限:$ chmod +x ex3(3) 利用env命令查看在环境变量PATH中是否包含你的当前工作目录(即/usr/use-name)。如果没有包含在其中,则利用以下语句改变PATH的值:$ PATH= $ PATH:/usr/usr/username(4) 执行脚本ex3:$ ex3 m1.c m2.c10例9-4 用set设置位置参数值。(1) 在你的工作目录中以下脚本文件ex4:# ex4: shell script to combine files and count lines# using command set to set positional parametersset m1.c m2.cecho $1echo $2echo $3cat $1 $2 $3 | wc -l# end(2) 将ex4改为具有执行权限:$ chmod +x ex4(3) 执行脚本ex4:$ ex4m1.cm2.c10例9-5 利用位置参数给定变量赋值。(1) 建立脚本ex5,如下所示:n1=$1n2=$2n3=$3cat $n1 $n2 $n3 | wc -l(2) 将ex5改为具有执行权限:$ chmod +x ex5(3) 执行脚本ex5:$ ex5 m1.c m2.c109.4.2 SHELL中的特殊字符1.通配符通常的通配符有三种:* 星号,它匹配任意字符的0次或多次出现。但注意,文件名前面的圆点(.)和路径名中的斜线(/)必须显示匹配。? 问号,它匹配任意一个字符。 一对方括号,其中有一个字符组。其作用是匹配该字符组所限定的任意一个字符。应该注意:字符 * 和 ?在一对方括号外面是通配符,若出现在其内部,它们就失去通配符的能力了。! 叹号,若它紧跟在一对方括号的左方括号之后,则表示不在一对方括号中所列出的字符。2.引号在SHELL中引号分为三种:单引号、双引号、和倒引号。(1)双引号由双引号括起来的字符,除$、倒引号和反斜线()仍保留其功能外,其余字符通常作为普通字符对待。例9-81.建立以下文件ex8:echocurrent directory ispwdechohome directory is $ HOMEechofile * . ?echo directory $ HOME 2.执行ex8:$sh ex8(2)单引号由单引号括起来的字符都作为普通字符出现。(3)倒引号例如:$ today=date$echo Today is $ todayToday is Thu May 04 10 :56 :20 CST 2000$又如:$ users=who | wc -l$ echo The number of users is $ usersThe number of users is 5$(4)反斜线转义字符,若想在字符串中使用反斜线本身,则必须采用()的形式,其中第一个反斜线作为转义字符,而把第二个反斜线变为普通字符。9.4.3 控制结构1.if 语句例9-9(1)建立脚本ex9:echo The current directory is pwdif test - f $1then echo $1 is an ordinary file.else echo $ 1 is not anordinary file.fi(2) 执行ex9:$sh ex9 ex1The current directory is /usr/mengqcex1 is anordinary file.if语句的else部分还可以是else-if结构。 (wj14)if test - f $1then cat $1else if test - d $1then ( cd $1 ;cat * )else echo $1 is neither a file nor a directory.fifi如上例改写成为:if test -f $1then cat $1elif test -d $1then ( cd $1 ; cat * )else echo $1 is neither afile nor adirectory.fi2.测试语句:有两种常用形式:一种是用test命令,如上所示。另一种是用一对方括号将测试条件括起来。两种形式完全等价。例如,测试位置参数$1是否是已存在的普通文件,可写成:test -f $1,也完全可写成: -f $ l 在格式上应注意,如果在test语句中使用shell变量,为表示完整、避免造成歧异起见最好用双引号将变量括起来。利用一对方括号表示条件测试时,在左方括号之后、右方括号之前各应有空格。例9-10(1)建立脚本文件ex10echo Enter your filenameread filenaneif -f $filenamethen cat $ filenameelse if -d $ filenamethen cd $ filenamels -l *else echo $ filename:bad filenamefifi(2)执行ex10$sh ex103.while语句例9-11(1)建立脚本ex11:while $1 doif -f $1 then echo display : $1cat $1else echo $1 is not a file name.fishiftdone(2)执行ex11例9-12(1)建立脚本ex12:echoley in file-cread filenameechokey in data:while n $xdoread xecho $x$ filenamedonecat $ filename(2)执行ex12,并分析结果。4.for语句例如: (wj19)for day in Monday Wednesday Friday Sundaydoecho $ daydone ((例如: (wj20)for file in m*.cdocat $ file | moredone例9-13(1)建立脚本ex13:# display files under a given directory# $1-the nameof the diectory# $2-the of filesdir=$1;shiftif - d $ dir thencd $dirfor namedoif -f $name then cat $nameecho End of $ dir / $nameelse echo Invalid file name: $ dir / $namefidoneelse echo Bad directory name : $dirfi$(2)执行ex13,并分析运行结果。一、fdisk 的介绍fdisk - Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具;本人译的不太好,也没有看中文文档;其实就是分区工具。fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux 、fat32、 linux 、linux swap 、fat16 以及其实类Unix类操作系统的文件系统等;当然我们用fdisk 对磁盘操作分区时,并不是一个终点,我们还要对分区进行格式化所需要的文件系统,这样一个分区才能使用,这和DOS中的fdisk 是类似的。二、合理规划您的硬盘分区在操作分区之前,我们要明白硬盘分区一点理论,比如硬盘容量和分区大小的计算;对一个硬盘如何规划分区等,请参考如下文档,谢谢。合理规划您的硬盘分区三、fdisk -l 查看硬盘及分区信息通过合理规划您的硬盘分区 ,我们知道主分区(包括扩展分区)的总个数不能超过四个;也不能把扩展分区包围在主分区之间;根据这个原则,我们划分硬盘分区就比较容易的多;也能为以后减少不必要的麻烦。1、通过fdisk -l 查看机器所挂硬盘个数及分区情况rootlocalhost beinan# fdisk -lDisk /dev/hda: 80.0 GB, 80026361856 bytes255 heads, 63 sectors/track, 9729 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/hda1 * 1 765 6144831 7 HPFS/NTFS/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)/dev/hda3 2806 9729 55617030 5 Extended/dev/hda5 2806 3825 8193118+ 83 Linux/dev/hda6 3826 5100 10241406 83 Linux/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris/dev/hda8 5199 6657 11719386 83 Linux/dev/hda9 6658 7751 8787523+ 83 Linux/dev/hda10 7752 9729 15888253+ 83 LinuxDisk /dev/sda: 1035 MB, 1035730944 bytes256 heads, 63 sectors/track, 125 cylindersUnits = cylinders of 16128 * 512 = 8257536 bytesDevice Boot Start End Blocks Id System/dev/sda1 1 25 201568+ c W95 FAT32 (LBA)/dev/sda2 26 125 806400 5 Extended/dev/sda5 26 50 201568+ 83 Linux/dev/sda6 51 76 200781 83 Linux通过上面的信息,我们知道此机器中挂载两个硬盘(或移动硬盘),其中一个是hda 另一个是sda ;如果我们想查看单个硬盘情况,可以通过 fdisk -l /dev/hda1 或者fdisk -l /dev/sda1 来操作;以fdisk -l 输出的硬盘标识为准;其中 hda有三个主分区(包括扩展分区),分别是主分区 hda1 hda2 和hda3(扩展分区);逻辑分区是 hda5到hda10其中 sda 有两个主分区(包括扩展分区),分别是 hda1 和hda2 (扩展分区);逻辑分区是 sda5 hda6 硬盘总容量=主分区(包括扩展分区)总容量扩展分区容量=逻辑分区总容量通过上面的例子,我们可以得知 hda=hda1+hda2+hda3,其中hda3=hda5+hda6+hda7+hda8+hda9+hda10 2、关于fdisk -l 一些数值的说明Disk /dev/hda: 80.0 GB, 80026361856 bytes255 heads, 63 sectors/track, 9729 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes这个硬盘是80G的,有255个磁面;63个扇区;9729个磁柱;每个 cylinder(磁柱)的容量是 8225280 bytes=8225.280 K(约为)=8.225280M(约为);分区序列 引导开始终止 容量 分区类型ID 分区类型DeviceBootStartEndBlocksIdSystem/dev/hda1*176561448317HPFS/NTFS/dev/hda27662805 16386300cW95 FAT32 (LBA)/dev/hda32806 9729 556170305Extended/dev/hda52806 3825 8193118+83 Linux/dev/hda63826 5100 1024140683 Linux/dev/hda75101 5198 787153+ 82 Linux swap / Solaris/dev/hda85199 6657 1171938683 Linux/dev/hda96658 7751 8787523+83 Linux/dev/hda10 7752 9729 15888253+ 83 Linux说明:硬盘分区的表示:在Linux 是通过hd*x 或 sd*x 表示的,其中 * 表示的是a、b、c x表示的数字 1、2、3 hd大多是IDE硬盘;sd大多是SCSI或移动存储;引导(Boot):表示引导分区,在上面的例子中 hda1 是引导分区;Start (开始):表示的一个分区从X cylinder(磁柱)开始;End (结束):表示一个分区到 Y cylinder(磁柱)结束;id和System 表示的是一个意思,id看起来不太直观,我们要在fdisk 一个分区时,通过指定id来确认分区类型;比如 7表示的就NTFS 分区;这个在fdisk 中要通过t功能来指定。下面的部份会提到;Blocks(容量):这是我翻译的,其实不准确,表示的意思的确是容量的意思,其单位是K;一个分区容
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北省襄阳市城县襄阳东津新区汉水小学2024-2025学年六年级下学期期末数学试题(含答案)
- 抗美援朝课件模板
- 纸牌魔术的题目及答案
- 2024-2025学年河北省保定市安新县雄安新区人教版六年级下册期中测试数学试卷(含答案)
- 2025年医疗康复器材项目建议书
- 2025年领胜上岗考试试题及答案
- 房地产知识培训课件
- 2025年江苏入团考试题目及答案
- 慢性宫颈炎的课件
- 计算机信息系统变更、发布、配置管理制度
- 地坪承包合同范本3篇
- 交通规划中智能交通信号控制技术应用2025年研究报告
- 公共空间设计培训课件
- 2025年公安部交管局三力测试题库及答案
- 2025年汽车维修高级技师能力认证考试试卷及答案解析
- 2025年邮政集团招聘考试复习资料与预测题
- 2025年保险理赔员执业资格考试试题及答案解析
- 2025年第十届全国中小学“学宪法、讲宪法”知识竞赛题库及答案
- 板绘插画师基础知识培训课件
- 2025至2030年中国分时度假行业市场运营现状及投资规划研究建议报告
- 孕期甲状腺功能课件
评论
0/150
提交评论