ZYNQ学习之Ubuntu环境下的Shell与APT下载工具

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

一、Ubuntu Shell操作

简单的说Shell 就是敲命令。国内把 Linux 下通过命令行输入命令叫做“敲命令”,国外人玩的 比较洋气,人家叫做“Shell”。因此以后看到 Shell 这个词语第一反应就是在终端中敲命令,将多个Shell命令按照一定的格式放到一个文本中,那么这个文本就叫做 Shell 脚本。

严格意义上来讲,Shell 是一个应用程序,它负责接收用户输入的命令,然后根据命令做出相应的动作,Shell 负责将应用层或者用户输入的命令传递给系统内核,由操作系统内核来完成相应的工作,然后将结果反馈给应用层或者用户。

1.1、Shell 基本操作

Shell命令格式:

command -options [argument]

  • command: Shell 命令名称。
  • options:选项,同一种命令可能有不同的选项,不同的选项其实现的功能不同。
  • argument:Shell 命令是可以带参数的,也可以不带参数运行。
Shell命令支持自动补全功能:
使用自动补全功能以后我们只需要输入命令的前面一部分字母,然后按下TAB键,如果只有一个命令匹配的话就会自动补全这个命令剩下的字母。如果有多个命令匹配的话系统就会发出报警声音,此时再按下一次 TAB 键就会列出所有匹配的命令,

1.2、常用 Shell 命令

1、目录信息查看命令 ls

文件浏览是最基本的操作,Shell 下文件浏览命令为 ls(L的小写),格式如下:

ls [选项] [路径]

ls 命令主要用于显示指定目录下的内容,列出指定目录下包含的所有的文件以及子目录, 它的主要参数有:

  • -a 显示所有的文件以及子目录,包括以“.”开头的隐藏文件。
  • -l 显示文件的详细信息,比如文件的形态、权限、所有者、大小等信息。
  • -t 将文件按照创建时间排序列出。
  • -A 和-a 一样,但是不列出“.”(当前目录)和“..”(父目录)。
  • -R 递归列出所有文件,包括子目录中的文件。

Shell 命令里面的参数是可以组合在一起用的,比如组合“-al”就是显示所有文件的详细 信息,包括以“.”开头的隐藏文件:

7f7f466455dd4c6cb14f142c559b1073.png

2、目录切换命令 cd

要想在 Shell 中切换到其它的目录,使用的命令是 cd,命令格式如下:

cd [路径]

路径就是我们要进入的目录路径,比如下面所示操作:

  • cd /                 //进入到根目录“/”下,Linux 系统的根目录为“/”
  • cd /usr           //进入到目录“/usr”里面
  • cd ..               //进入到上一级目录
  • cd ~               //切换到当前用户主目录

048bee9aa06e4146ae0089f097f5d5c0.png

3、当前路径显示命令 pwd

pwd 命令用来显示当前工作目录的绝对路径,不需要任何的参数,

命令格式如下:

pwd

使用如下图所示:

857623df4e444f6dbce20c1b63034d8e.png

4、系统信息查看命令 uname

要查看当前系统信息,可以使用命令 uname,命令格式如下:

uname [选项]

可选的选项参数如下:

  • -r     列出当前系统的具体内核版本号。
  • -s     列出系统内核名称。
  • -o     列出系统信息。

9d6e69e0d3a14840b55b7bd82f9893cd.png

5、清屏命令 clear

clear 命令用于清除终端上的所有内容,只留下一行提示符。

命令格式如下:

clear

使用如下图所示:

9138d79172df427394d1f136f2d12b75.png

5740100551c74f2d87bab9ec22a21d9a.png

6、切换用户执行身份命令 sudo

Ubuntu(Linux)是一个允许多用户的操作系统,其中权限最大的就是超级用户 root,有时执行一些操作的时候是需要用 root 超级用户身份才能执行,比如安装软件。通过 sudo 命令可以使我们暂时将身份切换到 root 用户。

