当前位置: 首页 > news >正文

嵌入式之ubuntu终端操作与shell常用命令详解

目录

文件和目录列表

基本列表功能

 显示列表长度

 过滤输出列表

 浏览文件系统

Linux 文件系统

遍历目录

 处理文件

创建文件

 复制文件

制表键自动补全

重命名文件

 删除文件

 处理目录

创建目录

 删除目录

​编辑其他常用命令与操作

Uname命令

 clear命令

 返回上一级命令

 显示网络配置信息命令ifconfig

 重启系统和关机

man命令

 find 命令

 grep命令

 du 命令

df命令

 gedit命令

 当前系统进程命令 ps

进程实时任务命令 top

 查看文件类型 file

文件和目录列表

        想要知道系统中哪些文件,可以使用列表命令(ls)。

基本列表功能

      (1)ls命令最基本的形式会显示当前目录下的文件和目录,ls命令输出的列表是按字母排序的(按列排序而不是按行排序)

       (2)ls -F命令,在目录名后边加了正斜号(/),以方便用户在输出中分辨出他们。

      (3)ls -a命令,把隐藏文件和普通文件及目录一起显示出来,所有的以.开头的隐藏文件都显示出来了。

       (4)ls -F -R命令,-R参数是ls命令可用的另一个参数,叫做递归选项。它列出了当前目录下包含的子目录中的文件。如果目录很多,这个输出就会很长。

 显示列表长度

         在基本的输出列表中,ls命令并未输出太多每个文件的相关信息。要显示附加信息,另一个常用的参数是-l。-l参数会产生列表格式的输出,包含了目录中每个文件的更多相关信息。

        这种长列表格式的输出在每一行中列出了单个文件或目录。除了文件名,输出中还有其他有用的信息。输出的第一行显示了在目录中包含的总块数。在此之后,每一行都包含了关于文件(或
目录)的下述信息:文件类型,比如目录(d)、文件(-)、字符型文件(c)或块设备(b);文件的权限;文件的硬链接总数;文件属主的用户名;文件属组的组名;文件的大小(以字节为单位);文件的上次修改时间;文件名或目录名。

 过滤输出列表

         这个过滤器就是一个进行简单文本匹配的字符串。可以在要用的命令行参数之后添加这个过
滤器:ls -l 音乐。

          当用户指定特定文件的名称作为过滤器时,ls命令只会显示该文件的信息。有时你可能不知
道要找的那个文件的确切名称。ls命令能够识别标准通配符,并在过滤器中用它们进行模式匹配:问号(?)代表一个字符;星号(*)代表零个或多个字符。

         在过滤器中使用星号和问号被称为文件扩展匹配(file globbing),指的是使用通配符进行模
式匹配的过程。通配符正式的名称叫作元字符通配符(metacharacter wildcards)。除了星号和问
号之外,还有更多的元字符通配符可用于文件扩展匹配。可以使用中括号。ls -l y[a-y]m。同时可以使用感叹号(!)将不需要的内容排除在外。ls -l y[!u]m。

 浏览文件系统

         当登录系统并获得shell命令提示符后,你通常位于自己的主目录中。此时我们需要了解Linux文件系统,为下一步作铺垫。

Linux 文件系统

         Linux在路径名中不使用驱动器盘符。在Windows中,PC上安装的物理驱动器决定了文件的路径名。Windows会为每个物理磁盘驱动器分配一个盘符,每个驱动器都会有自己的目录结构,以便访问存储其中的文件。举个例子,在Windows中经常看到这样的文件路径:

c:\Users\Rich\Documents\test.doc

         这种Windows文件路径表明了文件test.doc究竟位于哪个磁盘分区中。如果你将test.doc保存在闪存上,该闪存由J来标识,那么文件的路径就是J:\test.doc。该路径表明文件位于J盘的根目录下。

        Linux则采用了一种不同的方式。Linux将文件存储在单个目录结构中,这个目录被称为虚拟
