# 实验一:Linux环境的基本操作 ### 【实验目的】 1. 了解LINUX运行环境的命令及使用格式。 2. 熟悉LINUX的常用基本命令。 3. 练习并掌握LINUX下C语言程序的编写、编译、调试和运行方法。 ### 【实验内容】 1. 熟悉LINUX的常用基本命令如logout/exit、adduser、deluser、ls、cd、pwd、mkdir、rmdir、rm、cp、mv、cat、man等。 2. 用vi编写一个简单的显示“hello word!”的程序,用gcc编译并观察编译后的结果,运行生成的可执行文件。 ### 【实验过程】 记录自己这实验课上具体的操作内容、过程 ### 【实验小结】 实验收获、实验过程中遇到的问题已经心得 ### 【实验指导】 #### 一、介绍虚拟机安装以及使用方法 1. 虚拟软件 Vmware 是一个虚拟软件,本质就是利用软件技术,在母机hosts中虚拟出另外一台或者几台子机guests,而在子机中,可以随意进行任何操作,并且都不会影响主机 Vmware中创建的OS实际上是在硬盘上创建了一个文件夹,该OS中的所有东西都保存在这个文件夹中的文件里面。比如:BIOS、硬盘、配置文件等。Vmware虚拟的是一台“真正”的机器,主机所支持的OS一般Vmware也都支持。 虚拟机内存直接使用主机的内存,一般要分配至少占主机一半的内存给虚拟机用。 以根用户登录:用户名:root 密码:redhat 2. 设置共享 Windows: d:\lin_share
Linux: /mnt/hgfs/sharefolders/ #### 二、常用基本命令的使用 用root账号(超级用户)注册,口令为redhat(注意大小写)。注册成功出现#号(超级用户系统提示符,普通用户的系统提示符为$)。
命令格式:
  命令 [选项] [处理对象]
注意:
  (1)命令一般是小写字串。注意大小写有别
  (2)选项通常以减号(-)再加上一个或数个字符表示,用来选择一个命令的不同操作
  (3)同一行可有数个命令,命令间应以分号隔开
  (4)命令后加上&可使该命令后台(background)执行
1. logout、exit、halt、reboot 一组用户注销以及关机和重启命令 在linux里,不能直接用电源按钮开关,也不能用reset按钮重启,这对系统,尤其是硬盘有比较大的影响 2. 练习使用命令ls(注意Linux命令区分大小写。)
i.使用ls 查看当前目录内容;使用ls 查看指定目录内容,如/目录,/etc目录
ii.使用ls –all 查看当前目录内容;使用dir 查看当前目录内容 3. 使用cd改变当前目录
cd .. 回到上层目录 ;cd / 回到根目录 4. pwd 显示当前路径 5. 建立目录mkdir
mkdir 目录名 ; mkdir /home/s2001/newdir 6. 删除目录:rmdir; 7. 复制文件cp: 如 cp 文件名1 文件名2 8. 移动文件或目录: mv 9. 删除文件 rm 10. 显示文件内容:more (分页显示);
显示文件:cat 文件名 建立文件:cat >文件名,ctrl+d结束输入
  添加新用户、修改文件属性:
12. 添加新用户(在root下,按默认值回答)
adduser 用户名;如adduser s2001 ; 以新用户登录到系统 13. 修改用户口令 passwd 14. 查看相关命令的帮助:man 命令名显示一屏后,按键将显示更多与命令有关的用户手册内容;按返回命令行提示符。 15. 显示当前系统中已注册的用户信息:who 16 .显示当前注册的用户信息:whoami #### 三、使用编辑器vi 编辑文件  vi是在linux 上被广泛使用的中英文编辑软件。vi是visual editor的缩写,是linux提供给用户的一个窗口化编辑环境。
 进入vi,直接执行vi编辑程序即可。显示器出现vi的编辑窗口,同时vi会将文件复制一份至缓冲区(buffer)。vi先对缓冲区的文件进行编辑,保留在磁盘中的文件则不变。编辑完成后,使用者可决定是否要取代原来旧有的文件。
 vi提供二种工作模式:输入模式(insert mode)和命令模式(command mode)。使用者进入vi后,即处在命令模式下,此刻键入的任何字符皆被视为命令,可进行删除、修改、存盘等操作。要输入信息,应转换到输入模式。
1. 进入linux的文本模式之后,在命令行键入vi filename.c 然后回车。下面作一些简单的解释:首先vi命令是打开vi编辑器。后面的filename.c是用户即将编辑的c文件名字,注意扩展名字是.c;当然,vi编辑器功能很强,可以用它来编辑其它格式的文件,比如汇编文件,其扩展名字是.s;也可以直接用vi打开一个新的未命名的文件,当保存的时候再给它命名,只是这样做不很方便。 2. 最基本的命令I :当进入刚打开的文件时,不能写入信息,这时按一下键盘上的I键(insert),插入的意思,就可以进入编辑模式了。如下图所示:
![Image text](picture/图片1.png) 3. a与i是相同的用法 4. 当文件编辑完后,需要保存退出,这时需要经过以下几个步骤:1)按一下键盘上的Esc 键;2)键入冒号(:),紧跟在冒号后面是wq(意思是保存并退出)。如果不想保存退出,则在第二步键入冒号之后,键入!q(不带w,机尾部保存)。如下图所示:
![Image text](picture/图片2.png) 在输入模式下,按ESC可切换到命令模式。命令模式下,可选用下列指令离开vi:
| 命令 | 作用 | | - | :-: | | :q! | 离开vi,并放弃刚在缓冲区内编辑的内容| | :wq | 将缓冲区内的资料写入磁盘中,并离开vi| | :ZZ | 同wq | | :x | 同wq | | :w| 将缓冲区内的资料写入磁盘中,但并不离开vi | | :q | 离开vi,若文件被修改过,则要被要求确认是否放弃修改的内容,此指令可与:w配合使用 | 5. 退出vi编辑器的编辑模式之后,要对刚才编写的程序进行编译。 #### 四、GNU C编译器  LINUX上可用的C编译器是GNU C编译器,它建立在自由软件基金会编程许可证的基础上,因此可以自由发布。
 LINUX 上的GNU C编译器(GCC)是一个全功能的ANCI C兼容编译器,而一般UNIX(如SCO UNIX)用的编译器是CC。下面介绍GCC和一些GCC编译器最常用的选项。
 通常后跟一些选项和文件名来使用GCC编译器。GCC命令的基本用法如下:
 gcc [options] [filenames]
 命令行选项指定的编译过程中的具体操作
 当不用任何选项编译一个程序时,GCC将建立(假定编译成功)一个名为a.out的可执行文件。例如:
 gcc test.c
 编译成功后,当前目录下就产生了一个a.out文件。
 也可用-o选项来为即将产生的可执行文件指定一个文件名来代替a.out。例如:
  gcc –o count count.c
 此时得到的可执行文件就不再是a.out,而是count。 6. 编译的命令是:gcc filename.c [-o outputfilename],其中gcc是c的编译器。参数:filename.c 是刚才编辑的c 文件(当然也可以是以前编写好的c文件);后面中括号里面的参数是可选的,它是一个输出文件。如果不选,默认的输出文件是a.out ,选了之后输出文件就是outputfilename.out. 7. 最后一步是运行程序,  执行文件
 格式: ./可执行文件名
方法如下:./outputfilename.out #### Gitee Feature 1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md 2. Gitee blog [blog.gitee.com](https://blog.gitee.com) 3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) 4. The most valuable open source project [GVP](https://gitee.com/gvp) 5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) 6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)