当使用 sudo 命令的时候是需要输入密码的,这里要注意输入密码的时候是没有任何提示的!

sudo命令格式如下:

sudo [选项] [命令]

选项主要参数如下:

  • -h          显示帮助信息
  • -l           列出当前用户可执行与不可执行的命令
  • -p          改变询问密码的提示符

28b6f35d63764c42b99dc837f4a0f2a4.png

直接使用“adduser test”命令添加用户的时候提示“adduser:只有 root 才能将用户或组添加到系统”。所以要在前面加上“sudo”命令,表示以这条命令以 root 超级用户的身份执行 adduser 操作。

7、添加用户命令 adduser

在讲解 sudo 命令的时候已经用过命令“adduser”,此命令需要 root 超级用户身份去运行。

命令格式如下:

adduser [参数] [用户名]

常用的参数如下:

  • -system                  添加一个系统用户
  • -home DIR             DIR 表示用户的主目录路径
  • -uid ID                    ID 表示用户的 uid。
  • -ingroup GRP        表示用户所属的组名。
8、删除用户命令 deluser

删除用户使用命令“deluser”, 命令参数如下:

deluser [参数] [用户名]

主要参数有:

  • -system 当用户是一个系统用户的时候才能删除
  • -remove-home 删除用户的主目录  
  • -remove-all-files 删除与用户有关的所有文件
  • -backup 备份用户信息

同样的命令“deluser”也要使用“sudo”来以 root 用户运行,以删除前面创建的用户test为例,deluser使用如下图所示:

d82340dc03a54a2585596136acb862fd.png

fd5004d2556946a0a252155237879942.png

9、切换用户命令 su

前面在讲解命令“sudo”的时候说过,“sudo”是以 root 用户身份执行一个命令,并没有更改当前的用户身份,所有需要 root 身份执行的命令都必须在前面加上“sudo”。

命令“su”可以直接将当前用户切换为 root 用户,切换到 root 用户以后就可以尽情地尽情任何操作了!因为你已经获得了系统最高权限,在 root 用户下,所有的命令都可以无障碍执行,不需要在前面加上“sudo”,

“su”命令格式如下:

su [选项] [用户名]

常用选项参数如下:

  • -c -command         执行指定的命令,执行完毕以后回复原用户身份。
  • -login                     改变用户身份,同时改变工作目录和 PATH 环境变量。
  • -m                          改变用户身份的时候不改变环境变量
  • -h                           显示帮助信息

以切换到 root 用户为例,使用如下图所示:

c08c33c501714b1c8506fd38e93ea4e5.png

sudo su切换到root用户,@前面的root表示当前为root超级用户,gbxluo-virtual-machine表示虚拟机名,“/home/gbxluo”表示当前路径,“#”表示当前是root超级用户。

10、显示文件内容命令 cat

Shell 下读取文件内容的方法是使用命令“cat”,命令格式如下:

cat [选项] [文件]

选项主要参数如下:

  • -n         由 1 开始对所有输出的行进行编号。
  • -b         和-n 类似,但是不对空白行编号。
  • -s         当遇到连续两个行以上空白行的话就合并为一个行空白行

97dd51dc752d43b68dcd935c0118554c.png

11、?显示和配置网络属性命令 ifconfig

ifconfig 是一个跟网络属性配置和显示密切相关的命令,通过此命令我们可以查看当前网络属性,也可以通过此命令配置网络属性,比如设置网络 IP 地址等等,此命令格式如下:

ifconfig interface options | address

主要参数如下:

  • interface                 网络接口名称,比如 eth0 等。
  • up                           开启网络设备。
  • down                      关闭网络设备。
  • add                         IP 地址,设置网络 IP 地址。
  • netmask add         子网掩码。

命令 ifconfig 的使用如下图所示,暂时有问题:

2ef90f15269b4c99837d08b8cfccb225.png

