Ubuntu学习笔记之Shell与APT下载工具

news2024/11/15 11:35:17

基本都是摘抄正点原子的文章:<领航者 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.coloradmin.cn/o/1542713.html

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

相关文章

福昕阅读器 PDF 文档基本操作

福昕阅读器 PDF 文档基本操作 References 转至 PDF 顶部 快捷键&#xff1a;Home. 转至 PDF 顶部 快捷键&#xff1a;End. 打开超链接 文本选择工具 -> 手形工具 (Hand Tool) -> 点击超链接 福昕阅读器 同时在多个窗口中打开多个文件 文件 -> 偏好设置 -> 文…

Autosar-WdgM配置详解(免费)-2

1.4生成Wdg模块以及代码 按以下步骤生成WdgM模块代码&#xff1a; 工具如果成功生成的话&#xff0c;会在COmponnets下面创建一个WdgM的SWC&#xff0c;如下图: 1.5创建SWC模块 WdgM已经提供了deadline的port&#xff0c;接下来就是需要SWC使用WdgM的port。 1.5.1创建Master…

目标检测中的mAP计算原理和源码实现

简介 在目标检测任务中&#xff0c;mAP&#xff08;mean Average Precision&#xff0c;平均精度均值&#xff09;是一个非常重要的评价指标&#xff0c;用于衡量模型在多个类别上的平均性能。它综合考虑了模型在不同召回率下的精确率&#xff0c;能够全面反映模型在检测任务中…

Python从0到100(七):Python列表介绍及运用

一、 列表概述 问题描述&#xff1a; 假设一个班有100个学生&#xff0c;如果每个变量存放一个学生的姓名&#xff0c;是不是很麻烦&#xff1f;如果有一千个学生甚至更多&#xff0c;那该怎么办呢&#xff1f; 列表是Python中的一种数据结构&#xff0c;它可以存储不同类型的…

冰蓄冷空调的工作原理介绍

冰蓄冷空调(Ice Storage Air Conditioning System)是一种利用夜间电力低谷时段储存冷量,白天用电高峰时段释放冷量的空调技术。 这种技术通过在电网负荷低谷时(如深夜)运行制冷设备,将电能转化为冷量储存在冰块或者冷冻水中,然后在白天电网负荷高峰时,将储存的冷量释放…

电脑怎么卸载软件?分享3个正确操作方法!

“我电脑上下载了很多的软件&#xff0c;这些软件很多我都不需要了&#xff0c;有什么方法可以安全卸载它们吗&#xff1f;” 随着我们使用电脑的时间越来越长&#xff0c;安装的软件也越来越多。但有时候&#xff0c;我们会因为某些原因需要卸载一些软件&#xff0c;以释放硬盘…

美团offer啦

我爱团子&#xff0c;真得叫团爹吧&#xff01; 3.16笔试 3.19一面 3.20二面➕oc 3.21 offer 只能说进度有点太快了&#xff0c;直接开摆吧&#xff0c;终于可以歇一歇了。 把好运传给大家&#xff0c;祝大家都能找到心仪的offer。 #美团# 作者&#xff1a;洛杉矶快船保罗乔治

javaSwing宿舍管理系统(三个角色)

一、 简介 宿舍管理系统是一个针对学校宿舍管理的软件系统&#xff0c;旨在方便学生、宿管和管理员进行宿舍信息管理、学生信息管理以及宿舍评比等操作。该系统使用 Java Swing 进行界面设计&#xff0c;分为三个角色&#xff1a;管理员、宿管和学生。 二、 功能模块 2.1 管…

STM32微控制器的中断优先级设置中,抢占优先级和子优先级如何影响中断响应?

在STM32微控制器中&#xff0c;中断优先级设置是一个关键的概念&#xff0c;它决定了在发生多个中断时&#xff0c;哪些中断能够优先被处理。STM32的中断优先级系统包括抢占优先级&#xff08;Preemption Priority&#xff09;和子优先级&#xff08;Subpriority&#xff09;&a…

Java22已发布,支持SpringBoot3.3.0正式版

