ZYNQ学习之Ubuntu系统的简单设置与文本编辑

news2024/9/23 22:44:31

基本都是摘抄正点原子的文章:<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf,因初次学习,仅作学习摘录之用,有不懂之处后续会继续更新~

一、Ubuntu的简单操作

1.1 切换拼音输入法

Ubuntu 自带的拼音输入法,有两种方式切换,一 种是使用快捷键:Windows+空格键,一种是使用鼠标点击设置输入法。

1.2 打开Ubuntu终端

桌面右键》打开终端即可:

打开终端后如下图:

二、Ubuntu 下文本编辑

Gedit 编辑器与VI/VIM 编辑器

2.1 Gedit 编辑器

Gedit是Ubuntu自带的、窗口式的文本编辑器 。找到一个文本文件,双击打开,默认使用的就是 Gedit。

对Gedit的操作与Windows下的记事本相似。

2.2 VI/VIM 编辑器

在终端模式下进行文本编辑或者修改文件可以使用 VI/VIM编辑器,Ubuntu自带了 VI 编辑器,但是 VI 编辑器对于习惯了 Windows 下进行开发的人来说不方便,比如竟然不能使用键盘上的上下左右键调整光标位置。因此推荐使用 VIM 编辑器,VIM 编辑器是VI编辑器升级版本,VI/VIM 编辑器都是一种基于指令式的编辑器,不需要鼠标,也没有菜单,仅仅使用键盘来完成所有的编辑工作。

2.2.1 安装 VIM 编辑器

命令如下:

sudo apt-get install vim

注意:安装过程中报错如下:

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)

E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

中文意思是:

E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)

E: 无法获取dpkg前端锁(/var/lib/dpkg/lock-frontend),是否有其他进程正在使用它?

分析原因:

这个错误表明Ubuntu系统在尝试使用APT(高级包装工具)时无法获取一个锁文件。

锁文件用于防止多个进程同时修改系统软件包数据库,以防止数据库损坏。错误信息中的“资源暂时不可用”通常意味着文件系统正忙于处理其他进程的I/O操作,或者有其他用户正在使用APT。

解决方法:

查看哪些进程在并关闭这些进程

ps aux | grep -i apt

备注:最后我等待了一会,可以安装了,就没有使用上述强制关闭使用apt的进程这一方法。

2.2.2 VIM编辑器打开文档

安装完成以后就可以使用 VIM 编辑器了,VIM 编辑器有 3 中工作模式:输入模式指令模式底行模式,通过切换不同的模式可以完成不同的功能,以编辑一个文本文档为例讲解 VIM 编辑器的使用。打开终端,输入命令:

vim test.txt

新建一个test.txt文本文件并在终端中打开。

备注:如果路径下已经有test.txt文档,则会直接打开该文档。

如下图所示:

2.2.3 输入模式进行编辑

VIM默认是以只读模式打开的文档,因此要切换到输入模式,切换到输入模式的命令如下:

i 在当前光标所在字符的前面,转为输入模式。

I 在当前光标所在行的行首转换为输入模式。

a 在当前光标所在字符的后面,转为输入模式。

A 在光标所在行的行尾,转换为输入模式。

o 在当前光标所在行的下方,新建一行,并转为输入模式。

O 在当前光标所在行的上方,新建一行,并转为输入模式。

s 删除光标所在字符。 r 替换光标处字符。

最常用的就是“a”,在上图界面按下键盘上的“a”键,这时候终端左下角会提示“插入”字样,表示进入到了输入模式,并可以正常进行文字编辑,如下图:

2.2.4 进入指令模式

编辑完文字后,按下键盘的 ESC 键,VIM 的从输入模式切换到指令模式,终端左下角的“插入”字样就会消失,此时就不能在输入任何文本了,如果想再次输入文本的话就按下“a”键重新进入到输入模式。指令模式顾名思义就是输入指令的模式,这些指令是控制文本的指令,将这些指令进行分类,如下所示:

1、移动光标指令:

h(或左方向键)        光标左移一个字符。

l(或右方向键)         光标右移一个字符。

j(或下方向键)         光标下移一行。

k(或上方向键)        光标上移一行。 nG 光标移动到第 n 行首。

n+                          光标下移 n 行。

n-                           光标上移 n 行。

2、屏幕翻滚指令

Ctrl+f          屏幕向下翻一页,相当于下一页。

Ctrl+b         屏幕向上翻一页,相当于上一页。

3、复制、删除和粘贴指令

cc                 删除整行,并且修改整行内容

dd                 删除改行,不提供修改功能。

ndd               删除当前行向下 n 行。

x                   删除光标所在的字符。

X                  删除光标前面的一个字符。

nyy               复制当前行及其下面 n 行。

p                   粘贴最近复制的内容。

上面就是 VI/VIM的命令模式下最常用的一些命令,还有一些不常用的没有列出来,感兴趣的话可以自行上网查阅。

2.2.5 进入底行模式进行文档保存