12、系统帮助命令 man

通过“man”命令可以查看其它命令的语法格式、主要功能、主要参数说明等, “man”命令格式如下:

man [命令名]

比如我们要查看命令“su”的说明,输入“man su”即可,如下图所示:

bed1c44266ce4cee9cbad508645ca7b8.png

输入man su后,敲击Enter键进入如下界面:

c9f4a55de37642f3b23fb4505ea53ea9.png

press h for help:

3ce56b94f1f0449bb1cf627354bb177c.png

press q to quit!按q键返回上一层或退出到终端。

13、 系统重启命令 reboot

通过点击 Ubuntu 主界面右上角的齿轮按钮来选择关机或者重启系统,或者使用 Shell 命令“reboot”来重启系统,直接输入命令“reboot”然后点击回车键即可。

命令格式如下:

reboot

使用如下图所示:

2088511356c94da689dd57b5df5fd30b.png

14、系统关闭命令 poweroff

使用命令“poweroff”就可以关闭系统,在终端中输 入命令“poweroff”然后按下回车键即可关闭 Ubuntu 系统。

命令格式如下:

poweroff

使用如下图所示:

941fef0fcdfe4027bc2ac29a14387f48.png

15、软件安装命令 install

Ubuntu 下很多软件是需要先自行下载源码,下载源码以后自行编译,编译完成以后使用命令“intsall”来安装。当然 Ubuntu 下也有其它的软件安装方法,但是用的最多的就是自行编译源码然后安装,尤其是嵌入式 Linux 开发。

命令“install”格式如下:

  •         install [选项]... [-T]  源文件       目标文件
  • 或: install [选项]...        源文件...    目录
  • 或: install [选项]... -t     目录           源文件...
  • 或: install [选项]... -d    目录...

“install”命令是将文件(通常是编译后的文件)复制到目的位置,在前三种形式中,将源文件复制到目标文件或将多个源文件复制到一个已存在的目录中同时设置其所有权和权限模式。在第四种形式会创建指定的目录。

命令“install”通常和命令“apt-get”组合在一起使用的,关于“apt-get”命令下面会讲。

二、Ubuntu的APT下载工具

APT 下载工具是Ubuntu 下用的最多的下载工具。

APT 下载工具可以实现软件自动下载、配置、安装二进制或者源码的功能。APT 下载工具和install命令结合在一起构成了 Ubuntu 下最常用的下载和安装软件方法。它解决了 Linux 平台下安装软件的一个缺陷,即软件之间相互依赖。

选择APT 工具的安装源

APT 采用的C/S模式,也就是客户端/服务器模式,PC作为客户端,当需要下载软件的时候就向服务器请求,因此需要知道服务器的地址(服务器的地址也叫做安装源或者更新源【安装的源头或更新的源头,就是url超链接】)。

aea3411642f049e5b9862029d4c5a576.png

单击软件和更新后,弹出如下窗口:

55c5bafa74ee48e39cc31284bd8b65df.png

在上图中的“Ubuntu 软件”选项卡下面的“下载自”就是 APT 工具的安装源,因为人在中国,所以需要选择中国的服务器,否则的话可能会导致下载失败。

这个也就是网上说的Ubuntu安装成功以后要更新源。

在我们使用APT工具下载安装或者更新软件的时候,首先会在下载列表中与本机软件对比,看一下需要下载哪些软件,或者升级哪些软件,默认情况下APT会下载最新的软件包,被安装的软件包所依赖的其它软件也会被下载安装。

1、更新本地数据库

想查看本地哪些软件可以更新的话可以使用如下命令:

sudo apt-get update
这个命令会访问源地址,并且获取软件列表并保存在本电脑上,过程如下图所示:
6a1029786f064f46a62a4ca7fdce90b3.png

2、?检查依赖关系

如果想查看本地哪些软件可以更新的话可以使用如下命令:

sudo apt-get check

