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 的常数,则这样的一棵树的高度是多少?又每个操作将需要多长时间?如果要写代码…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