目录(virtual directory)。虚拟目录将安装在PC上的所有存储设备的文件路径纳入单个目录结构中。Linux虚拟目录结构只包含一个称为根(root)目录的基础目录。根目录下的目录和文件会按
照访问它们的目录路径一一列出,这点跟Windows类似。

        窍门:Linux使用正斜线(/)而不是反斜线(\)在文件路径中划分目录。在Linux中,反斜线用来标识转义字符,要是用在文件路径中的话会导致各种各样的问题。在Linux中,你会看到下面这种路径:

/home/Rich/Documents/test.doc

         这表明文件test.doc位于Documents目录,Documents又位于rich目录中,rich则在home目录中。要注意的是,路径本身并没有提供任何有关文件究竟存放在哪个物理磁盘上的信息。Linux虚拟目录中比较复杂的部分是它如何协调管理各个存储设备。在Linux PC上安装的第一块硬盘称为根驱动器。根驱动器包含了虚拟目录的核心,其他目录都是从那里开始构建的。Linux会在根驱动器上创建一些特别的目录,我们称之为挂载点(mount point)。挂载点是虚拟目录中用于分配额外存储设备的目录。虚拟目录会让文件和目录出现在这些挂载点目录中,然而实际上它们却存储在另外一个驱动器中。通常系统文件会存储在根驱动器中,而用户文件则存储在另一驱动器中。

遍历目录

        在Linux文件系统上,可以使用切换目录命令cd将shell会话切换到另一个目录。进入linux根目录,cd /,$前边代表当前的路径。如下图可知,我们已经进入根目录。并且用ls查看目录下的信息。pwd命令,可以查看当前所在目录的路径。

 处理文件

        shell提供了很多在Linux文件系统上操作文件的命令。

创建文件

        你总会时不时地遇到要创建空文件的情况。例如,有时应用程序希望在它们写入数据之前,
某个日志文件已经存在。这时,可用touch命令轻松创建空文件。在桌面创建一个文件。并且查看文件属性。此时文件大小为0,因为touch只是创建了一个空文件。

 复制文件

        对系统管理员来说,在文件系统中将文件和目录从一个位置复制到另一个位置可谓家常便
饭。cp命令可以完成这个任务。

         在最基本的用法里,cp命令需要两个参数——源对象和目标对象:

cp source destination

        当source和destination参数都是文件名时,cp命令将源文件复制成一个新文件,并且以
destination命名。新文件就像全新的文件一样,有新的修改时间。

         新文件test_two和文件test_one的修改时间并不一样。如果目标文件已经存在,cp命令可能并不会提醒这一点。最好是加上-i选项,强制shell询问是否需要覆盖已有文件。

        cp命令的-R参数威力强大。可以用它在一条命令中递归地复制整个目录的内容。

制表键自动补全

        在使用命令行时,很容易输错命令、目录名或文件名。实际上,对长目录名或文件名来说,
输错的几率还是蛮高的。这正是制表键自动补全挺身而出的时候。制表键自动补全允许你在输入文件名或目录名时按一下制表键,让shell帮忙将内容补充完整。

重命名文件

        在Linux中,重命名文件称为移动(moving)。mv命令可以将文件和目录移动到另一个位置
或重新命名。

 删除文件

        在Linux中,删除(deleting)叫作移除(removing)。bash shell中删除文件的命令是rm。rm
命令的基本格式非常简单。我们要删除yum文件夹下的zy11。

 处理目录

        在Linux中,有些命令(比如cp命令)对文件和目录都有效,而有些只对目录有效。

创建目录

        在Linux中创建目录很简单,用mkdir命令即可,系统创建了一个名为yyq的新目录。注意,新目录长列表是以d开头的。这表示yyq并不是文件,而是一个目录。

        可以根据需要批量地创建目录和子目录。但是,如果你想单单靠mkdir命令来实现,就会得
到下面的错误消息:

        要想同时创建多个目录和子目录,需要加入-p参数,我们创建一个yyq1的文件夹,再创建一个yu的文件夹,最后再创建一个xiaoyu的文件夹。

 删除目录

        删除目录之所以很棘手,是有原因的。删除目录时,很有可能会发生一些不好的事情。shell
