分享

实验一 linux环境与vi编辑器

 以怪力乱神 2018-09-06
 
 







实验一  UNIX/LINUX使用环境及vi编辑器 

 

[实验目的]

1、了解UNIX/LINUX的命令及使用格式。

2、复习C语言程序基本知识练习并掌握UNIX提供的vi编辑器来编译C程序

3、学会利用gccgdb编译、调试C程序

[实验学时]

2学时

[实验类型]

验证性

[实验内容]

1、通过WINDOWS系统中的远程登录程序telnet.exe 登录UNIX/LINUX

2、熟悉UNIX/LINUX的常用基本命令如lsmkdircdrmcatgcc./等。

3、用vi编写一个简单的、显示"Hello,World!"C程序,用gcc编译并观察编译后的结果。利用gdb调试该程序.运行生成的可执行文件。

 

[实验步骤]

一、UNIX的登录与退出

1、登录

DOS环境下用MS提供的telnet程序也可使用WINDOWS 自带的telnet图形界面程序或多功能的S-Term终端程序),可使PC作为终端terminal登录loginUNIX服务器UNIX  Server

 

1)执行格式:

                 telnet  hostname(主机名)

     telnet  主机的IP地址

     例:        telnet  www.yahoo.com

                 telnet  140.122.77.120

    2)步骤

                     login                 (输入username

                     password              (输入密码)

2、退出

        UNIX系统提示符$下,输入logoutexitshutdown

例:$ 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]即代表test0test1,……,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 filenamemore 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 上被广泛使用的中英文编辑软件。vivisual  editor的缩写,是UNIX提供给用户的一个窗口化编辑环境。

进入vi,直接执行vi编辑程序即可。

例:$vi  test.c

显示器出现vi的编辑窗口,同时vi会将文件复制一份至缓冲区(buffer)。vi先对缓冲区的文件进行编辑,保留在磁盘中的文件则不变。编辑完成后,使用者可决定是否要取代原来旧有的文件。

1vi的工作模式

vi提供二种工作模式:输入模式(insert  mode)和命令模式(command  mode)。使用者进入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) 

在光标之后加入资料

在该行之末加入资料

i(insert)

在光标之前加入资料

在该行之首加入资料

o(open)

新增一行于该行之下,供输入资料用

O

新增一行于该行之上,供输入资料用

Dd

删除当前光标所在行

X

删除当前光标字符

X

删除当前光标之前字符

U

撤消

·

重做

F

查找

替换,例如:将文件中的所有"FOX"换成"duck",用":%s/FOX/duck/g"

ESC

离开输入模式

五、GCC编译器

LINUX 上的GC C编译器是一个全功能的ANCI  C兼容编译器,下面介绍一些GCC编译器最常用的选项。

1、使用GCC

通常后跟一些选项和文件名来使用GCC编译器。GCC命令的基本用法如下:

      gcc [options] [filenames]

命令行选项指定的编译过程中的具体操作

2GCC常用选项

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.调试说明。包括:调试情况,如上机时遇到问题及解决办法,观察到的现象及其分析,对程序设计技巧的总结及分析等;程序的输出结果及对结果的分析;实验的心得体会,以及调试日期等需要记录的信息。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多