![]() ![]() 实验一 UNIX/LINUX使用环境及vi编辑器
[实验目的] 1、了解UNIX/LINUX的命令及使用格式。 2、复习C语言程序基本知识练习并掌握UNIX提供的vi编辑器来编译C程序 3、学会利用gcc、gdb编译、调试C程序 [实验学时] 2学时 [实验类型] 验证性 [实验内容] 1、通过WINDOWS系统中的远程登录程序telnet.exe 登录UNIX/LINUX。 2、熟悉UNIX/LINUX的常用基本命令如ls、mkdir、cd、rm、cat、gcc、./等。 3、用vi编写一个简单的、显示"Hello,World!"的C程序,用gcc编译并观察编译后的结果。利用gdb调试该程序.运行生成的可执行文件。
[实验步骤] 一、UNIX的登录与退出 1、登录 在DOS环境下用MS提供的telnet程序(也可使用WINDOWS 自带的telnet图形界面程序或多功能的S-Term终端程序),可使PC作为终端(terminal)登录(login)UNIX服务器(UNIX Server)。
(1)执行格式: telnet hostname(主机名) 或 telnet 主机的IP地址 例: telnet www.yahoo.com telnet 140.122.77.120 (2)步骤 login: (输入username) password: (输入密码) 2、退出 在UNIX系统提示符$下,输入logout、exit或shutdown 。 例:$ logout 二、UNIX命令格式 命令 [选项] [处理对象] 例:ls -la mydir 注意:(1)命令一般是小写字串。注意大小写有别 (2)选项通常以减号(-)再加上一个或数个字符表示,用来选择一个命令的不同操作 (3)同一行可有数个命令,命令间应以分号隔开 (4)命令后加上&可使该命令后台(background)执行 三、UNIX常用命令 1、目录操作 和DOS相似,UNIX采用树型目录管理结构,由根目录(/)开始一层层将子目录建下去,各子目录以 / 隔开。用户login后,工作目录的位置称为 home directory,由系统管理员设定。'~’符号代表自己的home directory,例如 ~/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 执行格式: mkdir directory-name 例: mkdir dir1 (新建一名为dir1的目录) (3)删除目录 rmdir 执行格式: rmdir directory-name 或 rm directory-name 例:rmdir dir1 删除目录dir1,但它必须是空目录,否则无法删除 rm -r dir1 删除目录dir1及其下所有文件及子目录 rm -rf dir1 不管是否空目录,统统删除,而且不给出提示,使用时要小心
(4) 改变工作目录位置 cd 执行格式: cd [name] 例: cd 改变目录位置至用户login时的working directory cd dir1 改变目录位置,至dir1目录 cd ~user 改变目录位置,至用户的working directory cd .. 改变目录位置,至当前目录的上层目录 cd ../user 改变目录位置,至上一级目录下的user目录 cd /dir-name1/dir-name2 改变目录位置,至绝对路径(Full path) cd - 回到进入当前目录前的上一个目录
(5)显示当前所在目录pwd 执行格式: pwd (6)查看目录大小du 执行格式: du [-s] directory 例: du dir1 显示目录dir1及其子目录容量(以kb为单位) du -s dir1 显示目录dir1的总容量 2、文件操作 (1)查看文件(可以是二进制的)内容 cat 执行格式:cat filename或more filename 或cat filename|more 例: cat file1 以连续显示方式,查看文件file1的内容 more file1 或 cat file1|more 以分页方式查看文件的内容 (2)删除文件 rm 执行格式: rm filename 例: rm file? rm f* (3)复制文件 cp 执行格式: cp [-r] source destination 例: cp file1 file2 将file1复制成file2 cp file1 dir1 将file1复制到目录dir1 cp /tmp/file1 将file1复制到当前目录 cp /tmp/file1 file2 将file1 复制到当前目录名为file2 cp –r dir1 dir2 (recursive copy)复制整个目录。 四、文件编辑器vi vi是在UNIX 上被广泛使用的中英文编辑软件。vi是visual editor的缩写,是UNIX提供给用户的一个窗口化编辑环境。 进入vi,直接执行vi编辑程序即可。 例:$vi test.c 显示器出现vi的编辑窗口,同时vi会将文件复制一份至缓冲区(buffer)。vi先对缓冲区的文件进行编辑,保留在磁盘中的文件则不变。编辑完成后,使用者可决定是否要取代原来旧有的文件。 1、vi的工作模式 vi提供二种工作模式:输入模式(insert mode)和命令模式(command mode)。使用者进入vi后,即处在命令模式下,此刻键入的任何字符皆被视为命令,可进行删除、修改、存盘等操作。要输入信息,应转换到输入模式。 (1)命令模式 在输入模式下,按ESC可切换到命令模式。命令模式下,可选用下列指令离开vi:
(2)命令模式下光标的移动
(3)输入模式 输入以下命令即可进入vi输入模式:
五、GCC编译器 LINUX 上的GC C编译器是一个全功能的ANCI C兼容编译器,下面介绍一些GCC编译器最常用的选项。 1、使用GCC 通常后跟一些选项和文件名来使用GCC编译器。GCC命令的基本用法如下: gcc [options] [filenames] 命令行选项指定的编译过程中的具体操作 2、GCC常用选项 GCC有超过100个的编译选项可用,这些选项中的许多可能永远都不会用到,但一些主要的选项将会频繁使用。很多的GCC选项包括一个以上的字符,因此必须为每个选项指定各自的连字符,并且就像大多数LINUX 命令一样不能在一个单独的连字符后跟一组选项。例如,下面的命令是不同的: gcc -p-g test.c gcc -pg test.c 第一条命令告诉GCC编译test.c时为prof命令建立剖析(profile)信息并且把调试信息加入到可执行文件里。第二条命令告诉GCC只为gprof命令建立剖析信息。 当不用任何选项编译一个程序时,GCC将建立(假定编译成功)一个名为a.out的可执行文件。例如, gcc test.c 编译成功后,当前目录下就产生了一个a.out文件。 也可用-o选项来为即将产生的可执行文件指定一个文件名来代替a.out。例如: gcc –o count count.c 此时得到的可执行文件就不再是a.out,而是count。 GCC也可以指定编译器处理步骤多少。-c选项告诉GCC仅把源代码编译为目标代码而跳过汇编和连接步骤。这个选项使用得非常频繁因为它编译多个C程序时速度更快且更易于管理。默认时GCC建立的目标代码文件有一个.o的扩展名。 3、执行文件 格式: ./可执行文件名 例:./a.out ./count 六、参考程序 main( ) { printf("Hello,world!\n"); } [实验报告要求] 1.调试说明。包括:调试情况,如上机时遇到问题及解决办法,观察到的现象及其分析,对程序设计技巧的总结及分析等;程序的输出结果及对结果的分析;实验的心得体会,以及调试日期等需要记录的信息。
|
|
来自: 以怪力乱神 > 《计算机操作系统实验》