Linux复习-安装与熟悉环境(一)
这里写目录标题
- 虚拟机
- ubuntu系统
- 配置镜像
- Linux命令
- vi编辑器
- 3个模式
- 光标命令
- vi模式切换命令
- vi拷贝与粘贴命令
- vi保存和退出命令
- vi的查找命令
- vi替换命令
- 末行模式
- 复制、粘贴、剪切
- gcc编译器
虚拟机
VMware16
官网下载:vmware官网
网盘下载:
链接: https://pan.baidu.com/s/1-vWg9VwiHmVXmiQ0IKge1g?pwd=g4jx
提取码:g4jx
ubuntu系统
ubuntu18. 04
官网下载:https://www.ubuntu.org.cn/global
网盘下载:
ubuntu18. 04 链接:https://pan.baidu.com/s/1qy5b6hAGgsi2y99u8ZfYRQ?pwd=7tjg
提取码:7tjg
配置镜像
使用国外镜像,在ubuntu上安装软件经常会下载和安装失败,这时可以配置国内镜像文件,提升网速。
首先打开终端,使用vi编辑器打开软件源配置文件:
sudo vi /etc/apt/sources.list
选择合适的镜像源:根据你的地理位置或个人偏好,选择一个合适的镜像源。下面是一些常见的Ubuntu镜像源:
阿里云镜像源:将以下镜像源配置添加到文件中:
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
清华大学镜像源:将以下镜像源配置添加到文件中:
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
中国科学技术大学镜像源:将以下镜像源配置添加到文件中:
deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
按:wq保存退出vi编辑器
执行以下命令以更新软件包列表并使用新的镜像源:
sudo apt update
Linux命令
参考这篇文章:Linux 命令大全(看这一篇就足够)
vi编辑器
3个模式
光标命令
vi模式切换命令
| 命令 | 功能 |
|---|---|
| A a | (Append)进入编辑状态,从当前光标之后的位置开始插入键盘输入的字符 |
| I i | (Insert)进入编辑状态,从当前光标之后的位置开始插入键盘输入的字符 |
| O o | (Open)进入编辑状态,并插入一新行,光标移到该新行的行首,以后键盘输入的字符将插入到光标位置 |
| :! Command | 在vi中执行外部命令Command,按回车键可以返回vi继续工作 |
| ESC | 进入命令状态 |
vi拷贝与粘贴命令
| 命令 | 功能 |
|---|---|
| [N]x | (Expurgate)删除从光标位置开始的连续N个字符(并复制到编辑缓冲区) |
| [N]dd | (Delete)删除从光标位置开始的连续N行(并复制到编辑缓冲区) |
| [N]yy | (Yank)复制从光标位置开始的连续N行到编辑缓冲区 |
| p或P | (Put)从编辑缓冲区复制文本到当前光标位置(即粘贴) |
| u | (Undo)取消上一次操作(即恢复功能) |
vi保存和退出命令
| 命令 | 功能 |
|---|---|
| :q | (Quit)退出没有修改的文件(若文件被修改了而没有保存,则此命令无效) |
| :q! | 强制退出,且不保存修改过的部分 |
| :w | (Write)保存文件,但不退出 |
| :x | (Exit)保存文件并退出 |
| :w File | 另存为File给出的文件名,不退出 |
| :r File | (Read)读入File指定的文件内容插入到光标位置 |

