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

Linux 实验报告3-4

 (大家好,今天我们来学习Linux的相关知识,大家可以在评论区进行互动答疑哦~加油!💕)

目录

实验三  vi编辑器

一、实验目的

二、实验内容

三、主要实验步骤

实验报告

1.进入 vi。 

 2.建立一个文件,如 file.c。进入插入方式,输入一个C语言程序的各行内容,故意制造几处错误。最后,将该文件存盘。回到shell状态下。 

3.运行gcc file.c -o myfile,编译该文件,会发现错误提示。理解其含义。  

4.重新进入vi,对文件进行修改,存盘,退出vi。重新编译文件,用./myfile运行该程序。 

5.运行man date>file10,运行vi file10。

实验四   shell编程 

一、实验目的

二、实验内容

三、主要实验步骤

实验报告

 1.利用vi建立一个脚本文件,其中包括date、cal、pwd、Is等常用命令:然后以不同方式执行该脚本。 

 2.运用history命令

 3.体会bash的命令补全功能

4.用alias定义别名,然后执行 

5.对习题4.8中的shell脚本进行编辑然后执行 

6.按习题4.14要求编写脚本,然后执行 

 7.按习题4.18要求编写脚本,然后执行

8.运行4.20程序 


实验三  vi编辑器

一、实验目的

学习使用vi编辑器建立、编辑、显示及加工处理文本文件。

二、实验内容

  1. 进入和退出vi. 
  2. 利用文本插入方式建立一个文件。 
  3. 在新建的文本文件上移动光标位置。 
  4. 对该文件执行删除、复原、修改、替换等操作。 

三、主要实验步骤

  1. 进入 vi。 
  2. 建立一个文件,如 file.c。进入插入方式,输入一个C语言程序的各行内容,故意制造几处错误。最后,将该文件存盘。回到shell状态下。 
  3. 运行gcc file.c -o myfile,编译该文件,会发现错误提示。理解其含义。 
  4. 重新进入 vi,对该文件进行修改。然后存盘,退出 vi。重新编译该文件。如果编译通过了,那么可以用 ./myfile运行该程序。 
  5. 运行man date>file10,然后运行vi file10。

    使用x、 dd等命令删除某些文本行。 

    使用u命令复原此前的情况。 

    使用c、r、s等命令修改文本内容。 

    使用检索命令进行给定模式的检索。


实验报告

1.进入 vi。 

 2.建立一个文件,如 file.c。进入插入方式,输入一个C语言程序的各行内容,故意制造几处错误。最后,将该文件存盘。回到shell状态下。 

进入vi编辑器后,

i:输入i为进入编辑插入模式。

编辑完后,先按下esc键,然后输入:wq

:x        命令只是简单地退出 Vim,而不进行保存操作。

:wq      命令用于保存文件并退出 Vim 编辑器。无论文件是否有修改,:wq 命令都会将修改保存到磁盘上的文件中。如果文件没有修改,:wq 命令仍然会执行保存操作。

:wq! 强制写数据到文件中并退出Vim编辑器.这个命令的前提和:w!命令一样

:w  只保存编辑的内容,但是不退出Vim编辑器.就是将内存缓冲区的数据刷新到Vim打开的文件中.

:w!  强制写数据到文件中.这个命令的场景就是当某个文件只有读权限,没有写权限时,可以将数据强制写入到文件中,但是前提是用户是该文件的属主,当然超级用户不存在这个限制.

ZZ   注意:是大写Z.此命令的用法和:wq命令是一样的.无需再次按Enter键.

:q   当前文件没有更改时,使用该命令会直接退出Vim编辑器,如果文件已经做了修改了,则此命令会失败,并警告:No write since last change (add ! to override)

:q!   此命令是强制退出Vim编辑器,对文件内容不作处理,不管改动过还是未改动.

3.运行gcc file.c -o myfile,编译该文件,会发现错误提示。理解其含义。  

4.重新进入vi,对文件进行修改,存盘,退出vi。重新编译文件,用./myfile运行该程序。 

5.运行man date>file10,运行vi file10。

x命令:删除某个光标下的内容 

dd命令:删除某行内容 

 u命令:复原此前状况

c命令:一行光标前字符的替换 

r命令:输入ri,r命令用“i”代替取代刚才光标位置的字符 

s命令:输入good,取代了刚才光标位置字符 

/模式 

?模式 


实验四   shell编程 

一、实验目的

  1. 了解shell的特点和主要种类。
  2. 掌握shell脚本的建立和执行方式。 
  3. 掌握bash的基本语法。 
  4. 学会编写shell脚本。

二、实验内容

  1. shell脚本的建立和执行。 
  2. 历史命令和别名定义。 
  3. shell变量和位置参数、环境变量。 
  4. bash的特殊字符。 
  5. 一般控制结构。 
  6. 算术运算及bash 函数。

