当前位置: 首页 > news >正文

实验一 Linux基本环境

一、实验目的

(1)熟悉Linux下的基本操作,学会使用各种Shell命令去操作Linux,对Linux有一个感性认识。

(2)学会使用vi编辑器编辑简单的C语言程序,并能对其编译和调试。

二、实验内容

(1) 熟悉常用的linux命令,重点熟悉文件操作命令;

文件操作命令:

命令

功能

ls

显示当前目录下的所有文件及文件夹

ll

以详细方式显示所有文件与文件夹

cd /user

进入user文件夹

cd..

返回上级目录

pwd

显示当前路径

文件增、删、查、改命令:

命令

功能

例如

mkdir

创建文件夹

mkdir test

touch

创建文件

touch text.txt

cp

备份

cp text.txt text2.txt

cp text.txt /user/longt/temp

rm

删除

rm text.txt

mv

移动

mv text.txt /user/longt/temp

cat

读取

cat hello.c

(2) 使用vi编辑器编写一C程序,并用gcc命令进行编译和链接,并用a.out来进行输出结果。

Linux下编译C程序主要命令:

命令

功能

vi

启动文本编译器

gcc

编译文件

./a.out

执行文件(a.out为默认编译后的文件)

三、实验小结

(一)常用命令说明:

1.使用命令ls(注意Linux命令区分大小写。)

使用ls 按字母顺序列出当前目录中所有非隐藏文件;

使用ls –a按字母顺序列出当前目录中所有文件,包括隐藏文件

使用ls –l 查看当前目录所有文件包括当前目录和父目录,包括长度、拥有者和权限;

2.使用dir 查看当前目录内容

3.使用cd改变当前目录

cd .. 回到上层目录;

cd /home/mj 移动到用户mj的主目录;

cd 移动到自己的主目录,适用于任何用户

4pwd 显示当前目录绝对路径

5.建立目录mkdir

mkdir 目录名; mkdir /home/s2001/newdir

6.删除目录:rmdir

7.复制文件cp

cp file1 file2 file1内容复制到目标文件file2中,目标文件得到新的生成日期和inode编号;(在linux里每个文件都有一个唯一的inode号)

8.移动文件或目录: mv

mv file1 file2 将文件名从file1变成file2

9.删除文件rm

rm file1 删除file1而不提示确认;

rm –i file1 提示用户确认之后删除file1

10. 显示文件内容:more (分页显示);

11. 显示文件:cat 文件名

12. 建立文件:cat >文件名,ctrl+d结束输入

(二)使用编辑器vi 编辑文件

1. 进入linux的文本模式之后,在命令行键入vi hello.c 然后回车。下面作一些简单的解释:首先vi命令是打开vi编辑器。后面的hello.c是用户即将编辑的c文件名字,注意扩展名字是.c;当然,vi编辑器功能很强,可以用它来编辑其它格式的文件,比如汇编文件,其扩展名字是.s;也可以直接用vi打开一个新的未命名的文件,当保存的时候再给它命名,只是这样做不很方便。

2. 最基本的命令i :当进入刚打开的文件时,不能写入信息,这时按一下键盘上的i键(insert),插入的意思,就可以进入编辑模式了。

3. 当文件编辑完后,需要保存退出,这时需要经过以下几个步骤:1)按一下键盘上的Esc 键;2)键入冒号(),紧跟在冒号后面是wq(意思是保存并退出)。如果不想保存退出,则在第二步键入冒号之后,键入q!(不带w,机尾部保存)

4.退出vi编辑器的编辑模式之后,要对刚才编写的程序进行编译。

5.编译的命令是:gcc [-o outputfilename.out] filename.c,其中gccc的编译器。参数:filename.c 是要编译的源文件的名称,outputfilename表示输出文件名称,中括号表示括号内部的内容可输入也可以不输入(中括号本身不再命令行中出现)。如果不输入outputfilename.out,默认的输出文件是a.out

6. 最后一步是运行程序,方法如下:./outputfilename.out

实验截图:

图1-1 在vi编译器中输入源代码

图1-2 在终端命令行中执行程序

相关文章:

  • 病毒原理实例
  • 利用jodconverter+openoffice+flexpaper实现的在线文档系统核心demo
  • 八数码编码(优化数据结构,优化算法)
  • mac 下 git svn 设置代理
  • 实时机票/火车票抓取系统整体架构
  • 我是伪程序员
  • asp.net实验一:hello world!
  • asp.net实验二:连接sql server 2008数据库
  • ASP.NET实验三:读取web.config连接数据库
  • 谷歌面试题(持续更新)
  • web前端实验一:利用Js捕获鼠标事件实现图片切换
  • web前端实验二:利用JS保护网页源代码
  • 五年专业编程的14个经验
  • 大数四则运算
  • JDBC学习之-Connection(一)
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • CAP 一致性协议及应用解析
  • CODING 缺陷管理功能正式开始公测
  • Java 多线程编程之:notify 和 wait 用法
  • javascript从右向左截取指定位数字符的3种方法
  • js对象的深浅拷贝
  • SQLServer之创建显式事务
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 记录:CentOS7.2配置LNMP环境记录
  • 七牛云假注销小指南
  • scrapy中间件源码分析及常用中间件大全
  • ​flutter 代码混淆
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (Python) SOAP Web Service (HTTP POST)
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (强烈推荐)移动端音视频从零到上手(上)
  • (区间dp) (经典例题) 石子合并
  • .NET 设计一套高性能的弱事件机制
  • .py文件应该怎样打开?
  • @Autowired和@Resource装配
  • @Import注解详解
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • @test注解_Spring 自定义注解你了解过吗?
  • [AR]Vumark(下一代条形码)
  • [AutoSar]BSW_Com02 PDU详解
  • [C++]AVL树怎么转
  • [C++]二叉搜索树
  • [CSAWQual 2019]Web_Unagi ---不会编程的崽
  • [Everyday Mathematics]20150130
  • [Flutter]WindowsPlatform上运行遇到的问题总结
  • [GXYCTF2019]BabySQli1
  • [hive] 窗口函数 ROW_NUMBER()
  • [IE技巧] 如何让IE 启动的时候不加载任何插件
  • [JS]Math.random()随机数的二三事
  • [linux]--关于进程概念(上)
  • [linux学习]apt-get参数解析
  • [linux运维] 利用zabbix监控linux高危命令并发送告警(基于Zabbix 6)