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

基本都是摘抄正点原子的文章:<领航者 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.mzph.cn/news/774783.shtml

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

相关文章

C语言程序编译与链接(拓宽视野的不二之选)

文章目录 翻译环境和运行环境翻译环境预处理编译汇编链接 运行环境 翻译环境和运行环境 1&#xff0c;在ANSI C的任何⼀种实现中&#xff0c;存在两个不同的环境。 第1种是翻译环境&#xff0c;在这个环境中源代码被转换为可执⾏的机器指 令&#xff08;⼆进制指令&#…

WEB DDOS的安全策略

近年来网络攻击的数量和频率急剧上升&#xff0c;针对Web应用程序的DDoS海啸攻击就是其中增长非常迅速的一个种类。过去常见的HTTP/S洪水攻击正在大范围的转变为更难对付的Web DDoS海啸攻击&#xff0c;网络安全空间攻防对抗越演越烈&#xff0c;企业用户面临更加严峻的网络安全…

CCCorelib 点云RANSAC拟合平面(CloudCompare内置算法库)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 点云平面拟合的实质其实就是用一个拟合平面取代近似位于同一平面的点云,使点云中的所有点到拟合平面的距离平方和最小, 达到点云与拟合平面的高度吻合。已有的方法其实已有很多,如最小二乘法、特征值法等,本文将…

Vue 3中ref和reactive的区别

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Floyd算法 【多源最短路】模板

B3647 【模板】Floyd - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using namespace std; const int N1e210; const int inf0x3f3f3f; int n,m; int g[N][N]; void floyd() {for(int k1;k<n;k){for(int i1;i<n;i){for(int j1;j<n;j){g…

python工具方法 48 基于视觉大模型生成目标检测数据集

1、基本说明 1.1 lang-segment-anything Language Segment-Anything 是一个开源项目,它结合了实例分割和文本提示的强大功能,为图像中的特定对象生成蒙版。它建立在最近发布的 Meta 模型、segment-anything 和 GroundingDINO 检测模型之上,是一款易于使用且有效的对象检测…

取消自动设置的开机自启动(pywin32库)请勿仿照!否则可能对电脑造成损害。

本文使用创作助手。 要取消Python程序的开机自启动&#xff0c;可以通过删除注册表中相应的注册表项来实现。请按照以下步骤进行操作&#xff1a; 打开Windows注册表编辑器&#xff1a;按下 Windows R 键&#xff0c;输入 regedit&#xff0c;然后按下回车键。 导航到注册表…

1.简单使用SmartTable

愿你出走半生,归来仍是少年&#xff01; 环境&#xff1a;Android Studio 在android上进行统计数据、列表、表格数据等信息展示是常有的需求。 在Github上有一个优秀的控件&#xff1a;smartTable 1.功能介绍 快速配置自动生成表格&#xff1b;自动计算表格宽高&#xff1b;表…

低功耗、低成本 NAS 的可能性

使用现状&#xff1a;多台工作电脑&#xff0c;家里人手一台&#xff0c;还在两个住处 有好几台工作电脑&#xff0c;不同电脑有不同的用途&#xff0c;最大的问题就是各个电脑上文件的同步问题&#xff0c;这里当然就需要局域网里的公共文件夹&#xff0c;在NAS的问题上查了网…

Openwrt下适配Samba

关于Samba samba是Linux和Unix平台的一款实现了SMB协议的软件&#xff0c;可以使得windows平台的主机也可以访问Linux和Unix平台主机共享出来的资源。 SMB协议(Server Message Block)是由微软开发的一种软件程序级的网络传输协议&#xff0c;基于NetBIOS&#xff0c;主要功用…

【Canvas与艺术】模拟八一电影制片厂电影片头效果

【缘起】 八一厂每部电影前都有其专有开头&#xff0c;如&#xff1a;https://www.ixigua.com/6799821997258834440?logTag2eacce76401e13f9efe7 这个片头可以用canvas模拟下来。 【关键点】 线型放射状粒子系统的运作。 立体感五角星的绘制。 【图例】 【代码】 <!D…

开放大学2024年春《幼儿园环境创设 050546》过程性考核作业二:撰写一所幼儿园活动环境创设现状分析评价报告参考答案

答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 答案&#xff1a;更多答案&#xff0c;请关注【电大搜题】微信公众号 选择一所幼儿园&#xff0c;最好是你所在或者比较熟悉的园所&am…

单页面应用部署到iis上可以正常打开,刷新就404

当您遇到Dumi打包的网站部署到IIS上可以正常打开首页,但刷新页面时出现404错误的情况,这通常与以下几个方面有关: 路由处理: Dumi生成的项目通常基于SPA(Single Page Application)架构,使用前端路由来实现无刷新导航。这意味着大部分页面切换是在浏览器层面完成的,而不…

vc_red.msi 错误

建议将安装的软件解压&#xff0c;再安装&#xff0c;这样可以自动下载vc_red.msi. 不解压就会出现这个错误。

unity学习(73)——服务器异常--无法处理 123类型的数据包

服务器发送回的数据包&#xff0c;客户端根本读不出来&#xff0c;type都读不出来&#xff0c;拖了三天&#xff0c;把客户端翻了个底朝天&#xff0c;发现客户端一点问题都没有&#xff01; 所有的问题不是unity的模型问题&#xff0c;就是socket网络通信中断&#xff01; 1…

C++ 控制语句(一)

一 顺序结构 程序的基本结构有三种&#xff1a; 顺序结构、分支结构、循环结构 大量的实际问题需要通过各种控制流程来解决。 1.1 顺序结构 1.2 简单语句和复合语句 二 循环 2.1 for循环 语句流程图 注意&#xff1a;使用for语句的灵活性 三 while语句 四 do while语句

java springboot mybatisplus vue elementui python django vue 30套源代码 可用于接私活或毕设

java springboot vue elementui python django vue 30套源代码 Springboot vue3 elementplus 后台通用权限系统 代码生成器 (源码教程开发环境) Springboot vue2 elementui 后台通用权限系统 代码生成器(源码教程开发环境) Springboot vue2 elementui 物品出入库管理系统 (源…

【项目技术介绍篇】如何在本地运行若依项目

作者介绍&#xff1a;本人笔名姑苏老陈&#xff0c;从事JAVA开发工作十多年了&#xff0c;带过大学刚毕业的实习生&#xff0c;也带过技术团队。最近有个朋友的表弟&#xff0c;马上要大学毕业了&#xff0c;想从事JAVA开发工作&#xff0c;但不知道从何处入手。于是&#xff0…

程序员也写歌啦

我的第一首AI原创歌曲《旅途的歌声》 身为 AI 重度患者的我&#xff0c;时刻关注着每天发布的各种 AI 产品。面对这些雨后春笋般的 AI 产品&#xff0c;我也早就没那么敏感了。 但是今天尝试着用 AI 生成了一个音乐&#xff0c;真的震惊到了我&#xff01; 不到一分钟&#…

Java中的序列化

Java中的序列化&#xff08;Serialization&#xff09;是一个将对象转换为字节序列的过程&#xff0c;以便可以在网络上传输或将其写入持久存储&#xff0c;如文件。这样&#xff0c;可以稍后在需要时重新构造这个对象&#xff0c;即反序列化&#xff08;Deserialization&#…