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编辑器建立、编辑、显示及加工处理文本文件。
二、实验内容
- 进入和退出vi.
- 利用文本插入方式建立一个文件。
- 在新建的文本文件上移动光标位置。
- 对该文件执行删除、复原、修改、替换等操作。
三、主要实验步骤
- 进入 vi。
- 建立一个文件,如 file.c。进入插入方式,输入一个C语言程序的各行内容,故意制造几处错误。最后,将该文件存盘。回到shell状态下。
- 运行gcc file.c -o myfile,编译该文件,会发现错误提示。理解其含义。
- 重新进入 vi,对该文件进行修改。然后存盘,退出 vi。重新编译该文件。如果编译通过了,那么可以用 ./myfile运行该程序。
- 运行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编程
一、实验目的
- 了解shell的特点和主要种类。
- 掌握shell脚本的建立和执行方式。
- 掌握bash的基本语法。
- 学会编写shell脚本。
二、实验内容
- shell脚本的建立和执行。
- 历史命令和别名定义。
- shell变量和位置参数、环境变量。
- bash的特殊字符。
- 一般控制结构。
- 算术运算及bash 函数。
三、主要实验步骤
- 利用vi建立一个脚本文件,其中包括date、cal、pwd、Is等常用命令:然后以不同方式执行该脚本。
- 运行history命令,配置历史命令环境。
- 体会bash 的命令补齐功能。
- 用alias定义别名,然后执行。
- 对习题4.8中的shell脚本进行编辑,然后执行。
- 按习题4.14要求编写脚本,然后执行。
- 按习题4.18要求编写脚本,然后执行。
- 运行例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
(大家好,今天我们来学习Linux的相关知识,大家可以在评论区进行互动答疑哦~加油!💕) 目录 实验三 vi编辑器 一、实验目的 二、实验内容 三、主要实验步骤 实验报告 1.进入 vi。 2.建立一个文件&…...
网络安全之BGP详解
BGP;边界网关协议 使用范围;BGP范围,在AS之间使用的协议。 协议的特点(算法):路径矢量型,没有算法。 协议是否传递网络掩码:传递网络掩码,支持VLSM,CIDR …...
【MySQL精通之路】SQL优化(1)-查询优化(8)-嵌套联接优化
主博客: 【MySQL精通之路】SQL优化(1)-查询优化-CSDN博客 上一篇: 【MySQL精通之路】SQL优化(1)-查询优化(7)-嵌套循环联接-CSDN博客 下一篇: 【MySQL精通之路】SQL优化(1)-查询优化(9)-外部联接优化-CSDN博客 与SQL标准相比,…...
30V降8V、12V、24V3.5A车充降压芯片IC H4112 5V-30V
H4112确实是一款功能强大的异步降压型DC-DC转换器,它具备多种出色的特性和优势,使得它在电源管理领域有着广泛的应用。以下是对H4112主要特性和功能的详细解释: 内置30V耐压MOS: H4112内部集成了30V耐压的MOS管,这有…...
保护共享资源的方法(互斥锁)
我最近开了几个专栏,诚信互三! > |||《算法专栏》::刷题教程来自网站《代码随想录》。||| > |||《C专栏》::记录我学习C的经历,看完你一定会有收获。||| > |||《Linux专栏》࿱…...
树的非递归遍历(层序)
层序是采用队列的方式来遍历的 就比如说上面这颗树 他层序的就是: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
开启事务过程中,如果远程调用查询当前已经开启但没有提交的事务,就会查不到数据。 示例代码 import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.transaction.annotation.Transactional; import o…...
pl/sql基础语法操作
oracle pl/sql语言(procedural language/sql)是结合了结构化查询与oracle自身过程控制为一体的强大语言。 语法执行块 语法结构: [ declare 可选 声明变量部分--declaration statements (1);]begin --执行部分--executable statements (2)…...
Vue 父组件向子组件传递数据
1、在子组件中,你需要声明你期望从父组件接收哪些props。这可以通过props选项完成,可以是一个数组或对象形式: export default {props: [message],props:{message:String }props: {message: String, // 类型检查count: {type: Nu…...
二十五、openlayers官网示例CustomOverviewMap解析——实现鹰眼地图、预览窗口、小窗窗口地图、旋转控件
官网demo地址: Custom Overview Map 这个示例展示了如何在地图上增加一个小窗窗口的地图并跟随着地图的旋转而旋转视角。 首先加载了一个地图。其中 DragRotateAndZoom是一个交互事件,它可以实现按住shift键鼠标拖拽旋转地图。 const map new Map({int…...
K8S Secret管理之SealedSecrets
1 关于K8S Secret 我们通常将应用程序使用的密码、API密钥保存在K8S Secret中,然后应用去引用。对于这些敏感信息,安全性是至关重要的,而传统的存储方式可能会导致密钥在存储、传输或使用过程中受到威胁,例如在git中明文存储密码…...
Gone框架介绍25 - Redis模块参考文档
文章目录 Redis 参考文档配置项import 和 bury使用分布是缓存 redis.Cache接口定义使用示例 使用分布式锁 redis.Locker接口定义使用示例 操作Key,使用 redis.Key接口定义 使用 Provider 注入 redis 接口使用示例 直接使用redis连接池接口定义使用示例 Redis 参考文…...
SpringBoot前置知识02-spring注解发展史
springboot前置知识01-spring注解发展史 spring1.x spring配置只能通过xml配置文件的方式注入bean,需要根据业务分配配置文件,通过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开发术语全解:小白也能看懂! 文章目录 相关文章目录前言一、build()函数和Builder装饰器?二、自定义组件和系统组件(内置组件)三、组件和页面四、自定义弹窗和其他弹窗总结 前言 一、build…...
ue引擎游戏开发笔记(45)——添加游戏音效
1.需求分析: 截至目前,我们仍然在一个无声的世界游玩游戏,所以有必要为游戏增添一些声音,例如开火声,子弹撞击声等等。 2.操作实现: 1.这是一个较为简单的功能,类似特效的实现方法,…...
202472读书笔记|《首先你要快乐,其次都是其次》——快乐至上,允许一切发生
202472读书笔记|《首先你要快乐,其次都是其次》——快乐至上,允许一切发生 《首先你要快乐,其次都是其次》作者林小仙,挺轻松的小漫画,清新的文字。 生而为人,我很抱歉,大可不必。 生活已经很难…...
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是表示可变大小数组的序列容器。 就像数组一样࿰…...
5.23小结
1.java项目创新 目前想添加一个自动回复的功能和设置验证方式有(允许任何人添加,禁止添加,设置回答问题添加,普通验证添加) 目前只完成画好前端界面,前端发送请求,还有表的修改 因为涉及表字…...
文心一言 VS 讯飞星火 VS chatgpt (265)-- 算法导论20.1 4题
四、假设不使用一棵叠加的度为 u \sqrt{u} u 的树,而是使用一棵叠加的度为 u 1 k u^{\frac{1}{k}} uk1的树,这里 k 是大于 1 的常数,则这样的一棵树的高度是多少?又每个操作将需要多长时间?如果要写代码…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
如何把工业通信协议转换成http websocket
1.现状 工业通信协议多数工作在边缘设备上,比如:PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发,当设备上用的是modbus从站时,采集设备数据需要开发modbus主站;当设备上用的是西门子PN协议时…...
以太网PHY布局布线指南
1. 简介 对于以太网布局布线遵循以下准则很重要,因为这将有助于减少信号发射,最大程度地减少噪声,确保器件作用,最大程度地减少泄漏并提高信号质量。 2. PHY设计准则 2.1 DRC错误检查 首先检查DRC规则是否设置正确,然…...
WinUI3开发_使用mica效果
简介 Mica(云母)是Windows10/11上的一种现代化效果,是Windows10/11上所使用的Fluent Design(设计语言)里的一个效果,Windows10/11上所使用的Fluent Design皆旨在于打造一个人类、通用和真正感觉与 Windows 一样的设计。 WinUI3就是Windows10/11上的一个…...