vi的查找命令
/string 查找字符串
- n 继续查找
- N 反向继续查找
- 支持正则表达式比如:/^the /end$
vi替换命令
利用:s 命令可以实现字符串的替换。
- : s/str1/str2/
- : s/str1/str2/g
- :.,$ s/str1/str2/g g全部替换(默认换第1个)
- :1,$ s/str1/str2/g
- :%s/str1/str2/g
常用快捷键但不限于剪切板
多按几遍ESC进入命令模式
末行模式
在末行模式下
| 命令 | 功能 |
|---|---|
| x | 剪切当前字符 |
| :set nu(set number) | 显示行号 |
| :set nonu | 取消显示行号 |
| ②显示忽略或区分字符大小写 | |
| set ic (set ignorecase) | 忽略大小写 |
| set noignorecase | 区分大小写 |
| ③设定自动缩进 | |
| set ai(set autoindent):自动缩进 | |
| set noai:取消自动缩进 | |
| ④查找到的文本高亮或取消高亮显示 | |
| set hlsearch:高亮显示搜索到的文本 | |
| set nohlsearch:取消高亮显示搜索到的文本 | |
| ⑤语法高亮 | |
| syntax on:打开语法高亮显示 | |
| syntax off | 关闭语法高亮显示 |
| 命令 | 功能 |
|---|---|
| x | 剪切当前字符 |
| 7x | 剪切从当前位置起7个字符大写的X,表示从前面一个字符开始往前计算 |
| dd | 剪切光标所在行。 |
| 7dd | 从光标所在行开始剪切7行 |
| d7G | 删除光标所在到第7行的所有数据 |
| yw | 复制当前单词 |
| 7yw | 复制从当前位置起7个单词 |
| yy | 复制当前行 |
| 6yy | 从当前行起向下复制6行 |
| y7G | 复制游标所在列到第7列的所有数据 |
| p | 粘贴 |
| u | 撤销 |
| ctrl+r | 取消撤销 |
| cw | 删除当前单词(从光标位置开始计算),并进入插入模式 |
| c7w | 删除7个单词并进入插入模式 |
新建一个c文件
vi hello.c
显示行号
:set nu
也可以在终端模式下显示行号
vi ~/.vimrc
新增一行命令
:set number
;wq保存退出
在hello.c文件编写以下代码:
#include <stdio.h>int main(void){printf("hello world");return 0;}
如果左下角没有显示当前操作,执行下面语句
sudo gedit /etc/vim/vimrc.tiny
输入密码
将set compatible 设置成set nocompatible
然后保存。
复制、粘贴、剪切
gcc编译器
1.安装
sudo apt install gcc
查看版本
gcc -v
2.编译hello.c