0c1adc1cd7c14664a43a274f36733f79.png

3、软件安装

安装软件,使用如下命令:

sudo apt-get install package-name

可以看出上述命令是由“apt-get”和“install”组合在一起的,“package-name”就是要安装的软件名字,“apt-get”负责下载软件,“install”负责安装软件。

比如要安装软件Ubuntu 下的串口工具“minicom”,就可以使用如下命令:

sudo apt-get install minicom

执行上述命令以后就会自动下载和安装 minicom 软件,如下图所示:

f82c0226bd584169832dad769e9ddbd3.png

上图就是安装 minicom 这个软件的过程,在安装的过程中,会有如下所示询问: 您希望继续执行吗?[Y/n] 如果希望继续执行的话就输入 y,如果不希望继续执行的话就输入 n。

安装完成以后我们 直接在终端输入如下命令打开 minicom 这个串口软件:

minicom -s

打开以后的 minicom 软件如下图所示:

3e810bc578d04db4b87f98aa0126eb99.png

退出 minicom可以直接按下 ESC 键。

minicom的使用可以上网搜索,待以后用着再说。

正点原子推荐使用apt替代 apt-get

查了一下原因主要如下:

apt 默认启用一些对用户实际使用有益的操作,比如:可以在 apt 安装或删除操作过程中显示进度条。在更新软件包列表的时候还可以提示你可以升级的包的数量。虽然使用 apt-get 也可以实现这些功能,但是 apt 默认开启这些特性。

虽然 apt 有些命令和 apt-get 类似,但是 apt 并没有向后兼容 apt-get。这意味着不可能使用 apt 完全替代 apt-get 命令。

7ecd82c066364934bb52127979e66bea.png

apt 也有一些自己的命令。

bcba87b2723e4bd7a9fa86b287e404fc.png

apt-get 已被弃用?

没有任何信息表明 apt-get 已被弃用,实际上也不应该,因为它还有比 apt 更多的功能。对于一些使用场景,如脚本操作,可能还要用 apt-get 命令。

应该使用 apt 还是 apt-get?

作为普通的 Linux 用户,优先使用 apt,它是 Linux 发行版推荐的命令。它提供了包管理必要的选项,更重要的是便于记忆。

  • apt 是 apt-get 和 apt-cache 的子集,为包管理提供必要的命令。
  • 虽然 apt-get 没有被弃用,但是作为普通 Linux 用户,推荐开始频繁的使用apt。

4、?软件更新

更新软件的话使用命令:

sudo apt-get upgrade package-name

其中 package-name 为要升级的软件名字,比如我们升级刚刚安装的 minicom 这个软件,如下图所示:

bb2c9db3925c405180f7d858ab0ea164.png

866a672f4ed54116a831d6e395ffe247.png

从上图可以看出,minicom 已经是最新的了,不用更新,不过有其它软件需要更新,因此会自动更新其它的软件。

这里是不是有问题?我只想更新minicom,它倒好,全给我更新了?

5、卸载软件

要卸载某个软件的话使用如下命令:

sudo apt-get remove package-name

其中 package-name 是要卸载的软件,比如卸载前面安装的 minicom 这个软件,操作如下图所示:

3a1e0290fba744369c3fa8140c919a3f.png

从上图中可以看出软件 minicom 被卸载掉了。

参考链接:

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

apt 和 apt-get 的区别 - 掘金

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

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

相关文章

Python爬虫如何快速入门

写了几篇网络爬虫的博文后&#xff0c;有网友留言问Python爬虫如何入门&#xff1f;今天就来了解一下什么是爬虫&#xff0c;如何快速的上手Python爬虫。 一、什么是网络爬虫 网络爬虫&#xff0c;英文名称为Web Crawler或Spider&#xff0c;是一种通过程序在互联网上自动获取…

linux编程--文件系统处理常用函数