会尽可能防止我们捅娄子。删除目录的基本命令是rmdir。 默认情况下,rmdir命令只删除空目录。因为我们在yum目录下创建了一个文件zy,zy1,zy1y,kkyq,zyy,yyq,yyq1,yu,xiaoyu,所以rmdir命令拒绝删除目录。要解决这一问题,得先把目录中的文件删掉,然后才能在空目录上使用rmdir命令。

        rmdir并没有-i选项来询问是否要删除目录。这也是为什么说rmdir只能删除空目录还是有好处的原因。  也可以在整个非空目录上使用rm命令。使用-r选项使得命令可以向下进入目录,删除其中的文件,然后再删除目录本身。 我们利用 mkdir -p 创建多个文件夹 yyq/zy/zy1。删除yyq目录和其下的子目录。这种方法同样可以向下进入多个子目录,当需要删除大量目录和文件时,这一点尤为有效。

其他常用命令与操作

Uname命令

        Linux uname(英文全拼:unix name)命令用于显示操作系统信息,例如内核版本、主机名、处理器类型等。uname 可显示电脑以及操作系统的相关信息。

  • a 或--all  显示全部的信息,包括内核名称、主机名、操作系统版本、处理器类型和硬件架构等。uname
  • -m 或--machine  显示处理器类型。
  • -n 或--nodename  显示主机名。
  • -r 或--release  显示内核版本号。
  • -s 或--sysname  显示操作系统名称。
  • -v  显示操作系统的版本。
  • --help  显示帮助。
  • --version  显示版本信息。
  • -p 显示处理器类型(与 -m 选项相同)。

 clear命令

        Linux clear命令用于清除屏幕。实际并没有清屏,只是将其上边的内容隐藏。

 返回上一级命令

        返回上一级为:../,再返回上一级,继续: ../  .我们创建一个文件夹为:zy,在zy文件夹下再创建一个yyq文件夹,我们打开yyq文件夹再返回到yum文件夹。

 显示网络配置信息命令ifconfig

        Linux ifconfig命令用于显示或设置网络设备。ifconfig可设置网络设备的状态,或是显示目前的设置。查看其中所有的网卡。

         其中ens33 类似网卡名词一样,不一定所所的用户的名词都一样。

        其中 sudo ifconfig ens33 down ,将网卡关闭,将不能上网,sudo ifconfig enss up,将网卡打开,其中sudo ifconfig enss reload 重启网卡。

 重启系统和关机

    reboot 命令用于重启系统。poweroff 关机。

man命令

        Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man

一下即可。同时也可以使用man man 查看man的使用方法。eg:man printf,查看以后按q键退出。

 find 命令

        find命令用来在指定目录下查找文件,例如我们在当前目录下创建一个test1的文件夹,我们在此文件夹下创建一个文件为zy.c,我们在此目录下查找zy.c文件,find -name zy.c。

 grep命令

        Linux grep (global regular expression) 命令用于查找文件里符合条件的字符串或正则表达式。grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。我们输入 grep -nr "ubuntu" /,在根目录下查找ubuntu目录。

常用参数选项:

  • -i:忽略大小写进行匹配。
  • -v:反向查找,只打印不匹配的行。
  • -n:显示匹配行的行号。
  • -r:递归查找子目录中的文件。
  • -l:只打印匹配的文件名。
  • -c:只打印匹配的行数。

 du 命令

       Linux du (英文全拼:disk usage)命令用于显示目录或文件的大小。du 会显示指定的目录或文件所占用的磁盘空间。

        一般-sh最常见,查看test1目录下的文件大小。

        查看当前目录下所有文件的大小

  • a或-all 显示目录中个别文件的大小。
  • -b或-bytes 显示目录或文件大小时,以byte为单位。
  • -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
  • -D或--dereference-args 显示指定符号连接的源文件大小。
  • -h或--human-readable 以K,M,G为单位,提高信息的可读性。
  • -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
  • -k或--kilobytes 以1024 bytes为单位。
  • -l或--count-links 重复计算硬件连接的文件。
  • -L<符号连接>或--dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
  • -m或--megabytes 以1MB为单位。
  • -s或--summarize 仅显示总计。
  • -S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
  • -x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
  • -X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
  • --exclude=<目录或文件> 略过指定的目录或文件。
  • --max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
  • --help 显示帮助。
  • --version 显示版本信息。