Java22已发布&#xff0c;支持SpringBoot3.3.0正式版 文章目录 Java22已发布&#xff0c;支持SpringBoot3.3.0正式版1. JDK22现已推出&#xff01;2. Java22的新功能1. 语言改进1. 语言预览 2. 库文件3. 性能4. 工具 3. 资源 Java 22现已发布 下一个Java版本提高了Java应用程序…

使用pandas进行数据清洗

采集到原始的数据中会存在一些噪点数据&#xff0c;噪点数据是对分析无意义或者对分析起到偏执作用的数据。如何清洗&#xff1a; 清洗空值/缺失值清洗重复值清洗异常值 import pandas as pd from pandas import DataFrame,Series import numpy as np pandas处理空值操作 i…

EasyPOI操作Excel从零入门

教程介绍 我们不造轮子&#xff0c;只是轮子的搬运工。&#xff08;其实最好是造轮子&#xff0c;造比别人好的轮子&#xff09;开发中经常会遇到excel的处理&#xff0c;导入导出解析等等&#xff0c;java中比较流行的用poi&#xff0c;但是每次都要写大段工具类来搞定这事儿…

Python6:Socket编程初步学习笔记

Socket协议概要 创建socket的时候&#xff0c;需要一些选项来说明本次使用协议具体是什么&#xff0c;常用的两个&#xff1a; 由此产生的不同组合&#xff1a; 但目前TCP(IPV4)是主流&#xff0c;SOCK_STREAMAF_INET 创建和使用Socket socket模块中有socket类&#xff1a…

macOS访问samba文件夹的正确姿势,在哪里更改“macOS的连接身份“?还真不好找!

环境&#xff1a;路由器上需要身份认证的Mini NAS macOS Sonoma 14 这是一个非常简单的问题&#xff0c;但解决方法却藏得比较深&#xff0c;不够直观&#xff0c;GPT也没有给出明确的解决提示&#xff0c;特意记录一下。 macOS很多地方都很自动&#xff0c;有时候让人找不到设…

深度学习pytorch——多分类问题(持续更新)

回归问题 vs 分类问题&#xff08;regression vs classification&#xff09; 回归问题&#xff08;regression&#xff09; 1、回归问题的目标是使预测值等于真实值&#xff0c;即predy。 2、求解回归问题的方法是使预测值和真实值的误差最小&#xff0c;即minimize dist(p…

opencv各个模块介绍(2)

Features2D 模块&#xff1a;特征检测和描述子计算模块&#xff0c;包括SIFT、SURF等算法。 Features2D 模块提供了许多用于特征检测和描述子匹配的函数和类&#xff0c;这些函数和类可用于图像特征的提取、匹配和跟踪。 FeatureDetector&#xff1a;特征检测器的基类&#xf…

java数据结构与算法刷题-----LeetCode452. 用最少数量的箭引爆气球

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 解题思路&#xff1a;贪心算法&#xff0c;时间复杂度O( n ∗ l …

【计算机】——51单片机——持续更新

单片机是一种内部包含CPU、存储器和输入/输出接口等电路的集成电路&#xff08;IC芯片&#xff09; 单片机是单片微型计算机&#xff08;Single Chip Microcomputer&#xff09;的简称&#xff0c;用于控制领域&#xff0c;所以又称为微型控制器&#xff08;Microcontroller U…

AI+软件工程:10倍提效!用ChatGPT编写系统功能文档

系统功能文档是一种描述软件系统功能和操作方式的文档。它让开发团队、测试人员、项目管理者、客户和最终用户对系统行为有清晰、全面的了解。 通过ChatGPT&#xff0c;我们能让编写系统功能文档的效率提升10倍以上。 ​《Leetcode算法刷题宝典》一位阿里P8大佬总结的刷题笔记…

一文看懂,高端及大流量停车场如何选择合适的道闸管理系统?

在当今快速发展的城市环境中&#xff0c;停车场的管理和运营已成为城市基础设施建设的重要组成部分。不同类型的停车场&#xff0c;如大流量停车场和高端停车场&#xff0c;面临着各自独特的挑战和需求。为了确保停车场的高效运营和良好的用户体验&#xff0c;选择合适的道闸管…