从上面的命令可以看出,并没有保存文本的命令,那是因为保存文档的命令是在底行模式中,我们要先进入到指令模式,进入底行模式的方式是先进入指令模式下,然后在指令模式下输入“:”进入底行模式,如下图所示:

在上图中当进入底行模式以后会在终端的左下角就会出现符号“:”,可以在“:” 后面输入命令,常用的命令如下:

x         保存当前文档并且退出。

q         退出。

w         保存文档。

q!         退出 VI/VIM,不保存文档

要退出并保存文本的话需要在“:”底行模式下输入“wq”或者x,如下图所示:

注意:VIM 不可以使用 Ctrl+S 来保存!

        在 Ubuntu 下:Ctrl+S暂停该终端,Ctrl+Q 来重新打开终端

在 Ubuntu 下 Ctrl+S 快捷键不是用来完成保存的功能的,而是暂停该终端,此时终端不会再有任何反应,如果按下 Ctrl+S 关闭了当前终端的话可以按下 Ctrl+Q 来重新打开终端。

使用命令“cat”来查看刚刚新建的 test.txt 文档的内容,如下图所示:

2.2.6 在底行模式中查找字符

在上面讲解进入 VIM 的底行模式的时候使用了在指令模式下输入“:”的方法,还可以在指令模式下输入“/”进入底行模式,输入“/”以后如下图所示。

注意:这里没有冒号了!,直接在指令模式下输入"/"进入底行模式。

在“/”底行模式下我们可以在文本中搜索指定的内容,比如搜索 test.txt 文件中“输入”三个字,使用方法如下图所示:

在“/”后面输入要搜索的内容,然后按下Enter回车键就会在 test.txt 中找到与字符串“嵌入式”匹配的部分。

针对文档中有多个字符匹配的情况:

按Enter回车键后,按下小写n可向下查找该匹配字符

按Enter回车键后,按下大写N(或shift+n键)可向上查找该匹配字符

2.2.7 设置 TAB 键为 4 字节

VI 编辑器默认 TAB 键为 8 空格,我们改成 4 空格,用 vi 打开文件/etc/vim/vimrc,在此文件最后面输入如下代码:

set ts=4

修改完成以后保存并关闭文件。

2.2.8 VIM 编辑器显示行号

VIM 编辑器默认是不显示行号的,不显示行号不利于代码查看,设置 VIM 编辑器显示行号的方法是通过在文件/etc/vim/vimrc 中加入下面一行代码即可:

set nu

参考链接:

ZYNQ领航者V2开发板 — 正点原子资料下载中心 1.0.0 文档

解决apt-get /var/lib/dpkg/lock-frontend 问题 - 知乎

How to Fix 'E: Could not get lock /var/lib/dpkg/lock' Error in Ubuntu Linux

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1545158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[NKCTF 2024]web解析

文章目录 my first cms全世界最简单的CTF解法一解法二 my first cms 打开题目在最下面发现是CMS Made Simple&#xff0c;版本为2.2.19 扫一下发现存在后台登陆界面&#xff0c;直接访问 用字典爆破下admin的密码为Admin123 然后直接登录&#xff0c;去漏洞库搜一下其实存在…

从人工智能入门到理解ChatGPT的原理与架构的第一天(First)(含机器学习特征工程详解)

目录 一.ChatGPT的发展历程 二.Attention is all you need 三.对于GPT-4的智能水平评估 四.大语言模型的技术演化 1.从符号主义到连接主义 2.特征工程 2.1数据探索 2.2数据清洗 2.3数据预处理 2.3.1无量纲化 2.3.1.1标准化 2.3.1.2区间缩放法 2.3.1.3标准化与归一…

layui框架实战案例(25):laydate中mark的数据后端生成

mark&#xff0c;自定义日期标记。该属性是对 calendar 属性的进一步延伸&#xff0c;灵活度更高。属性可批量设置多个日期标记&#xff0c;如&#xff1a; mark: {0-10-14: 生日, //每年每月的某一天0-0-10: 工资, // 每月 10 号2008-8-8: 开幕, // 指定的日期 }其中日期的格式…

剧变:人类社会与国家危机的转折点 - 三余书屋 3ysw.net

精读文稿 今天我们解读的这本书是《巨变》。副标题是人类社会与国家危机的转折点&#xff0c;这是一个充满风险和危机的时代。比如作为个人&#xff0c;我们可能会遭遇失业、离婚、亲朋好友的意外去世。作为国家&#xff0c;会遭遇经济危机、社会动荡甚至战争。整个世界也会陷入…

设计模式之桥接模式解析

桥接模式 1&#xff09;概述 1.定义 桥接模式(Bridge Pattern) 将抽象部分与它的实现部分分离&#xff0c;使它们都可以独立地变化。 2.作用 如果系统中某个类存在两个独立变化的维度&#xff0c;通过该模式可以将这两个维度分离出来&#xff0c;使两者可以独立扩展。 3.…

Android开发简易登录界面