df命令

        Linux df(英文全拼:disk free) 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。(这个命令在嵌入式开发中应用较少)

 gedit命令

        启动:从菜单启动:应用程序——>附件——>文本编辑器 从命令行执行以下命令: gedit.

我们编辑test1文件夹下的zy.c文件。

 当前系统进程命令 ps

        Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。

   ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义:

  • -A 列出所有的进程
  • -w 显示加宽可以显示较多的资讯
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的进程
  • au(x) 输出格式

        我们在嵌入式中ps就可以,在ubuntu中 我们用ps -aux,因为嵌入式时单用户,ubuntu是多用户。

进程实时任务命令 top

        此命令和我们windows下的任务管理器一样。实时显示进程任务。按q键退出。

 查看文件类型 file

        此命令在嵌入式应用较多。在ubuntu下编译arm下的软件,一般编译完要查看一下可执行软件。看他是不是arm版本。

相关文章:

嵌入式之ubuntu终端操作与shell常用命令详解

目录 文件和目录列表 基本列表功能 显示列表长度 过滤输出列表 浏览文件系统 Linux 文件系统 遍历目录 处理文件 创建文件 复制文件 制表键自动补全 重命名文件 删除文件 处理目录 创建目录 删除目录 ​编辑其他常用命令与操作 Uname命令 clear命令 返回上一级命令 显…...

【Shell学习笔记】6.Shell 流程控制

前言 本章介绍Shell的流程控制。 Shell 流程控制 和 Java、PHP 等语言不一样&#xff0c;sh 的流程控制不可为空&#xff0c;如(以下为 PHP 流程控制写法)&#xff1a; 实例 <?php if (isset($_GET["q"])) {search(q); } else {// 不做任何事情 }在 sh/bash…...

27k入职阿里测开岗那天,我哭了,这5个月付出的一切总算没有白费~

先说一下自己的个人情况&#xff0c;计算机专业&#xff0c;16年普通二本学校毕业&#xff0c;经历过一些失败的工作经历后&#xff0c;经推荐就进入了华为的测试岗&#xff0c;进去才知道是接了个外包项目&#xff0c;不太稳定的样子&#xff0c;可是刚毕业谁知道什么外包不外…...

服务端开发之Java备战秋招面试篇5

努力了那么多年,回头一望,几乎全是漫长的挫折和煎熬。对于大多数人的一生来说,顺风顺水只是偶尔,挫折、不堪、焦虑和迷茫才是主旋律。我们登上并非我们所选择的舞台,演出并非我们所选择的剧本。继续加油吧&#xff01; 目录 1.ArrayList与LinkedList区别&#xff0c; 应用场景…...

有趣的 Kotlin 0x11: joinToString,你真的了解嘛?

前言 之前使用 joinToString 函数也就是用逗号连接集合元素形成字符串&#xff0c;也没有细看它的参数&#xff0c;但是今天和 ChatGPT 聊天时&#xff0c;发现它给我输出了诸多内容。 joinToString joinToString()是Kotlin中一个非常有用的函数&#xff0c;它可以将集合的元…...

代码随想录算法训练营day46 | 动态规划之背包问题 139.单词拆分

day46139.单词拆分1.确定dp数组以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp[i]139.单词拆分 题目链接 解题思路&#xff1a;单词就是物品&#xff0c;字符串s就是背包&#xff0c;单词能否组成字符串s&#xff0c;就是问物品能不能把背包装满。…...

DPDK中的无锁共享数据结构

目录背景解决方法共享内存无锁操作新/老共享数据结构rte_ringrefcnt延迟释放方法1&#xff1a;读的线程来释放方法2&#xff1a;释放线程等到读线程轮询一轮参考背景 dpvs多线程&#xff0c;如何做到节约内存、高性能之间的均衡。 解决方法 共享内存 多线程共享内存&#x…...

【使用两个栈实现队列】

文章目录一、栈和队列的基本特点二、基本接口函数的实现1.栈的接口2.创建队列骨架3.入队操作4.取出队列元素5.返回队首元素6.判断队列是否为空7.销毁队列总结一、栈和队列的基本特点 栈的特点是后进先出&#xff0c;而队列的特点是先进先出。 使用两个栈实现队列&#xff0c;必…...