三、主要实验步骤

  1. 利用vi建立一个脚本文件,其中包括date、cal、pwd、Is等常用命令:然后以不同方式执行该脚本。 
  2. 运行history命令,配置历史命令环境。 
  3. 体会bash 的命令补齐功能。 
  4. 用alias定义别名,然后执行。 
  5. 对习题4.8中的shell脚本进行编辑,然后执行。 
  6. 按习题4.14要求编写脚本,然后执行。 
  7. 按习题4.18要求编写脚本,然后执行。 
  8. 运行例4.20的程序。若取消其中的“eval",则会出现什么情况?

实验报告

 1.利用vi建立一个脚本文件,其中包括date、cal、pwd、Is等常用命令:然后以不
同方式执行该脚本。 

(1)bash ex1

 (2)bash <ex1

 2.运用history命令

 3.体会bash的命令补全功能

先输入bash e  然后按 tab键 发现命令自动补全

4.用alias定义别名,然后执行 

5.对习题4.8中的shell脚本进行编辑然后执行 

6.按习题4.14要求编写脚本,然后执行 

 7.按习题4.18要求编写脚本,然后执行

8.运行4.20程序 


(今日分享暂时到此为止啦!为不断努力的自己鼓鼓掌吧。今日文案分享:你我皆是凡人,婆娑世界,去日苦多,疯亦何妨,只得自由且逍遥仰可。) 

相关文章:

Linux 实验报告3-4

&#xff08;大家好&#xff0c;今天我们来学习Linux的相关知识&#xff0c;大家可以在评论区进行互动答疑哦~加油&#xff01;&#x1f495;&#xff09; 目录 实验三 vi编辑器 一、实验目的 二、实验内容 三、主要实验步骤 实验报告 1.进入 vi。 2.建立一个文件&…...

网络安全之BGP详解

BGP&#xff1b;边界网关协议 使用范围&#xff1b;BGP范围&#xff0c;在AS之间使用的协议。 协议的特点&#xff08;算法&#xff09;&#xff1a;路径矢量型&#xff0c;没有算法。 协议是否传递网络掩码&#xff1a;传递网络掩码&#xff0c;支持VLSM&#xff0c;CIDR …...

【MySQL精通之路】SQL优化(1)-查询优化(8)-嵌套联接优化

主博客&#xff1a; 【MySQL精通之路】SQL优化(1)-查询优化-CSDN博客 上一篇&#xff1a; 【MySQL精通之路】SQL优化(1)-查询优化(7)-嵌套循环联接-CSDN博客 下一篇&#xff1a; 【MySQL精通之路】SQL优化(1)-查询优化(9)-外部联接优化-CSDN博客 与SQL标准相比&#xff0c…...

30V降8V、12V、24V3.5A车充降压芯片IC H4112 5V-30V

H4112确实是一款功能强大的异步降压型DC-DC转换器&#xff0c;它具备多种出色的特性和优势&#xff0c;使得它在电源管理领域有着广泛的应用。以下是对H4112主要特性和功能的详细解释&#xff1a; 内置30V耐压MOS&#xff1a; H4112内部集成了30V耐压的MOS管&#xff0c;这有…...

保护共享资源的方法(互斥锁)

我最近开了几个专栏&#xff0c;诚信互三&#xff01; > |||《算法专栏》&#xff1a;&#xff1a;刷题教程来自网站《代码随想录》。||| > |||《C专栏》&#xff1a;&#xff1a;记录我学习C的经历&#xff0c;看完你一定会有收获。||| > |||《Linux专栏》&#xff1…...

树的非递归遍历(层序)

层序是采用队列的方式来遍历的 就比如说上面这颗树 他层序的就是&#xff1a;1 24 356 void LevelOrder(BTNode* root) {Que q;QueueInit(&q);if (root){QueuePush(&q, root);}while (!QueueEmpty(&q)){BTNode* front QueueFront(&q);QueuePop(&q);print…...

解决SpringBoot使用@Transactional进行RestTemplate远程调用导致查询数据记录为null的bug

开启事务过程中&#xff0c;如果远程调用查询当前已经开启但没有提交的事务&#xff0c;就会查不到数据。 示例代码 import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.transaction.annotation.Transactional; import o…...

pl/sql基础语法操作

oracle pl/sql语言&#xff08;procedural language/sql&#xff09;是结合了结构化查询与oracle自身过程控制为一体的强大语言。 语法执行块 语法结构&#xff1a; [ declare 可选 声明变量部分--declaration statements (1);]begin --执行部分--executable statements (2)…...

Vue 父组件向子组件传递数据

1、在子组件中&#xff0c;你需要声明你期望从父组件接收哪些props。这可以通过props选项完成&#xff0c;可以是一个数组或对象形式&#xff1a; export default {props: [message]&#xff0c;props:{message:String }props: {message: String, // 类型检查count: {type: Nu…...