文件系统 这一个课程的笔记 文件存储相关的概念 文件描述主要有两个inode和dentry inode 是一个结构体, 里面有这一个文件的权限, 类型, 大小, 时间, 用户, 盘块位置之类的信息, 这一个是文件属性的管理结构 文件名是单独存储的, 可以使用inode的编号找到这一个结构体 创建一…

应急响应实战笔记04Windows实战篇(1)

第1篇&#xff1a;FTP暴力破解 0x00 前言 ​ FTP是一个文件传输协议&#xff0c;用户通过FTP可从客户机程序向远程主机上传或下载文件&#xff0c;常用于网站代码维护、日常源码备份等。如果攻击者通过FTP匿名访问或者弱口令获取FTP权限&#xff0c;可直接上传webshell&#…

ida调试技巧-通过修改zf寄存器的值绕过简单反调试

参考本篇->OllyDbg笔记-对标志寄存器中ZF的理解&#xff08;逆向方面&#xff09;_零标志位zf怎么判断-CSDN博客 不想看也没关系&#xff0c;蒟蒻博主概述一下&#xff0c;总之&#xff0c;在机器执行汇编指令时&#xff0c;标志&#xff08;flag&#xff09;寄存器中的一个…

大模型新王诞生!Claude 3首次超越GPT4

一觉醒来&#xff0c;大模型世界迎来了“新王登基”&#xff01; 当地时间周三&#xff0c;聊天机器人竞技场Chatbot Arena更新对战排行榜&#xff0c;Claude 3反超GPT-4&#xff0c;一举摘得“最强王者”桂冠。 这次登顶榜首的是Claude 3系列的超大杯Opus&#xff0c;它以2分…

如何通过idea搭建一个SpringBoot的Web项目(最基础版)

通过idea搭建一个SpringBoot的Web项目 文章目录 通过idea搭建一个SpringBoot的Web项目一、打开idea&#xff0c;找到 create new project二、创建方式三、配置项目依赖四、新建项目模块五、总结 一、打开idea&#xff0c;找到 create new project 方式1 方式2 二、创建方式 新…

elasticsearch 6.8.x 索引别名、动态索引扩展、滚动索引

文章目录 引言索引别名&#xff08;alias&#xff09;创建索引别名查询索引别名删除索引别名重命名索引别名 动态索引&#xff08;index template&#xff0c;动态匹配生成索引&#xff09;新建索引模板新建索引并插入数据索引sys-log-202402索引sys-log-202403索引sys-log-202…

STM32 | Systick定时器(第四天源码解析)

STM32 | Systick定时器(第四天)STM32 | STM32F407ZE中断、按键、灯(续第三天)1、参考delay_us代码,完成delay_ms的程序 定时器频率换算单位:1GHZ=1000MHZ=1000 000KHZ = 1000 000 000HZ 定时器定时时间:计数个数/f(频率) 或者 (1/f(频率))*计数的个数 500/1MHZ = 500/1…

农田通量计算中的感热通量与潜热通量分析

地表水热通量主要包括感热/显热通量和潜热通量&#xff0c;是陆-气交互以及水-热-碳循环研究的重要变量。其中&#xff0c;潜热通量是地表蒸散发的能量形式&#xff0c;对农业水资源管理、作物水分利用效率等非常关键。由于热红外遥感对地表干湿变化、以及农业干旱响应快速&…

洗地机哪个好?专业对比,帮你选出比较适合的洗地机

随着科技的不断发展&#xff0c;洗地机已经成为了现代生活中不可或缺的清洁工具。然而&#xff0c;市面上涌现出各种各样的洗地机品牌&#xff0c;品质良莠不齐。因此&#xff0c;选择一个可靠的品牌至关重要&#xff0c;以确保产品质量和使用效果。为了帮助大家更好地选择&…

vulnhub靶场之driftingblues-3

