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

Linux常用命令详细解析(含完整命令演示过程)

目录

1.  目录结构介绍

2.  Linux命令基础

2.1  命令和命令行

2.2  格式

3.  常用命令

3.1  产看目录命令——ls

3.2  通配符

3.3  改变工作目录命令——cd

3.4  查看当前路径命令——pwd

3.5  创建新的目录命令——mkdir

3.6  创建文件目录命令——touch

3.7  查看文件内容命令——cat

3.8  查看文件内容命令——more

3.9  复制文件/文件夹命令——cp

3.10  移动文件或文件夹——mv

3.11  删除文件或目录命令——rm

3.12  查找命令的程序文件命令——which

3.13  查找指定文件命令——find

3.13.1  按照文件名进行查找

3.13.2  按照文件大小进行查找

3.14  在命令行内输出指定内容——echo

3.15  反引号`

3.16  重定向符

3.17  查看文件尾部内容以及跟踪文件的最新更改命令——tail

3.18  通过关键字过滤文件——grep

3.19  数量统计——wc

3.20  管道符


1.  目录结构介绍

        在了解Linux的目录结构前,我们先了解一下Windows的,Windows系统可以拥有多个盘符。如C盘、D盘、E盘等:

         在Windows系统中,路径之间的层级关系,使用:\来表示,例如表示hello.txt文件:

D:\data\work\hello.txt

        但Linux没有盘符的概念,Linux只有一个根目录/,所有的文件都在它的下面,Linux的目录结构是一个树形结构:

        在Linux系统中,路径之间的层级关系,使用:/来表示,例如表示hello.txt文件:

/usr/local/hello.txt

2.  Linux命令基础

2.1  命令和命令行

命令:即Linux程序。一个命令就是一个Linux的程序。命令没有图形换页面,可以在命令行(终端中)提供字符化的反馈。

命令行:即Linux终端(Terminal),是一种命令提示符页面,以纯“字符”的形式操作系统,可以使用各种字符化命令对系统发出操作指令。

2.2  格式

command [-options] [parameter]

command:命令本身

-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节

parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等

语法中的[],表示可选的意思

示例:ls -l /home/itheima,ls是命令本身,-l是选项,/home/itheima是参数,意思是以列表的形式,显示/home/itheima目录内的内容。

3.  常用命令

3.1  产看目录命令——ls

功能:产看目录

用法:ls [选项] [目录或文件]

选项:常用参数,-l、-a、-d、-f、-h等。

选项参数含义
-l单列表输出
-a列表目录(文件夹)中所有文件。包括以“·”开头的隐藏文件
-d将目录名像其他文件一样列出,而不是只列出目录内容
-f不排序目录内容,按它们在磁盘上的存储的顺序列出
-h表示易于阅读的形式,列出文件的大小,如K,M,G(需要和-l组合使用)

        单列表输出:

         列表目录(文件夹)中所有文件。包括以“·”开头的隐藏文件。

        语法中的选项是可以组合使用的,比如-l和-a可以组合使用,写法:

ls -l -a

ls -la

ls -al

        表示易于阅读的形式,列出文件的大小,如K,M,G:

3.2  通配符

通配符含义
*代表任意个数字符
代表任意一个字符,至少1个
[]表示可以匹配字符组中的任意一个
[abc]匹配a,b,c中的任意一个
[a-f]匹配从a到f范围内的任意一个字符

         输入ls *.txt,查找所有以 .txt 结尾的文件:

        输入ls test?.txt查找所有文件名为 test 后跟任意一个字符并以 .txt 结尾的文件,如①所示,它可以匹配 test1.txttestA.txt,但不匹配 test10.txt

        输入ls test??.txt查找所有文件名为 test 后跟任意二个字符并以 .txt 结尾的文件,如②所示:

        输入 rm [t]*.txt 删除以 t 开头的 .txt 文件,同样适用于其他操作例如查找等,这里只演示一种:

3.3  改变工作目录命令——cd

        当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录,我们可以通过cd命令更改当前所在的工作目录。

功能:改变工作目录

用法:cd 目录名

常用特殊符号:~、-、·、··、

特殊符号含义
~

表示用户主目录,即HOME变量指定的目录,如root用户的主目录为/root

-表示前一个工作目录
··表示上级目录
·表示当前目录

        首先ls,查询当前目录下的文件,使用cd /跳转到根目录,再次使用ls查询当前目录下文件,可以发现已经跳转到根目录下,输入cd命令不携带参数,使用ls查询会发现又返回到主目录下了:

        输入cd加路径,进入相应的文件位置: 

        如何区分上两级目录呢?


拓展:

绝对路径:以根目录为起点,描述路径的一种写法,路径描述以“/”开头。

相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以“/”开头。


3.4  查看当前路径命令——pwd

        通过ls来验证当前的工作目录,其实是不恰当的,我们可以通过pwd命令,来查看当前所在的工作目录。

功能:查看当前路径

用法:pwd [选项]

选项:-l、-p

选项参数含义

-l

打印逻辑上的工作目录
-p打印物理上的工作目录

3.5  创建新的目录命令——mkdir

功能:创建新的目录

用法:mkdir [选项] 目录名

选项:-m、-p等;

选项参数含义

-m

对新建目录设置存取权限
-p可以是一个路径名称,若此路径中的某些目录不存在,再加上此选项后,系统将自动建立那些不存在的目录。

         以下是几种创建方式,mkdir test1以相对路径创建,mkdir /home/my/test2以绝对路径创建,mkdir ~/test3在工作目录下创建,mkdir ./test在当前目录下创建:

注意:创建文件夹需要修改权限,需要确保操作均在HOME目录内,不要在HOME外操作

涉及到权限问题,HOME外无法成功。


        拓展,将刚刚创建的文件删除使用rm -r 目录名命令。例如:


        这里我们需要思考,上面全是创建的单目录,若是想创建多级目录,需要怎么做呢?我们要是直接创建,如下:

        可以发现会报错,那时因为上级目录test1和work并不存在,所以无法创建666目录,因此可以通过-p选项,将一整条都创建完成:

3.6  创建文件目录命令——touch

功能:创建一个不存在的文件或者用来修改文件的时间戳

用法:touch [选项] 文件名

选项:-r,-t,-d等

  • touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用
选项参数含义
-r把指定文档或目录的日期时间设成与参考文档或目录相同的日期时间
-t按指定时间修改文件的访问时间,其他时间没有更新
-d修改文件的访问时间

         如何区分文件和文件夹呢?可以看到如下,开头是d的表示是文件,-的表示是文件夹:

3.7  查看文件内容命令——cat

功能:准备好文件内容,可以通过cat产看内容

用法:cat Linux路径

  • cat无选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符均可以使用

        拓展:我们刚刚使用touch创建的文件实际里面没有内容,我们可以使用vi编辑器为其添加内容:

        首先输入vi test.txt命令:

        刚进入是命令模式,按i进入插入模式,输入hello world!!!

        输入完后,点击Esc退回命令模式,点击:+w+q进行回车保存退出:

        由于vi编辑器篇幅,后续会有详细介绍,这里只是简单的使用。


        回归正题,此时test.txt文件内已经有内容了,我们可以使用cat test.txt进行查看:

3.8  查看文件内容命令——more

功能:准备好文件内容,可以通过more产看内容

用法:more Linux路径

  • more无选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符均可以使用

more和cat不同的是:

cat是直接将内容全部显示出来

more支持翻页,如果文件内容过多,可以一页页的展示

        我们可以找到Linux系统的一个内置文件,例如:/etc/services。

首先使用cat命令:

使用more命令:

        其中左下角为当前文档查看的进度,按空格进行翻页,按q退出:

3.9  复制文件/文件夹命令——cp

功能:复制命令

用法:cp [选项] 参数1 参数2

           参数1:Linux路径,表示被复制的文件或文件夹

           参数2:Linux路径,表示要复制去的地方

           cp [选项] 源文件或目录 目标文件或目录

选项:-a、-d、-f、-i、-p、-r等

选项参数含义
-a保留链接、文件属性,并复制子目录
-d复制时保留链接
-f删除已经存在的目标文件而不提示
-i在覆盖目标文件之前给出提示,要求用户确认,回答y时,目标文件将被覆盖,而且是交互式覆盖
-p此时cp命令除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中
-r若给出的源文件是一个目录文件,cp命令将递归复制该目录下的所有的子目录和文件,此时目录文件必须为一目录名

        将test.txt复制到相对路径:

        将test.txt复制到绝对路径:

        可以发现以上两种方法均可以复制成功:

        对文件夹的复制,需要注意使用-r:

3.10  移动文件或文件夹——mv

功能:移动文件/文件夹

用法:mv [选项] 参数1 参数2

           参数1:Linux路径,表示被移动的文件或文件夹

           参数2:Linux路径,表示要移动去的地方,如果目标不存在,则进行改名确保目标存                          在

           mv [选项] 源文件或目录 目标文件或目录

选项:-f、-i等

选项参数含义
-i若mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,并要求用户回答y或n,这样可以避免覆盖文件
-f禁止交互操作。在mv操作要覆盖某个已有的目标文件时不给任何指示,在指定此选项后,i选项将不再起作用

        可以先查看,到我们之前创建的一些文件和文件夹,将通过③进行文件的移动,将文件test.txt移动文件example当中,可以通过④或者⑤两种方式进行查看:

        改名可以发现,下图通过mv命令将text1.txt改为test3.txt:

        文件夹的移动,下图通过mv命令将example1移动到example:

        参数-i的使用,若mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,并要求用户回答y或n,这样可以避免覆盖文件:

3.11  删除文件或目录命令——rm

功能:删除文件/文件夹

用法:rm [选项] 文件/目录

           (也可以写作:rm [选项] 参数1 参数2.....参数N)

              参数1、参数2、.....、参数N表示要删除的文件或文件夹路径,按照空格隔开

选项:-f、-r等

选项参数含义
-i进行交互式删除
-f

忽略不存在的文件,但从不给出提示,强制删除

(普通用户删除内容不会弹出提示,只有root管理员用户删除内容时会有提示,所以一般普通用户用不到-f选项)

-r指示rm命令将参数中列出的全部目录和子目录均全部删除

        首先,我们先来删除文件,如下图:

        删除文件夹,可以发现不能直接使用rm命令,需要加上-r:

        删除多个文件或者文件夹,①时删除多个文件夹,②是删除多个文件,③是同时删除文件和文件夹:

        可以通过su - root并输入密码123456回车(和普通用户默认一样)临时切换到root用户体验,如①所示,若是密码认证失败如②所示更改密码,再次输入如③即可看到进入root用户:

若是无法正常进入root,可以参考:

如何在Ubuntu进入root模式以及gcc的安装_ubuntu root-CSDN博客

        如何退出root:

方法一:输入exit,回车;

方法二:su 自己的用户名;

方法三:Ctrl+d。

注意!!!

千万千万不要在root管理用户下执行:rm -rf /   或者  rm -rf /*

效果等同在windows上执行C盘格式化。

3.12  查找命令的程序文件命令——which

        在前面学习的Linux命令,其实他们的本体就是一个个的二进制可执行程序,与windows系统中的.exe文件,是一个意思,可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里。

语法:which 要查找的命令

3.13  查找指定文件命令——find

3.13.1  按照文件名进行查找

功能:查找文件

用法:find 起始路径 -name “被查找的文件名”

        为了方便后续搜索拥有最大权限,我们可以切换到root用户,方法参考3.10章节。

        搜索根目录下所有test文件,会发现如下:

        这里同样可以使用通配符具体请看本文通配符章节。

3.13.2  按照文件大小进行查找

功能:查找文件

语法:find 起始路径 -size +|-n[kMG]

  • +、-表示大于和小于
  • n表示大小数字
  • kMG表示大小单位,k(小写字母)表示kb,M表示MG,G表示GB

        查找小于10KB的文件,由于文件太多可以使用Ctrl+c进行强制停止:

        查找大于10MB的文件:

         查找大于1GB的文件,我们可以随机挑选一个文件查看是否是大于1GB的文件:

3.14  在命令行内输出指定内容——echo

功能:在命令行内输出指定内容

语法:echo 输出的内容

           无需选项,只有一个参数,表示要输出的内容,复杂内容可以用“”包围

           例如:带有空格或者\等特殊符号,建议使用双引号包围,因为不包围,空格后很容易                        识别成参数2,虽然在这里暂时不受影响

3.15  反引号`

        对于①我们的本意是想输出工作路径,但是pwd被当作普通字符输出了,我们可以使用反引号将其包围,被`包围的内容,会被作为命令执行,为非普通字符:

3.16  重定向符

>,将左侧命令结果,覆盖写入到符号右侧指定文件中

        可以看3.7小节,使用①②③创建一个文件,并给里面写入内容,通过④将左侧命令结果,覆盖写入到符号右侧指定文件中,通过⑤查看内容是否更改:

>>,将左侧命令结果,追加写入到符号右侧指定文件中,会将内容追加到已有文件的末尾

3.17  查看文件尾部内容以及跟踪文件的最新更改命令——tail

功能:查看文件尾部内容,跟踪文件的最新更改

语法:tail [选项] Linux路径

选项:-f,-num等

选项参数含义
-f表示持续跟踪
-num表示查看尾部多少行,不填默认10行

        通过重定向符将ls的内容写入到test当中:

        通过tail test.txt进行查看,可以看到只列出了从后往前数的十个数据:

        对于-num的使用:

        对于 -f 的使用,需要远程控制,对test.txt文件写入数据,下面空白部分会实时显示所加入的数据(Ctrl+c退出):

3.18  通过关键字过滤文件——grep

功能:通过关键字过滤文件

语法:grep [选项] 关键字 文件路径

选项:-n,-v,-i等

  • 关键字:表示过滤的关键字,带空格或其他特殊符号,建议使用“”将关键字包围起来
  • 文件路径:表示要过滤的文件路径,可作为内容输入端口
选项含义
-n显示匹配行及行号
-v显示不包含匹配文本的所有行(类似于求反)
-i忽略大小写

3.19  数量统计——wc

功能:统计文件的行数、单词数量等

语法:wc [选项] 文件路径

选项:-c、-m、-l、-w等

  • 文件路径,可作为管道符的输入
选项含义
-c统计bytes数量
-m统计字符数量
-l统计行数
-w统计单词数量

        对每个选项的使用:

3.20  管道符

含义:将管道符左边的命令的结果,作为右边命令的输入

            (可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里 | 的左                 右分为两端,左端塞东西(写),右端取东西(读))     

管道符:|

         在3.18我们知道,grep的文件路径:表示要过滤的文件路径,可作为内容输入端口,那么我们通过cat查看test.txt的文件,将查看的内容给右边,这样grep is+内容,就会对该内容进行筛选:

        同样也可以将其适用于wc命令:

        同样左边也不一定只能cat,只要能产生内容输出的皆可以使用,例如:ls。

Linux学习之vi/vim详细介绍_vi vim-CSDN博客

Linux学习_时光の尘的博客-CSDN博客

相关文章:

Linux常用命令详细解析(含完整命令演示过程)

目录 1. 目录结构介绍 2. Linux命令基础 2.1 命令和命令行 2.2 格式 3. 常用命令 3.1 产看目录命令——ls 3.2 通配符 3.3 改变工作目录命令——cd 3.4 查看当前路径命令——pwd 3.5 创建新的目录命令——mkdir 3.6 创建文件目录命令——touch 3.7 查看…...

《使用Gin框架构建分布式应用》阅读笔记:p101-p107

《用Gin框架构建分布式应用》学习第7天,p101-p107总结,总计7页。 一、技术总结 1.StatusBadRequest vs StatusInternalServerError 写代码的时候有一个问题,什么时候使用 StatusBadRequest(400错误),什么时候使用 StatusIntern…...

014集——c#实现打开、另存对话框(CAD—C#二次开发入门)

如下图所示,运行后实现如下功能: 打开对话框,选择一个文件,并获取文件名变量。 打开另存对话框,输入路径和文件名,获取另存文件名变量。 部分代码如下: public static void Ofd(this Database…...

全面升级:亚马逊测评环境方案的最新趋势与实践

在亚马逊测评领域深耕多年,见证了无数环境方案的更迭与演变,每一次变化都体现了国人不畏艰难、勇于创新的精神。面对平台的政策调整,总能找到相应的对策。那么,当前是否存在一套相对稳定且高效的技术方案呢?答案是肯定…...

Java中的异步编程模型

1.什么是异步编程? 异步编程是一种编程模式,允许程序在等待某些操作(例如文件I/O或网络请求)完成时,不必停下来等待,而是继续执行其他任务。当异步操作完成时,回调函数或任务调度器会处理结果&…...

opencv 按位操作

opencv位运算说明 按位与,按位或,按位非,按位异或 在 OpenCV 中,按位操作函数的接口一般包括两个或多个图像数组(矩阵)作为输入,常常还会有一个可选的掩码参数。下面我列出每个函数的具体接口…...

【Bug】STM32串口空闲中断接收不定长数据异常

Bug 使用标准库配置STM32F103C8T6的串口1开启接收中断和空闲中断,通过空闲中断来判断数据发送是否结束,收到数据后切换板载LED灯所接引脚电平,发现LED出现三种情况,熄灭、微亮、正常亮,但是LED灯所接的GPIO引脚为PC13…...

使用Radzen Blazor组件库开发的基于ABP框架炫酷UI主题

一、项目简介 使用过ABP框架的童鞋应该知道它也自带了一款免费的Blazor UI主题,它的页面是长这样的: 个人感觉不太美观,于是网上搜了很多Blazor开源组件库,发现有一款样式非常不错的组件库,名叫:Radzen&am…...

Java入门4——输入输出+实用的函数

在本篇博客,采用代码解释的方法,帮助大家熟悉Java的语法 一、输入和输出 在Java当中,我们一般有这样输入输出: import java.util.Scanner;public class javaSchool {public static void main(String[] args) {Scanner scanner …...

《当尼采哭泣》

这是一个相互救赎的故事。故事铺垫比较冗长,看到一半的时候一度看不下去。直到看到最后两章才最终感觉值得一看。很多表层现象,就像露出水面的冰山。解决表面的问题,需要深挖冰山水下的部分。一个人碰到的最难解决的问题不在外部,…...

TOMCAT Using CATALINA——OPTS,闪退解决方法(两种)

【Java实践】安装tomcat启动startup.bat出现闪退问题_安装tomcat点击startup闪退-CSDN博客...

Android音视频 MediaCodec框架-启动编码(4)

Android音视频 MediaCodec框架-启动编码 简述 上一节我们介绍了MediaCodec框架创建编码器流程,编解码的流程其实基本是一样的,只是底层的最终的实现组件不同,所以我们只看启动编码流程。 MediaCodec启动编码 从MediaCodec的start方法开始…...

# Go 语言中的 Interface 和 Struct

go package mainimport ("fmt" )// Girl 是一个接口,定义了所有"女性"类型都应该实现的方法 type Girl interface {call()introduce() }// Wife 结构体代表妻子 type wife struct {name stringage intyearsWed int }// call 方法…...

SSM与Springboot是什么关系? -----区别与联系

SSM(Spring Spring MVC MyBatis)和 Spring Boot 都是基于 Spring 框架的技术栈,但它们在使用方式、配置复杂度以及设计理念上有所不同。下面是 SSM 和 Spring Boot 之间的关系及主要区别: SSM (Spring Spring MVC MyBatis) 定…...

MATLAB小波变换图像融合系统

二、应用背景及意义 本课题利用小波变换进行图像的融合,然后对融合的结果进行图像质量的评价。所谓小波变换图像融合就是对多个的信息目标进行一系列的图像提取和合成,进而可以获得对同一个信息目标的更为精确、全面、可靠的高低频图像信息描述。并且也…...

nginx-安装和80端口映射多域名和ssl

一、安装所需插件 1、安装 gcc gcc是linux下的编译器,它可以编译 C,C,Ada,Object C和Java等语言。 yum -y install gcc 2、安装pcre、pcre-devel pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析 正则表达式。…...

SVN小乌龟 create patch 和 apply patch 功能

在SVN(Subversion)版本控制系统中,使用“小乌龟”(TortoiseSVN)这个图形界面工具可以极大地简化SVN操作。TortoiseSVN中的“create patch”和“apply patch”是两个非常有用的功能,它们与版本控制中的补丁&…...

#MySQL `SELECT` 语句执行流程详解

在数据库操作中,MySQL 的 SELECT 语句是用于查询数据最常见的 SQL 语句之一。理解它的执行流程对数据库优化和性能提升具有至关重要的意义。本文将详细解析 SELECT 语句从发出请求到返回结果的每个步骤,并结合 MySQL 的架构为您提供深度理解。 ## 1. 连接…...

docker容器运行一段时间提示Failed to initialize NVML: Unknown Error

情况描述 服务器使用docker启动容器。启动以后一切正常也能跑程序。但是,在运行一段时间(2天左右不等),会发现gpu掉了。输入nvidia-smi提示 Failed to initialize NVML: Unknown Error 主要发生条件是,docker启动的…...

PPT自动化:快速更换PPT图片(如何保留原图片样式等参数更换图片)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 PPT更换图片 📒1. 安装 `python-pptx` 模块2. 加载PPT文件3. 查找并替换图片3.1 查找图片形状3.2 获取原图片的样式和位置3.3 替换图片4. 保存修改后的PPT文件5. 设置图片的相关参数5.1 设置透明度5.2 设置边框🚀 保留所有参…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

测试markdown--肇兴

day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found"​, "n…...

从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障

关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...

Vue ③-生命周期 || 脚手架

生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

边缘计算网关提升水产养殖尾水处理的远程运维效率

一、项目背景 随着水产养殖行业的快速发展,养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下,而且难以实现精准监控和管理。为了提升尾水处理的效果和效率,同时降低人力成本,某大型水产养殖企业决定…...

网页端 js 读取发票里的二维码信息(图片和PDF格式)

起因 为了实现在报销流程中,发票不能重用的限制,发票上传后,希望能读出发票号,并记录发票号已用,下次不再可用于报销。 基于上面的需求,研究了OCR 的方式和读PDF的方式,实际是可行的&#xff…...