北邮操作系统第一次实验Word文档格式.docx
- 文档编号:16732435
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:17
- 大小:625.22KB
北邮操作系统第一次实验Word文档格式.docx
《北邮操作系统第一次实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《北邮操作系统第一次实验Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
-t将档案依建立时间之先后次序列出
-A同-a,但不列出"
(目前目录)及"
.."
(父目录)
-F在列出的档案名称后加一符号;
例如可执行档则加"
*"
目录则加"
/"
-R若目录下有档案,则以下之档案亦皆依序列出
who
所有使用者都可使用
who-[husfV][user]
显示系统中有那些使用者正在上面,显示的资料包含了使用者ID,使用的终端机,从哪边连上来的,上限时间,呆滞时间,CPU使用量,动作等等。
-h:
不要显示标题列
-u:
不要显示使用者的动作/工作
-s:
使用简短的格式来显示
-f:
不要显示使用者的上线位置
wc
功能说明:
计算字数。
语 法:
wc[-clw][--help][--version][文件...]
补充说明:
利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。
参 数:
-c或--bytes或--chars只显示Bytes数。
-l或--lines只显示列数。
-w或--words只显示字数。
--help在线帮助。
--version显示版本信息。
pwd
显示工作目录。
pwd[--help][--version]
执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。
名称:
ps
使用权限:
所有使用者
使用方式:
ps[options][--help]
说明:
显示瞬间行程(process)的动态
参数:
ps的参数非常多,在此仅列出几个常用的参数并大略介绍含义
-A列出所有的行程
-w显示加宽可以显示较多的资讯
-au显示较详细的资讯
-aux显示所有包含其他使用者的行程
au(x)输出格式:
USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
USER:
行程拥有者
PID:
pid
%CPU:
占用的CPU使用率
%MEM:
占用的记忆体使用率
VSZ:
占用的虚拟记忆体大小
RSS:
占用的记忆体大小
TTY:
终端的次要装置号码(minordevicenumberoftty)
STAT:
该行程的状态:
D:
不可中断的静止(通悸□□缜b进行I/O动作)
R:
正在执行中
S:
静止状态
T:
暂停执行
Z:
不存在但暂时无法消除
W:
没有足够的记忆体分页可分配
<
高优先序的行程
N:
低优先序的行程
L:
有记忆体分页分配并锁在记忆体内(实时系统或捱AI/O)
START:
行程开始时间
TIME:
执行的时间
COMMAND:
所执行的指令
pstree
pstree[-a][-c][-h|-Hpid][-l][-n][-p][-u][-G|-U][pid|user]
pstree-V
将所有行程以树状图显示,树状图将会以pid(如果有指定)或是以init这个基本行程为根(root),如果有指定使用者id,则树状图会只显示该使用者所拥有的行程
-a显示该行程的完整指令及参数,如果是被记忆体置换出去的行程则会加上括号
-c如果有重覆的行程名,则分开列出(预设值是会在前面加上*
top
top[-][ddelay][q][c][S][s][i][n][b]
实时显示process的动态
d:
改变显示的更新速度,或是在交谈式指令列(interactivecommand)按s
q:
没有任何延迟的显示速度,如果使用者是有superuser的权限,则top将会以最高的优先序执行
c:
切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S:
累积模式,会将己完成或消失的子行程(deadchildprocess)的CPUtime累积起来
s:
安全模式,将交谈式指令取消,避免潜在的危机
i:
不显示任何闲置(idle)或无用(zombie)的行程
n:
更新的次数,完成后将会退出top
b:
批次档模式,搭配"
n"
参数一起使用,可以用来将top的结果输出到档案内
cat
cat[-AbeEnstTuv][--help][--version]fileName
把档案串连接后传到基本输出(萤幕或加>
fileName到另一个档案)
-n或--number由1开始对所有输出的行数编号
-b或--number-nonblank和-n相似,只不过对于空白行不编号
-s或--squeeze-blank当遇到有连续两行以上的空白行,就代换为一行的空白行
-v或--show-nonprinting
变更文件或目录的所属群组。
chgrp[-cfhRv][--help][--version][所属群组][文件或目录...]或chgrp[-cfhRv][--help][--reference=<
参考文件或目录>
][--version][文件或目录...]
在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。
您可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。
-c或--changes效果类似"
-v"
参数,但仅回报更改的部分。
-f或--quiet或--silent 不显示错误信息。
-h或--no-dereference 只对符号连接的文件作修改,而不更动其他任何相关文件。
-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或--verbose 显示指令执行过程。
--help 在线帮助。
--reference=<
把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
--version 显示版本信息。
cd
cd[dirName]
变换工作目录至dirName。
其中dirName表示法可为绝对路径或相对路径。
若目录名称省略,则变换至使用者的homedirectory(也就是刚login时所在的目录)。
另外,"
~"
也表示为homedirectory的意思,"
则是表示目前所在的目录,"
则表示目前目录位置的上一层目录。
chgrp
指令名称
chmod
chmod[-cfvR][--help][--version]modefile...
Linux/Unix的档案调用权限分为三级:
档案拥有者、群组、其他。
利用chmod可以藉以控制档案如何被他人所调用。
mode:
权限设定字串,格式如下:
[ugoa...][[+-=][rwxX]...][,...],其中
u表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是。
+表示增加权限、-表示取消权限、=表示唯一设定权限。
r表示可读取,w表示可写入,x表示可执行,X表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c:
若该档案权限确实已经更改,才显示其更改动作
若该档案权限无法被更改也不要显示错误讯息
-v:
显示权限变更的详细资料
-R:
对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help:
显示辅助说明
--version:
显示版本
chown
root
chmod[-cfhvR][--help][--version]user[:
group]file...
Linux/Unix是多人多工操作系统,所有的档案皆有拥有者。
利用chown可以将档案的拥有者加以改变。
一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。
只有系统管理者(root)才有这样的权限。
user:
新的档案拥有者的使用者IDgroup:
新的档案拥有者的使用者群体(group)-c:
若该档案拥有者确实已经更改,才显示其更改动作-f:
若该档案拥有者无法被更改也不要显示错误讯息-h:
只对于连结(link)进行变更,而非该link真正指向的档案-v:
显示拥有者变更的详细资料-R:
对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)--help:
显示辅助说明--version:
comm
比较两个已排过序的文件。
comm[-123][--help][--version][第1个文件][第2个文件]
这项指令会一列列地比较两个已排序文件的差异,并将其结果显示出来,如果没有指定任何参数,则会把结果分成3行显示:
第1行仅是在第1个文件中出现过的列,第2行是仅在第2个文件中出现过的列,第3行则是在第1与第2个文件里都出现过的列。
若给予的文件名称为"
-"
,则comm指令会从标准输入设备读取数据。
-1不显示只在第1个文件里出现过的列。
-2不显示只在第2个文件里出现过的列。
-3不显示只在第1和第2个文件里出现过的列。
cmp
比较两个文件是否有差异。
cmp[-clsv][-i<
字符数目>
][--help][第一个文件][第二个文件]
当相互比较的两个文件完全一样时,则该指令不会显示任何信息。
若发现有所差异,预设会标示出第一个不同之处的字符和列数编号。
若不指定任何文件名称或是所给予的文件名为"
,则cmp指令会从标准输入设备读取数据。
-c或--print-chars 除了标明差异处的十进制字码之外,一并显示该字符所对应字符。
-i<
或--ignore-initial=<
指定一个数目。
-l或--verbose 标示出所有不一样的地方。
-s或--quiet或--silent 不显示错误信息。
-v或--version 显示版本信息。
--help 在线帮助。
cp
cp[options]sourcedest
cp[options]source...directory
将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
-a尽可能将档案状态、权限等资料都照原状予以复制。
-r若source中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
rm
rm[options]name...
删除档案及目录。
-i删除前逐一询问确认。
-f即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r将目录及以下之档案亦逐一删除。
执行命令后文件‘a’消失。
diff
比较文件的差异。
diff[-abBcdefHilnNpPqrstTuvwy][-<
行数>
][-C<
][-D<
巨集名称>
][-I<
字符或字符串>
][-S<
文件>
][-W<
宽度>
][-x<
文件或目录>
][-X<
][--help][--left-column][--suppress-common-line][文件或目录1][文件或目录2]
diff以逐行的方式,比较文本文件的异同处。
所是指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。
-<
指定要显示多少行的文本。
此参数必须与-c或-u参数一并使用。
-a或--text diff预设只会逐行比较文本文件。
-b或--ignore-space-change 不检查空格字符的不同。
-B或--ignore-blank-lines 不检查空白行。
-c 显示全部内文,并标出不同之处。
-C<
或--context<
与执行"
-c-<
"
指令相同。
-d或--minimal 使用不同的演算法,以较小的单位来做比较。
-D<
或ifdef<
此参数的输出格式可用于前置处理器巨集。
-e或--ed 此参数的输出格式可用于ed的script文件。
-f或-forward-ed 输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处。
-H或--speed-large-files 比较大文件时,可加快速度。
-l<
或--ignore-matching-lines<
若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。
-i或--ignore-case 不检查大小写的不同。
-l或--paginate 将结果交由pr程序来分页。
-n或--rcs 将比较结果以RCS的格式来显示。
-N或--new-file 在比较目录时,若文件A仅出现在某个目录中,预设会显示:
Onlyin目录:
文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。
-p 若比较的文件为C语言的程序码文件时,显示差异所在的函数名称。
-P或--unidirectional-new-file 与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。
-q或--brief 仅显示有无差异,不显示详细的信息。
-r或--recursive 比较子目录中的文件。
-s或--report-identical-files 若没有发现任何差异,仍然显示信息。
-S<
或--starting-file<
在比较目录时,从指定的文件开始比较。
-t或--expand-tabs 在输出时,将tab字符展开。
-T或--initial-tab 在每行前面加上tab字符以便对齐。
-u,-U<
列数>
或--unified=<
以合并的方式来显示文件内容的不同。
-w或--ignore-all-space 忽略全部的空格字符。
-W<
或--width<
在使用-y参数时,指定栏宽。
-x<
文件名或目录>
或--exclude<
不比较选项中所指定的文件或目录。
-X<
或--exclude-from<
您可以将文件或目录类型存成文本文件,然后在=<
中指定此文本文件。
-y或--side-by-side 以并列的方式显示文件的异同之处。
--help 显示帮助。
--left-column 在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。
--suppress-common-lines 在使用-y参数时,仅显示不同之处。
mv
mv[options]sourcedest
mv[options]source...directory
将一个档案移至另一档案,或将数个档案移至另一目录。
参数:
-i若目的地已有同名档案,则先询问是否覆盖旧档。
执行命令后a中的内容移至b中
rmdir
于目前目录有适当权限的所有使用者
rmdir[-p]dirName
删除空的目录。
-p是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
(2)利用fork()生成子进程和clone()生成线程。
fork()代码:
编译后生成a.out文件,执行a.out后运行结果如下:
clone代码:
(3)通过mutex来实现生产者和消费者问题。
代码:
五调试运行结果
调试运行结果见程序后。
六所遇问题及解决方法
1.首先是linux系统的安装,在使用虚拟机的时候发生错误,没有使用老师给的虚拟机,而是在其他同学的帮助下完成系统的安装。
2.在熟悉基本命令的时候,有的命令在直接输入后不能完成,之后上网查询之后才知道需要在输入命令后在加一些其他的输入,才能完成这个命令的调用。
3.在编写程序的时候,发生了一些程序错误,修改了程序后,才完成了程序最后的功能。
4.其次是使用GCC,不知道在系统里已经拥有GCC,而不用在下载一个编译器,最后在命令行的使用时直接输入GCC,后就可以完成程序的编译。
5.在用pthread写生产者消费者问题时,不知如何引用pthread库。
之后在同学的帮助下,查询资料得知用,在GCC编译命令后加-lpthread即可引用该库。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 第一次 实验