《操作系统原理及应用》实验指导书-1-实验一UNIX/LINUX及其使用环境(一)UNIX常用命令简介实验目的1、了解UNIX的命令及使用格式。2、熟悉UNIX/LINUX的常用基本命令。实验内容1、通过WINDOWS操作系统中的远程登录程序telnet.exe登录UNIX。2、熟悉UNIX/LINUX的常用基本命令如ls、who、w、pwd、ps、pstree、top等。3、通过WINDOWS操作系统中的FTP程序,练习WINDOWS和UNIX之间的文件交换。实验准备预习附录一《UNIX/LINUX简介》实验指导一、UNIX的登录与退出1、登录在DOS环境下用MS提供的telnet程序(也可使用WINDOWS自带的telnet图形界面程序或多功能的S-Term终端程序),可使PC作为终端(terminal)登录(login)UNIX服务器(UNIXServer)。(1)执行格式:telnethostname(主机名)或telnet主机的IP地址例:telnet(2)步骤login:(输入username)password:(输入密码)2、退出在UNIX系统提示符$下,输入logout、exit或shutdown。例:$logout二、UNIX命令格式命令[选项][处理对象]例:ls-lamydir《操作系统原理及应用》实验指导书-2-注意:(1)命令一般是小写字串。注意大小写有别(2)选项通常以减号(-)再加上一个或数个字符表示,用来选择一个命令的不同操作(3)同一行可有数个命令,命令间应以分号隔开(4)命令后加上&可使该命令后台(background)执行三、常用命令1、目录操作和DOS相似,UNIX采用树型目录管理结构,由根目录(/)开始一层层将子目录建下去,各子目录以/隔开。用户login后,工作目录的位置称为homedirectory,由系统管理员设定。‘~’符号代表自己的homedirectory,例如~/myfile是指自己home目录下myfile这个文件。UNIX的通配符有三种:’*’和’?’用法与DOS相同,‘-‘代表区间内的任一字符,如test[0-5]即代表test0,test1,……,test5的集合。(1)显示目录文件ls执行格式:ls[-atFlgR][name](name可为文件或目录名称)例:ls显示出当前目录下的文件ls-a显示出包含隐藏文件的所有文件ls-t按照文件最后修改时间显示文件ls-F显示出当前目录下的文件及其类型ls-l显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称ls-lg同上ls-R显示出该目录及其子目录下的文件注:ls与其它命令搭配使用可以生出很多技巧(最简单的如ls-l|more),更多用法请输入ls--help查看,其它命令的更多用法请输入命令名--help查看.(2)建新目录mkdir执行格式:mkdirdirectory-name例:mkdirdir1(新建一名为dir1的目录)(3)删除目录rmdir执行格式:rmdirdirectory-name或rmdirectory-name例:rmdirdir1删除目录dir1,但它必须是空目录,否则无法删除rm-rdir1删除目录dir1及其下所有文件及子目录rm-rfdir1不管是否空目录,统统删除,而且不给出提示,使用时要小心(4)改变工作目录位置cd执行格式:cd[name]例:cd改变目录位置至用户login时的workingdirectory《操作系统原理及应用》实验指导书-3-cddir1改变目录位置,至dir1目录cd~user改变目录位置,至用户的workingdirectorycd..改变目录位置,至当前目录的上层目录cd../user改变目录位置,至上一级目录下的user目录cd/dir-name1/dir-name2改变目录位置,至绝对路径(Fullpath)cd-回到进入当前目录前的上一个目录(5)显示当前所在目录pwd执行格式:pwd(6)查看目录大小du执行格式:du[-s]directory例:dudir1显示目录dir1及其子目录容量(以kb为单位)du-sdir1显示目录dir1的总容量(7)显示环境变量echo$HOME显示家目录echo$PATH显示可执行文件搜索路径env显示所有环境变量(可能很多,最好用env|more,env|grepPATH等)(8)修改环境变量,在bash下用export,如:exportPATH=$PATH:/usr/local/bin想知道export的具体用法,可以用shell的help命令:helpexport2、文件操作(1)查看文件(可以是二进制的)内容cat执行格式:catfilename或morefilename或catfilename|more例:catfile1以连续显示方式,查看文件file1的内容morefile1或catfile1|more以分页方式查看文件的内容(2)删除文件rm执行格式:rmfilename例:rmfile?rmf*(3)复制文件cp执行格式:cp[-r]sourcedestination例:cpfile1file2将file1复制成file2cpfile1dir1将file1复制到目录dir1cp/tmp/file1将file1复制到当前目录cp/tmp/file1file2将file1复制到当前目录名为file2cp–rdir1dir2(recursivecopy)复制整个目录。《操作系统原理及应用》实验指导书-4-(4)移动或更改文件、目录名称mv执行格式:mvsourcedestination例:mvfile1file2将文件file1,更名为file2mvfile1dir1将文件file1,移到目录dir1下mvdir1dir2(5)比较文件(可以是二进制的)或目录的内容diff执行格式:diff[-r]name1name2(name1、name2同为文件或目录)例:difffile1file2比较file1与file2的不同处diff-rdir1dir2比较dir1与dir2的不同处(6)文件中字符串的查找grep执行格式:grepstringfile例:grepabcfile1查找并列出串abc所在的整行文字(7)文件或命令的路径寻找执行格式一:whereiscommand显示命令的路径执行格式二:whichcommand显示路径及使用者所定义的别名执行格式三:whatiscommand显示命令的功能摘要执行格式四:findsearch-path-namefilename-print搜寻指定路径下某文件的路径执行格式五:locatefilename根据系统预先生成的文件/目录数据库(/var/lib/slocate/slocate.db)查找匹配的文件/目录,查找速度很快,如果有刚进行的文件改变而系统未到执行定时更新数据库的时间,可以打入updatedb命令手动更新.(8)建立文件或目录的链接ln例:lnsourcetarget1建立source文件(已存在)的硬链接,命名为target1ln-ssourcetarget2建立source文件的符号链接,命名为target23、系统询问与权限口令(1)查看系统中的使用者执行格式:who(2)查看username执行格式:whoamI查看自己的username(3)改变自己的username的帐号与口令su执行格式:suusername例:suusername输入帐号password输入密码(4)文件属性的设置chmod改变文件或目录的读、写、执行的允许权《操作系统原理及应用》实验指导书-5-执行格式:chmod[-R]modename其中:[-R]为递归处理,将指定目录下所有文件及子目录一并处理mode为3-8位数字,是文件/目录读、写、执行允许权的缩写(r:read,数字代号为4w:write,数字代号为2x:execute,数字代号为1)mode:rwxrwxrwxusergroupother缩写:(u)(g)(o)例:chmod755dir1将目录dir1设定成任何人皆有读取及执行的权利,但只有拥有者可作写修改。其中7=4+2+1,5=4+1chmod700file1将file1设为拥有者可以读、写和执行chmodo+xfile2将file2,增加拥有者可执行的权利chmodg+xfile3将file3,增加组使用者可执行的权利chmodo-rfile4将file4,除去其它使用者可读取的权利(5)改变文件或目录所有权chown执行格式:chown[-R]usernamename例:chownuserfile1将文件file1改为user所有chown.foxfile1将文件file1改为fox组所有chownuser.foxfile1将文件file1改为fox组的user所有chown-Ruserdir1将目录dir1及其下所有文件和子目录,改为user所有(6)检查用户所在组名称groups执行格式:groups(7)改变文件或目录的组拥有权chgrp执行格式:chgrp[-R]groupnamename例:chgrpvlsifile1将文件file1改为vlsi组所有chgrp-Rimagedir1将目录dir1及其下所有文件和子目录,改为image群组(8)改变文件或目录的最后修改时间touch执行格式:touchname4、进程操作(1)查看系统目前的进程ps执行格式:ps[-aux]例:ps或ps-x查看系统中属于自己的processps-au查看系统中所有使用者的processps-aux查看系统中包含系统内部及所有使用者的processps-aux|grepapache找出系统中运行的所有名称中带有apache串的process《操作系统原理及应用》实验指导书-6-(2)查看正在background中执行的process执行格式:jobs(3)结束或终止进程kill执行格式:kill[-9]PID(PID为利用ps命令所查出的processID)例:kill456或kill-9456终止processID为456的process(4)后台(background)执行processcommand的命令执行格式:command&(在命令后加上&)例:gccfile1&在后台编译file1.c注意:按下^Z,暂停正在执行的process。键入”bg”,将所暂停的process置入background中继续执行。例:gccfile1&^Zstoppedbg(5)结束或终止在background中的进程kill执行格式:kill%n例:kill%1终止在background中的第一个jobkill%2终止在background中的第二个job(6)显示系统中程序的执行状态例:top-q不断地更新、显示系统程序的执行状态第一行显示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。第二行为进程情况,依次为进程总数、休眠进程数、运行进程数、僵死进程数、终止进程数。第三行为CPU状态,依次为用户占用、系统占用、优先进程占用、闲置进程占用。第四行为内存状态,依次为平均可用内存、已用内存、空闲内存、共享内存、缓存使用内存。第五行为交换状态,依次为平均可用交换容量、已用容量、闲置容量、高速缓存容量。PID每个进程的ID。PPID每个进程的父进程ID。UID每个进程所有者的UID。USER每个进程所有者的用户名。PRI每个进程的优先级别。NI该进程的优先级值。SIZE该进程的代码大小加上数据大小再加上堆栈空间大小的总数。单位是KB。TSIZE该进程的代码大小。对于内核进程这是一个很奇怪的值。DSIZE数据和堆栈的大小。TRS文本驻留大小。D被标记为“不干净”的页项目。LIB使用的库页的大小。对于ELF进程没有作用。RSS该进程占用的物理内存