您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > 第一章Linux基础
第一章Linux基础(4学时)实验一LINUX及其使用环境实验目的1.了解LINUX的Shell命令及使用格式。2.学习如何连接Linux系统。3.熟悉LINUX的常用基本命令。4.学会如何得到帮助信息。5.掌握Linux下C语言程序设计的基本步骤6.了解和掌握gcc编译器实验内容1.通过WINDOWS操作系统中的远程登录程序telnet.exe登录linux。2.使用man命令3.使用man命令来获得每个Linux命令的帮助手册4.用manls,manpasswd,manpwd命令得到ls、passwd、pwd三个命令的帮助手册。5.用who命令显示当前正在你的Linux系统中使用的用户名字:6.编写C语言程序:输出两行文字“howareyou”,在Linux下编辑,编译,运行。实验结果分析实验指导一、LINUX的登录与退出1、登录在DOS环境下用MS提供的telnet程序(也可使用WINDOWS自带的telnet图形界面程序或多功能的S-Term终端程序),可使PC作为终端(terminal)登录(login)LINUX服务器(UNIXServer)。(1)执行格式:telnethostname(主机名)或telnet主机的IP地址例:telnet192.168.0.254(2)步骤login:(输入username)password:(输入密码)2、退出在Linux系统提示符$下,输入logout或exit。例:$logout二、Linux命令格式命令[选项][处理对象]例:ls-lamydir注意:(1)命令一般是小写字串。注意大小写有别;(2)目录之间的分隔为(/)区别于DOS中的(\)(3)命令的选项通常以减号(-)间隔,命令和选项之间需要加空格(4)同一行可有数个命令,命令间应以分号隔开(5)命令后加上(&)可使该命令后台(background)执行三、常用命令1、目录操作和DOS相似,Linux采用树型目录管理结构,由根目录(/)开始一层层将子目录建下去,各子目录以/隔开。用户login后,工作目录的位置称为homedirectory,默认是已用户名为名的文件夹,例如用户mytest的工作目录是在/home/mytest文件夹。(1)显示目录文件ls执行格式:ls[-atFlgR][name](name可为文件或目录名称)例:ls显示出当前目录下的文件ls-a显示出包含隐藏文件的所有文件ls-t按照文件最后修改时间显示文件ls-F显示出当前目录下的文件及其类型ls-l显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称ls-R显示出该目录及其子目录下的文件(2)建新目录mkdir执行格式:mkdirdirectory-name例:mkdirdir1(新建一名为dir1的目录)(3)删除目录rmdir执行格式:rmdirdirectory-name或rmdirectory-name例:rmdirdir1删除目录dir1,但它必须是空目录,否则无法删除rm-rdir1删除目录dir1及其下所有文件及子目录(4)改变工作目录位置cd执行格式:cd[name]例:cd改变目录位置至用户login时的workingdirectorycddir1改变目录位置,至dir1目录cd..改变目录位置,至当前目录的上层目录cd../user改变目录位置,至上一级目录下的user目录cd/dir-name1/dir-name2改变目录位置,至绝对路径(Fullpath)cd-回到进入当前目录前的上一个目录(5)显示当前所在目录pwd执行格式:pwd2、文件操作(1)查看文件(可以是二进制的)内容cat执行格式:catfilename或morefilename或catfilename|more例:catfile1以连续显示方式,查看文件file1的内容(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)移动或更改文件、目录名称mv执行格式:mvsourcedestination例:mvfile1file2将文件file1,更名为file2mvfile1dir1将文件file1,移到目录dir1下mvdir1dir2(5)建立文件或目录的链接ln例:lnsourcetarget1建立source文件(已存在)的硬链接,命名为target1ln-ssourcetarget2建立source文件的符号链接,命名为target23、系统询问与权限口令(1)查看系统中的使用者执行格式:who(2)查看username执行格式:whoamI查看自己的username4、进程操作(1)查看系统目前的进程ps执行格式:ps[-aux]例:ps或ps-x查看系统中属于自己的processps-au查看系统中所有使用者的processps-aux查看系统中包含系统内部及所有使用者的processps-aux|grepapache找出系统中运行的所有名称中带有apache串的process(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)显示系统中程序的执行状态例:top-q不断地更新、显示系统程序的执行状态第一行显示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。第二行为进程情况,依次为进程总数、休眠进程数、运行进程数、僵死进程数、终止进程数。第三行为CPU状态,依次为用户占用、系统占用、优先进程占用、闲置进程占用。第四行为内存状态,依次为平均可用内存、已用内存、空闲内存、共享内存、缓存使用内存。第五行为交换状态,依次为平均可用交换容量、已用容量、闲置容量、高速缓存容量。PID每个进程的ID。PPID每个进程的父进程ID。UID每个进程所有者的UID。USER每个进程所有者的用户名。PRI每个进程的优先级别。NI该进程的优先级值。SIZE该进程的代码大小加上数据大小再加上堆栈空间大小的总数。单位是KB。TSIZE该进程的代码大小。DSIZE数据和堆栈的大小。TRS文本驻留大小。D被标记为“不干净”的页项目。LIB使用的库页的大小。对于ELF进程没有作用。RSS该进程占用的物理内存的总数量,单位是KB。SHARE该进程使用共享内存的数量。STAT该进程的状态。其中S代表休眠状态;D代表不可中断的休眠状态;R代表运行状态;Z代表僵死状态;T代表停止或跟踪状态。TIME该进程自启动以来所占用的总CPU时间。如果进入的是累计模式,那么该时间还包括这个进程子进程所占用的时间。且标题会变成CTIME。%CPU该进程自最近一次刷新以来所占用CPU时间和总时间的百分比。%MEM该进程占用的物理内存占总内存的百分比。COMMAND该进程的命令名称,如果一行显示不下,则会进行截取。内存中的进程会有一个完整的命令行。注意:按ctrl+c停止查看(6)以树状图显示执行的程序pstree例:pstree-h列出进程树并高亮标出当前执行的程序四、文件编辑器vivi是在UNIX上被广泛使用的中英文编辑软件。vi是visualeditor的缩写,是UNIX提供给用户的一个窗口化编辑环境。进入vi,直接执行vi编辑程序即可。例:$vitest.c显示器出现vi的编辑窗口,同时vi会将文件复制一份至缓冲区(buffer)。vi先对缓冲区的文件进行编辑,保留在磁盘中的文件则不变。编辑完成后,使用者可决定是否要取代原来旧有的文件。1、vi的工作模式vi提供二种工作模式:输入模式(insertmode)和命令模式(commandmode)。使用者进入vi后,即处在命令模式下,此刻键入的任何字符皆被视为命令,可进行删除、修改、存盘等操作。要输入信息,应转换到输入模式。(1)命令模式在输入模式下,按ESC可切换到命令模式。命令模式下,可选用下列指令离开vi::q!离开vi,并放弃刚在缓冲区内编辑的内容:wq将缓冲区内的资料写入磁盘中,并离开vi:ZZ同wq:x同wq:w将缓冲区内的资料写入磁盘中,但并不离开vi:q离开vi,若文件被修改过,则要被要求确认是否放弃修改的内容,此指令可与:w配合使用(2)命令模式下光标的移动H左移一个字符J下移一个字符K上移一个字符L右移一个字符0移至该行的首$移至该行的末^移至该行的第一个字符处H移至窗口的第一列M移至窗口中间那一列L移至窗口的最后一列G移至该文件的最后一列W,W下一个单词(W忽略标点)B,B上一个单词(B忽略标点)+移至下一列的第一个字符处-移至上一列的第一个字符处(移至该句首)移至该句末{移至该段首}移至该段末NG移至该文件的第n列N+移至光标所在位置之后第n列n-移至光标所在位置之前第n列(3)输入模式输入以下命令即可进入vi输入模式:a(append)在光标之后加入资料A在该行之末加入资料i(insert)在光标之前加入资料I在该行之首加入资料o(open)新增一行于该行之下,供输入资料用O新增一行于该行之上,供输入资料用Dd删除当前光标所在行X删除当前光标字符X删除当前光标之前字符U撤消·重做F查找s替换,例如:将文件中的所有FOX换成duck,用:%s/FOX/duck/gESC离开输入模式二、GCC编译器LINUX上可用的C编译器是GNUC编译器,它建立在自由软件基金会编程许可证的基础上,因此可以自由发布。LINUX上的GNUC编译器(GCC)是一个全功能的ANCIC兼容编译器,而一般UNIX(如SCOUNIX)用的编译器是CC。Linux下的C编译器将程序编译成一个可执行文件都要经过以下4个步骤。(1)预处理(也称预编译,Preprocessing):命令GCC首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含、预编译语句进行分析。(2)编译(Compilation):调用cc进行编译,根据输入文件生成以.s为后缀的目标文件。(3)汇编(Assembly):汇编过程是针对汇编语言的步骤,调用as进行工作,将.S和.s为后缀的汇编语言文件经过预编译和汇编成以.o为后缀的目标文件。(4)连接(Linking):当所有的目标文件都生成之后,调用ld来完成最后的关键性工作,这个阶段就是连接。在连接阶段,所有的目标文件被安排到可执行程序中恰当的位置上,同时,该程序所调用到的库函数也从各自所在的档案库中链接到合适的地方。除非使用了-c、-S或-E选项或者编译错误阻止了过程的进行,否则连接总是最后的步骤。1、使用GCC/CC通常后跟一些选项和文件名来使用GCC编译器。GCC命令的基本用法如下:gcc[options][filenames]使用举例:编译hello.c程序,使用格式有以下三种:(1)gcc–ohellohello.c生成可执行程序名为hello(2)gcchello.c–ohello生成可执行程序名为hello(3)gcchello.c生成可执行程序名为a.out2、GCC常用选项(1)-E:生成.i文件,让gcc在预处理后停止编译,从而生成
本文标题:第一章Linux基础
链接地址:https://www.777doc.com/doc-2201910 .html