web,h5海康视频接入监控视频流记录一

项目需求&#xff0c;web端实现海康监控视频对接接入&#xff0c;需实现实时预览&#xff0c;云台功能&#xff0c;回放功能。 web端要播放视频&#xff0c;有三种方式&#xff0c;一种是装浏览器装插件&#xff0c;一种是装客户端exe&#xff0c;还有就是无插件了。浏览器装插…...

做毕业设计,前端部分你需要掌握的6个核心技能

其实前端新手如果想要自己实现一套毕业设计项目并非简单的事&#xff0c;因为之前很多人一直还停留在知识点的阶段&#xff0c;而且管理系统和C端网站都需要开发&#xff0c;但现在需要点连成线了。所以在启动项目开发之前呢&#xff0c;针对前端部分&#xff0c;我列举一些非常…...

Read book Netty in action(Chapter VIII)--EventLoop and thread model

前言 简单地说&#xff0c;线程模型指定了操作系统、编程语言、框架或者应用程序的上下文中的线程管理的关键方面。显而易见地&#xff0c;如何以及何时创建线程将对应用程序代码的执行产生显著的影响&#xff0c;因此开发人员需要理解与不同模型相关的权衡。无论是他们自己选…...

番外11:使用ADS对射频功率放大器进行非线性测试3(使用带宽5MHz的WCDMA信号进行ACLR测试)

番外11&#xff1a;使用ADS对射频功率放大器进行非线性测试3&#xff08;使用带宽5MHz的WCDMA信号进行ACLR测试&#xff09; 其他测试&#xff1a; 番外9&#xff1a;使用ADS对射频功率放大器进行非线性测试1&#xff08;以IMD3测试为例&#xff09; 番外10&#xff1a;使用AD…...

Linux libpqxx 库安装及使用

记录一下linux安装 libpqxx遇到的一些问题 1.准备安装包&#xff1a; 1.准备安装包&#xff0c;以libpqxx-4.0.1.tar.gz为例子 链接如下&#xff1a;https://launchpad.net/libpqxx/milestone/4.0.1 2.上传并安装 上传到安装目录并安装&#xff0c;我是放到/use/local下面 c…...

如何使用COM-Hunter检测持久化COM劫持漏洞

关于COM-Hunter COM- Hunter是一款针对持久化COM劫持漏洞的安全检测工具&#xff0c;该工具基于C#语言开发&#xff0c;可以帮助广大研究人员通过持久化COM劫持技术来检测目标应用程序的安全性。 关于COM劫持 微软在Windows 3.11中引入了(Component Object Model, COM)&…...

Cartesi 举办的2023 黑客马拉松

Cartesi 是具有 Linux 运行时的特定于应用程序的Rollups执行层。Cartesi 的特定应用程序 Optimistic Rollup 框架使区块链堆栈足够强大&#xff0c;开发人员可以构建计算密集型和以前不可能的去中心化实例。Cartesi 的 RISC-V 虚拟机支持 Linux 运行时环境&#xff0c;允许像你…...

架构篇--代码质量手册

目前团队缺少SA&#xff08;研发经理&#xff09;的角色&#xff0c;大家代码写的有点随意&#xff0c;老板让我写一份开发手册。嗯&#xff01;&#xff01;&#xff01;当时我稍微纠结了一下&#xff0c;感觉这个似乎不是我的工作范畴&#xff0c;但是本着"我就是块砖&a…...

那些年用过的IDEA插件

今天和大家分享一下经常使用的IDEA的插件&#xff0c;希望有所帮助。一、IDEA插件CodeGlance2显示代码缩略图插件&#xff0c;方便查看代码。Lombok用于编译期间自动生成getter、setter、构造、toString等方法&#xff0c;简化代码。Mybatis Builder或MybatisXMapper接口和xml双…...

python+requests实现接口自动化测试

这两天一直在找直接用python做接口自动化的方法&#xff0c;在网上也搜了一些博客参考&#xff0c;今天自己动手试了一下。 一、整体结构 上图是项目的目录结构&#xff0c;下面主要介绍下每个目录的作用。 Common:公共方法:主要放置公共的操作的类&#xff0c;比如数据库sqlhe…...