二十五、openlayers官网示例CustomOverviewMap解析——实现鹰眼地图、预览窗口、小窗窗口地图、旋转控件

官网demo地址&#xff1a; Custom Overview Map 这个示例展示了如何在地图上增加一个小窗窗口的地图并跟随着地图的旋转而旋转视角。 首先加载了一个地图。其中 DragRotateAndZoom是一个交互事件&#xff0c;它可以实现按住shift键鼠标拖拽旋转地图。 const map new Map({int…...

K8S Secret管理之SealedSecrets

1 关于K8S Secret 我们通常将应用程序使用的密码、API密钥保存在K8S Secret中&#xff0c;然后应用去引用。对于这些敏感信息&#xff0c;安全性是至关重要的&#xff0c;而传统的存储方式可能会导致密钥在存储、传输或使用过程中受到威胁&#xff0c;例如在git中明文存储密码…...

Gone框架介绍25 - Redis模块参考文档

文章目录 Redis 参考文档配置项import 和 bury使用分布是缓存 redis.Cache接口定义使用示例 使用分布式锁 redis.Locker接口定义使用示例 操作Key&#xff0c;使用 redis.Key接口定义 使用 Provider 注入 redis 接口使用示例 直接使用redis连接池接口定义使用示例 Redis 参考文…...

SpringBoot前置知识02-spring注解发展史

springboot前置知识01-spring注解发展史 spring1.x spring配置只能通过xml配置文件的方式注入bean,需要根据业务分配配置文件&#xff0c;通过import标签关联。 spring1.2版本出现Transactional注解 <?xml version"1.0" encoding"UTF-8"?> <be…...

C++ TCP发送Socket数据

DEVC需要加入ws2_32库 #include <iostream> #include <winsock2.h>#pragma comment(lib, "ws2_32.lib")void sendData(const char* ip, int port, const char* data) {WSADATA wsaData;SOCKET sockfd;struct sockaddr_in server_addr;// 初始化Winsock…...

鸿蒙HarmonyOS开发中的易混点归纳-持续补充中

相关文章目录 鸿蒙HarmonyOS开发术语全解&#xff1a;小白也能看懂&#xff01; 文章目录 相关文章目录前言一、build()函数和Builder装饰器&#xff1f;二、自定义组件和系统组件&#xff08;内置组件&#xff09;三、组件和页面四、自定义弹窗和其他弹窗总结 前言 一、build…...

ue引擎游戏开发笔记(45)——添加游戏音效

1.需求分析&#xff1a; 截至目前&#xff0c;我们仍然在一个无声的世界游玩游戏&#xff0c;所以有必要为游戏增添一些声音&#xff0c;例如开火声&#xff0c;子弹撞击声等等。 2.操作实现&#xff1a; 1.这是一个较为简单的功能&#xff0c;类似特效的实现方法&#xff0c…...

202472读书笔记|《首先你要快乐,其次都是其次》——快乐至上,允许一切发生

202472读书笔记|《首先你要快乐&#xff0c;其次都是其次》——快乐至上&#xff0c;允许一切发生 《首先你要快乐&#xff0c;其次都是其次》作者林小仙&#xff0c;挺轻松的小漫画&#xff0c;清新的文字。 生而为人&#xff0c;我很抱歉&#xff0c;大可不必。 生活已经很难…...

8.STL中Vector容器的常见操作(附习题)

目录 1.vector的介绍 2 vector的使用 2.1 vector的定义 2.2 vector iterator 的使用 2.3 vector 空间增长问题 2.3 vector 增删查改 2.4 vector 迭代器失效问题 2.5 vector 在OJ中的使用 1.vector的介绍 vector是表示可变大小数组的序列容器。 就像数组一样&#xff0…...

5.23小结

1.java项目创新 目前想添加一个自动回复的功能和设置验证方式有&#xff08;允许任何人添加&#xff0c;禁止添加&#xff0c;设置回答问题添加&#xff0c;普通验证添加&#xff09; 目前只完成画好前端界面&#xff0c;前端发送请求&#xff0c;还有表的修改 因为涉及表字…...

文心一言 VS 讯飞星火 VS chatgpt (265)-- 算法导论20.1 4题

四、假设不使用一棵叠加的度为 u \sqrt{u} u ​ 的树&#xff0c;而是使用一棵叠加的度为 u 1 k u^{\frac{1}{k}} uk1​的树&#xff0c;这里 k 是大于 1 的常数&#xff0c;则这样的一棵树的高度是多少&#xff1f;又每个操作将需要多长时间&#xff1f;如果要写代码&#xf…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

NPOI操作EXCEL文件 ——CAD C# 二次开发

缺点:dll.版本容易加载错误。CAD加载插件时&#xff0c;没有加载所有类库。插件运行过程中用到某个类库&#xff0c;会从CAD的安装目录找&#xff0c;找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库&#xff0c;就用插件程序加载进…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架&#xff0c;实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...