相关文章:
Linux复习-安装与熟悉环境(一)
这里写目录标题 虚拟机ubuntu系统配置镜像Linux命令vi编辑器3个模式光标命令vi模式切换命令vi拷贝与粘贴命令vi保存和退出命令vi的查找命令vi替换命令 末行模式复制、粘贴、剪切gcc编译器 虚拟机 VMware16 官网下载:vmware官网 网盘下载: 链接ÿ…...
Go基础语法:map
9 map Go 语言中提供的映射关系容器为 map ,其内部使用 散列表(hash) 实现。它是一种无序的基于 key-value 的数据结构。 Go 语言中的 map 是引用类型,必须初始化之后才能使用。 9.1 map 定义 Go 语言中 map 的定义语法为&…...
开发板TFTP调试
问题描述 开发板和host(此处指虚拟机linux)可以平通,但是通过uboot tftp下载请求时一直显示T T T, 即超时 使用wireshark抓包也显示超时 措施 关闭windows和linux的防火墙 重新进行下载成功...
MySQL---优化日志
目录 一、MySQL优化 3、mysql server上的优化 3.1、MySQL查询缓存 3.2、索引和数据缓存 3.2、线程缓存 二、MySQL日志 2.1、redo log 重做日志 2.2、undo log 回滚日志 2.3、错误日志 2.4、查询日志 2.5、二进制日志 2.5.1、基于binlog数据恢复实践操作 六、慢查…...
【送面试题】深入解析Cookie和Session的请求区别及使用场景
AI绘画关于SD,MJ,GPT,SDXL百科全书 面试题分享点我直达 2023Python面试题 2023最新面试合集链接 2023大厂面试题PDF 面试题PDF版本 java、python面试题 项目实战:AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI…...
010_第一代软件开发(二)
第一代软件开发(二) 文章目录 第一代软件开发(二)项目介绍界面布局功能完善快照功能获取可用串口播放按键提示音 关键字: Qt、 Qml、 QSerialPort、 QPixmap、 QSoundEffect 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QMLÿ…...
基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(四)
更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 上一节说到待办系统的监听器TaskCreateListener,需要在flowable全局监听配置里加入配置 1、Glo…...
RestTemplate:简化HTTP请求的强大工具
文章目录 什么是RestTemplateRestTemplate的作用代码示例 RestTemplate与HttpClient 什么是RestTemplate RestTemplate是一个在Java应用程序中发送RESTful HTTP请求的强大工具。本文将介绍RestTemplate的定义、作用以及与HttpClient的对比,以帮助读者更好地理解和使…...
【数据结构】什么是数据结构?
数据结构(Data Structure)是计算机存储,组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合. 这么讲可能有些抽象,放一张图大家可能好理解一点: 上图依次是数据结构中逻辑结构中的:集合结构,线性结构,树形结构,图形结构. 而: 数据结构是一门研究非数值计算的程…...
c++源码编译过程(翻译阶段)的若干细节概要
c程序的编译主要包含两个阶段:源码编译(翻译阶段)和目标文件链接。 源码编译过程主要有如下这些阶段: 阶段1: 翻译源码文本字符 阶段2: 逻辑源码行标准化处理 阶段3: 文法处理,分解为不同的源码文本类型序列。例如分解为注释、预处理指…...
Go内置函数make和new的区别?
首先纠正一下make 和 new 是内置函数,不是关键字。 变量初始化,一般分为2步,变量声明变量内存分配,var 关键字就是用来声明变量的,new和make 函数主要是用来分配内存的。 var 声明值类型的变量时,系统会默…...
动手学深度学习(pytorch版)第二章-2.3线性代数Note-linear-algebra
类型 标量:仅包含一个数值被称为标量 向量:向量可以被视为标量值组成的列表 矩阵:正如向量将标量从零阶推广到一阶,矩阵将向量从一阶推广到二阶。 A torch.arange(20).reshape(5, 4) A.T //转置 张量:是描述具有…...
Docker CMD指令如何覆写
在Dockerfile里,CMD指令是可以被覆盖的。 在构建镜像时,可以通过docker build命令的–cmd选项覆盖Dockerfile的CMD: 例如: FROM ubuntu CMD ["echo","hello"]构建时覆盖CMD: docker build -t test --cmd "echo world" .在创建容器时,可以通过…...
动手吧,vue单独使用的复选框
单独使用的复选框可以用在两个状态之间的切换,如是否阅读协议、记住账号等场景。 效果: 1、template部分 <template><label class"v-checkbox-single"><span class"v-checkbox_input" :class"{ disabled }&qu…...
升级iOS17后可以降级吗?iOS17退回iOS16方法教程分享
iOS 17已上线几天,从网上用户的反馈和媒体机构的报告来看,iOS17系统对旧机型来说并不友好,除了电池续航下降以外,占用大量储存空间,BUG也不少。 苹果于 9 月 7 日发布了 iOS 16.6.1 版本,如果升级iOS17后发…...
基于STM32和LORA组网的养老院智能控制系统设计(第十八届研电赛)
一、整体功能 数据采集从机1采集烟雾浓度,PM2.5浓度,甲醛浓度;从机2采集温湿度,光照强度,噪声强度,老人体感温度;从机3收集厨房饮用水的TDS值。3个数据采集从机将采集到的数据显示在本地OLED屏…...
关于Qt适配不同分辨率和缩放率时可能遇到的问题和解决方案
如果没有特殊的处理,Qt的UI窗口在不同的分辨率和缩放率下,其显示效果可能会出现问题,常见的有: 子控件堆叠,无法显示完整 窗口尺寸变大,超出屏幕的显示范围 控件变形,长宽比不合理 界面模糊 …...
第1篇 目标检测概述 —(1)目标检测基础知识
前言:Hello大家好,我是小哥谈。目标检测是计算机视觉领域中的一项任务,旨在自动识别和定位图像或视频中的特定目标,目标可以是人、车辆、动物、物体等。目标检测的目标是从输入图像中确定目标的位置,并使用边界框将其标…...
Discuz论坛网站标题栏Powered by Discuz!版权信息如何去除或是修改?
当我们搭建好DZ论坛网站后,为了美化网站,想把标题栏的Powered by Discuz!去除或是修改,应该如何操作呢?今天飞飞和你分享,在操作前务必把网站源码和数据库都备份到本地或是网盘。 Discuz的版权信息存在两处…...
springboot整合aop,实现日志操作
前言: 整合之前,我们要明白aop是什么,为什么要用aop,aop能帮我们做什么。 答:AOP是面向切面编程(Aspect-Oriented Programming)的简称,它是一种编程思想,旨在在面向对象…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