一.环境搭建 1.靶场描述 get flags difficulty: easy about vm: tested and exported from virtualbox. dhcp and nested vtx/amdv enabled. you can contact me by email for troubleshooting or questions. This works better with VirtualBox rather than VMware 2.靶场…

python的一些知识点

在C C Java中&#xff0c;基本数据类型变量&#xff08;将常量数据存储在变量空间当中&#xff09; int a 3; int b 4; 在C C中&#xff0c;指针变量&#xff08;存储的是变量的物理内存地址&#xff09; int a 3; int* b; b &a; int** c; c &b; printf("%d&…

JAVA面试大全之并发篇

目录 1、并发基础 1.1、多线程的出现是要解决什么问题的? 本质什么? 1.2、Java是怎么解决并发问题的? 1.3、线程安全有哪些实现思路? 1.4、如何理解并发和并行的区别? 1.5、线程有哪几种状态? 分别说明从一种状态到另一种状态转变有哪些方式? 1.6、通常线程有哪几…

Web开发基本流程

Web是全球广域网&#xff0c;能够通过浏览器访问的网站。我们要访问网站&#xff0c;首先要在浏览器输入对应的域名。 浏览器也是一个程序&#xff0c;京东的网站也是一个程序&#xff0c;在京东那边电脑运行着&#xff0c;我们只是通过浏览器远程访问。京东的程序由三个部分组…

【生活】如何学习理财

文章目录 1. 了解基本财务知识2. 制定预算4321理财法则 3. 学习投资知识股票债券基金外汇房地产 4. 了解保险知识人身保险人寿保险健康保险意外伤害保险 财产保险财产损失保险责任保险信用保险 5. 寻求专业建议6. 持续学习和实践参考 首先我们想文心一言提问&#xff1a;如何学…

自媒体用ChatGPT批量洗稿软件V5.9环境配置/软件设置教程【汇总】

大家好&#xff0c;我是淘小白~ 首先&#xff0c;感谢大家的支持~~ ChatGPT采集洗稿软件V5.9版本更新&#xff0c;此次版本更新修改增加了一些内容&#xff1a; 1、自定义多条指令&#xff0c;软件自动判断指令条数&#xff0c;进行输入 2、增加谷歌浏览多账号轮询&#xf…

教育建筑智慧能源管理平台解决方案【新型电力系统下的绿色校园能源管理平台】

一、行业特点 1.建筑类型多&#xff1a;集教学、科研、生活于一体&#xff0c;占地面积大&#xff0c;建筑类型多&#xff0c;功能划分复杂。 2.供电可靠性要求高&#xff1a;教育建筑中的高层建筑、图书馆、实验楼等特级和一级负荷比较多&#xff0c;一旦发生故障会危及生命…

基于Python实现多功能翻译助手(下)

为了将上述步骤中的功能增强与扩展具体化为代码&#xff0c;我们将实现翻译历史记录功能、翻译选项配置以及UI的改进。 翻译历史记录功能 import json # 假设有一个用于存储历史记录的json文件 HISTORY_FILE translation_history.json # 初始化历史记录列表 translati…

Vue3+Element Plus+TS开发企业管理后台(一)

系列文章&#xff0c;讲述一个企业管理后台的前后端设计&#xff0c;持续集成常见的页面功能和服务端设计思路。 效果展示 支持多种布局、主题配色随意切换 侧边菜单背景设置 主题色调切换 移动端完美适配 菜单侧边收起&#xff0c;适合移动端小空间场景。 功能开发计划 #merm…

VTK9.2.0+Qt5.14.0 绘制点云

背景 为了显示结构光重建后的点云&#xff0c;开发QT5.14.0VTK9.2.0的上位机软件&#xff0c;用于对结构光3D相机进行控制&#xff0c;并接收传输回来的3D数据&#xff0c;显示在窗口中。 配置QT和VTK VTK9.2.0下载源码&#xff0c;用Cmake编译&#xff0c;编译好的VTK9.2.0…