title: Android开发第四天 search: 2024-03-22 tags: Android开发 Android开发简易登录界面 文章目录 Android开发简易登录界面一、定义style样式二、完成 activity_main.xml 界面具体设计三、代码简述 背景 &#xff1a;在初学 android 开发的时候&#xff0c;为了尽量熟悉学…

看漫画学Python:有趣好玩

书籍介绍 Python是一门既简单又强大的编程语言&#xff0c;被广泛应用于数据分析、大数据、网络爬虫、自动化运维、科学计算和人工智能等领域。Python也越来越重要&#xff0c;成为国家计算机等级考试科目&#xff0c;某些中小学也开设了Python编程课程。本书秉承有趣、有料、…

js实现操作浏览器返回时,页面有弹窗则关闭弹窗而不实际返回

关于popstate、pushState参考:HTML5的popstate、pushState、replaceState如何玩转浏览器历史记录-CSDN博客文章浏览阅读1.3w次,点赞8次,收藏30次。一、popstate用来做什么的?简而言之就是HTML5新增的用来控制浏览器历史记录的api。二、过去如何操纵浏览器历史记录?window.…

自定义组件学习

效果 自定义组件模块 <template> <div class"flex-1"><div :style"{width: wrapWidth}" class"flex-margin mb8"><OprateSteps :operateHtml"operateHtml" /></div><ul class"datacollect-…

Ftrans安全数据摆渡系统 构建便捷的内外网数据交换通道

安全数据摆渡系统是一种设计用于解决内外网环境下&#xff0c;数据传输、管理、共享问题的安全系统&#xff0c;通过加密、访问控制等策略&#xff0c;提供安全可靠的数据传输和共享服务&#xff0c;尤其适用于对网络安全建设要求高的行业&#xff0c;比如研发型企业、党政机构…

异步引入组件

defineAsyncComponent 函数&#xff1a;用于异步引入组件。 Suspense 标签&#xff1a;异步组件加载时&#xff0c;显示的默认内容。 应用场景&#xff1a;当子组件的数据量较大&#xff0c;导致父组件延迟显示时使用。 语法格式 异步引入组件&#xff1a; import { define…

Java:ArrayList与顺序表

一、线性表 线性表是n个具有相同特征的数据元素的有限序列&#xff0c;它是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表有&#xff1a;顺序表、链表、栈、队列...... 如图&#xff1a;顺序表与链表的区别看了标题的伙伴就应该知道&#xff0c;我们这次要讲解的主…

Java多线程实战-从零手搓一个简易线程池(一)定义任务等待队列

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️本系列源码仓库&#xff1a;多线程并发编程学习的多个代码片段(github) &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正…

router.push是同步还是异步?push.then和子组件onMounted谁先触发?

直接做实验&#xff1a; <el-button type"danger" click"test">toAbout</el-button>// -----const test () >{router.push(about).then((e)>{console.log(then里面, e);}).finally((e)>{console.log(finally里面, e);})console.log…

【Unity3D小功能】Unity3D中实现点击‘文字’出现‘UI面板’

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群&#xff1a;398291828 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 宠粉博主又来了&#xff0c;今天有粉丝问我如何实…

机器学习 - 神经网络分类

什么叫做分类问题&#xff1f; A classification problem involves predicting whether something is one thing or another. Problem typeWhat is it?ExampleBinary classificationTarget can be one of two options, e.g. yes or noPredict whether or not someone has hea…

AXI_Lite协议详解

文章目录 摘要一、AXI_Lite接口全局信号&#xff1a;1、写地址通道&#xff1a;2、写数据通道&#xff1a;3、写响应通道&#xff1a;4、读地址通道&#xff1a;5、读数据通道&#xff1a; 二、仿真波形 摘要 AXI4-lite是AXI4-full的简化版。用于简单、低吞吐量的内存映射通信…

基于CNN-RNN的动态手势识别系统构建与应用

一、引言 随着人机交互技术的不断发展&#xff0c;动态手势识别成为了近年来的研究热点。动态手势识别技术能够识别和理解人类的手势动作&#xff0c;从而实现更自然、更直观的人机交互。本文旨在构建一种基于CNN-RNN的动态手势识别系统&#xff0c;以提高手势识别的准确性和实…

36.基于SpringBoot + Vue实现的前后端分离-高校汉服租赁网站系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统&#xff0c;采用SpringBoot Vue框架&#xff0c;MYSQL数据库设计开发&#xff0c;充分保证系统的稳定性。系统具有界面清晰、操作简单&#xff0c;功能齐全的特点&#xff0c;使得基于SpringBoot Vue技术的高校汉服租赁网站系统设计与实现管理…

Go第三方框架--gin框架(二)

4. gin框架源码–Engine引擎和压缩前缀树的建立 讲了这么多 到标题4才开始介绍源码&#xff0c;主要原因还是想先在头脑中构建起 一个大体的框架 然后再填肉 这样不容易得脑血栓。标题四主要涉及标题2.3的步骤一 也就是 标题2.3中的 粗线框中的内容 4.1 Engine 引擎的建立 见…