rtthread 线程

创建动态线程最简单代码 #include <rtthread.h>//包含头文件static rt_thread_t thread1 RT_NULL; //创建线程控制块指针&#xff0c;指向空static void thread1_entry(void *parameter)//线程入口&#xff08;干什么&#xff09; {rt_kprintf("do something"…...

伯恩光学再成被执行人:多次因劳动纠纷被起诉,曾冲刺港交所上市

近日&#xff0c;贝多财经从天眼查APP了解到&#xff0c;伯恩光学&#xff08;深圳&#xff09;有限公司&#xff08;下称“伯恩光学”&#xff09;因《伯恩光学&#xff08;深圳&#xff09;有限公司与温*燕劳动合同纠纷的案件》一事&#xff0c;被广东省深圳市龙岗区人民法院…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

Kafka主题运维全指南:从基础配置到故障处理

#作者&#xff1a;张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1&#xff1a;主题删除失败。常见错误2&#xff1a;__consumer_offsets占用太多的磁盘。 主题日常管理 …...

前端工具库lodash与lodash-es区别详解

lodash 和 lodash-es 是同一工具库的两个不同版本&#xff0c;核心功能完全一致&#xff0c;主要区别在于模块化格式和优化方式&#xff0c;适合不同的开发环境。以下是详细对比&#xff1a; 1. 模块化格式 lodash 使用 CommonJS 模块格式&#xff08;require/module.exports&a…...

ubuntu中安装conda的后遗症

缘由: 在编译rk3588的sdk时&#xff0c;遇到编译buildroot失败&#xff0c;提示如下&#xff1a; 提示缺失expect&#xff0c;但是实测相关工具是在的&#xff0c;如下显示&#xff1a; 然后查找借助各个ai工具&#xff0c;重新安装相关的工具&#xff0c;依然无解。 解决&am…...

C# WPF 左右布局实现学习笔记(1)

开发流程视频&#xff1a; https://www.youtube.com/watch?vCkHyDYeImjY&ab_channelC%23DesignPro Git源码&#xff1a; GitHub - CSharpDesignPro/Page-Navigation-using-MVVM: WPF - Page Navigation using MVVM 1. 新建工程 新建WPF应用&#xff08;.NET Framework) 2.…...

react更新页面数据,操作页面,双向数据绑定

// 路由不是组件的直接跳转use client&#xff0c;useEffect&#xff0c;useRouter&#xff0c;需3个结合&#xff0c; use client表示客户端 use client; import { Button,Card, Space,Tag,Table,message,Input } from antd; import { useEffect,useState } from react; impor…...

性能优化中,多面体模型基本原理

1&#xff09;多面体编译技术是一种基于多面体模型的程序分析和优化技术&#xff0c;它将程序 中的语句实例、访问关系、依赖关系和调度等信息映射到多维空间中的几何对 象&#xff0c;通过对这些几何对象进行几何操作和线性代数计算来进行程序的分析和优 化。 其中&#xff0…...

LeetCode 0386.字典序排数:细心总结条件

【LetMeFly】386.字典序排数&#xff1a;细心总结条件 力扣题目链接&#xff1a;https://leetcode.cn/problems/lexicographical-numbers/ 给你一个整数 n &#xff0c;按字典序返回范围 [1, n] 内所有整数。 你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。…...

【Java基础】​​向上转型(Upcasting)和向下转型(Downcasting)

在面向对象编程中&#xff0c;转型&#xff08;Casting&#xff09; 是指改变对象的引用类型&#xff0c;主要涉及 继承关系 和 多态。 向上转型&#xff08;Upcasting&#xff09; ⬆️ 定义 将 子类对象 赋值给 父类引用&#xff08;自动完成&#xff0c;无需强制转换&…...

Redis专题-实战篇一-基于Session和Redis实现登录业务

GitHub项目地址&#xff1a;https://github.com/whltaoin/redisLearningProject_hm-dianping 基于Session实现登录业务功能提交版本码&#xff1a;e34399f 基于Redis实现登录业务提交版本码&#xff1a;60bf740 一、导入黑马点评后端项目 项目架构图 1. 前期阶段2. 后续阶段导…...