当前位置: 首页 > 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…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...