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

Flutter 中的 EditableText 小部件:全面指南

Flutter 中的 EditableText 小部件&#xff1a;全面指南 在Flutter中&#xff0c;EditableText是一个低级别的文本编辑组件&#xff0c;它提供了构建自定义文本编辑界面的能力。与TextField和TextFormField不同&#xff0c;EditableText提供了更多的灵活性&#xff0c;允许开发…...

H800基础能力测试

H800基础能力测试 参考链接A100、A800、H100、H800差异H100详细规格H100 TensorCore FP16 理论算力计算公式锁频安装依赖pytorch FP16算力测试cublas FP16算力测试运行cuda-samples 本文记录了H800基础测试步骤及测试结果 参考链接 NVIDIA H100 Tensor Core GPU Architecture…...

2024/5/24 Day38 greedy 435. 无重叠区间 763.划分字母区间 56. 合并区间

2024/5/24 Day38 greedy 435. 无重叠区间 763.划分字母区间 56. 合并区间 遇到两个维度权衡的时候&#xff0c;一定要先确定一个维度&#xff0c;再确定另一个维度。如果两个维度一起考虑一定会顾此失彼。 重叠区间问题 435. 无重叠区间 题目链接 435 给定一个区间的集合 i…...

【python】使用函数名而不加括号是什么情况?

使用函数名而不加括号通常是为了表示对函数本身的引用&#xff0c;而不是调用函数。这种用法通常出现在下面这几种情况&#xff1a; 作为回调函数传递&#xff1a;将函数名作为参数传递给其他函数&#xff0c;以便在需要时调用该函数。例如&#xff0c;在事件处理程序或高阶函数…...

全文检索ElasticSearch简介

1 全文检索 1.1 什么是全文检索 全文检索是一种通过对文本内容进行全面索引和搜索的技术。它可以快速地在大量文本数据中查找包含特定关键词或短语的文档,并返回相关的搜索结果。全文检索广泛应用于各种信息管理系统和应用中,如搜索引擎、文档管理系统、电子邮件客户端、新闻…...

Github上传时报错The file path is empty的解决办法

问题截图 文件夹明明不是空的&#xff0c;却怎么都上传不上去。 解决方案&#xff1a; 打开隐藏文件的开关&#xff0c;删除原作者的.git文件 如图所示&#xff1a; 上传成功&#xff01;...

Adobe Bridge BR v14.0.3 安装教程 (多媒体文件组织管理工具)

Adobe系列软件安装目录 一、Adobe Photoshop PS 25.6.0 安装教程 (最流行的图像设计软件) 二、Adobe Media Encoder ME v24.3.0 安装教程 (视频和音频编码渲染工具) 三、Adobe Premiere Pro v24.3.0 安装教程 (领先的视频编辑软件) 四、Adobe After Effects AE v24.3.0 安装…...

嵌入式学习——3——TCP-UDP 数据交互,握手,挥手

1、更新源 cd /etc/apt/ sudo cp sources.list sources.list.save 将原镜像备份 sudo vim sources.list 将原镜像修改成阿里源/清华源&#xff0c;如所述 阿里源 deb http://mirrors.aliyun.com/ubuntu/ bionic main …...

【LeetCode】【3】无重复字符的最长子串(1113字)

文章目录 [toc]题目描述样例输入输出与解释样例1样例2样例3 提示Python实现滑动窗口 个人主页&#xff1a;丷从心 系列专栏&#xff1a;LeetCode 刷题指南&#xff1a;LeetCode刷题指南 题目描述 给定一个字符串s&#xff0c;请你找出其中不含有重复字符的最长子串的长度 样…...

溪谷联运SDK功能全面解析

近期&#xff0c;备受用户关注的手游联运10.0.0版本上线了&#xff0c;不少用户也选择了版本更新&#xff0c;其中也再次迎来了SDK的更新。溪谷软件和大家一起盘点一下溪谷SDK的功能都有哪些吧。 一、溪谷SDK具有完整的运营功能和高度扩展性 1.登录&#xff1a;登录是SDK最基础…...