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

文件查找和打包压缩【1.7】

文件查找和打包压缩【1.7】

  • 八、文件查找和打包压缩
    • 8.1 文件查找
      • 8.1.1 locate
      • 8.1.2 find
        • find
        • 8.1.2.1 指定搜索目录层级
        • 8.1.2.2 先处理文件再处理目录
        • 8.1.2.3 根据文件名和inode查找
        • 8.1.2.4 根据属主属组查找
        • 8.1.2.5 根据文件类型查找
        • 8.1.2.6 空文件或目录
        • 8.1.2.7 组合条件
        • 8.1.2.8 排除目录
        • 8.1.2.9 根据文件大小来查找
        • 8.1.2.10 根据时间戳
        • 8.1.2.11 根据权限查找
        • 8.1.2.12 正则表达式
        • 8.1.2.13 处理动作
      • 8.1.3 参数替换 xargs
      • xargs 动态生成参数
    • 8.2 压缩和解压缩
      • 8.2.1 compress 和 uncompress
      • 8.2.2 gzip和gunzip
      • 8.2.3 bzip2和bunzip2
      • 8.2.4 xz 和 unxz
      • 8.2.5 zip 和 unzip
      • 8.2.6 zcat
      • 8.2.7 压缩率比较
    • 8.3 打包和解包tar
      • 8.3.1 tar
      • 8.3.2 split
  • endl

八、文件查找和打包压缩

  • 内容概述
    • locate
    • find
    • xargs
    • compress和uncompress
    • gzip和gunzip
    • bzip2和bunzip2
    • xz和unxz
    • zip和unzip
    • tar

8.1 文件查找

  • 在文件系统上查找符合条件的文件
  • 文件查找:
    • 非实时查找(数据库查找):locate
    • 实时查找:find

8.1.1 locate

  • locate 查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db

  • 索引的构建是在系统较为空闲时自动进行(周期任务),执行updatedb可以更新数据库

  • 索引构建过程需要遍历整个根文件系统,很消耗资源

  • locate和update命令来自于mlocate包

  • 工作特点:

    • 查找速度快
    • 模糊查找
    • 非实时查找
    • 搜索的是文件全路径,不仅仅是文件名
    • 可能只搜索用户具备读取和执行权限的目录
  • 如果没有程序,可先安装

#rehl系列
yum install -y mlocate
#ubuntu
apt install -y Plocate
  • 格式
locate [OPTION]... [PATTERN]...
常用选项含义
-A|–all输出所有能匹配到的文件名,不管文件是否存在
-b|–basename仅匹配文件名部份,而不匹配路径中的内容
-c|–count只输出找到的数量
-d|–database DBPATH指定数据库
-e|–existing仅打印当前现有文件的条目
-L|–follow遇到软链接时则跟随软链接去其对应的目标文件中查找 (默认)
-i|–ignore-case忽略大小写
-l|–limit|-n N只显示前N条匹配数据
-P|–nofollow, -H不跟随软链
-r|–regexp REGEXP使用基本正则表达式
–regex使用扩展正则表达式
-s|–stdio忽略向后兼容
-w|–wholename全路径匹配,就是只要在路径里面出现关键字(默认)
  • 范例:locatedb创建数据库
[root@ubuntu2204 ~]# apt install mlocate -y[root@ubuntu2204 ~]# locate conf
/var/lib/plocate/plocate.db: No such file or directory[root@ubuntu2204 ~]# updatedb[root@ubuntu2204 ~]# ll /var/lib/plocate/plocate.db
-rw-r----- 1 root plocate 3142215 May 10 12:17 /var/lib/plocate/plocate.db[root@ubuntu2204 ~]# locate -n 3 conf
/boot/config-5.15.0-25-generic
/boot/config-5.15.0-71-generic
/boot/grub/i386-pc/configfile.mod[root@rocky8 ~]# dnf -y install mlocate
[root@rocky86 ~]# locate conf
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory[root@rocky8 ~]# updatedb
[root@rocky8 ~]# ll /var/lib/mlocate/mlocate.db
-rw-r----- 1 root slocate 3143608 Jun 18 08:58 /var/lib/mlocate/mlocate.db[root@rocky8 ~]# locate -n 3 conf
/boot/config-4.18.0-348.el8.0.2.x86_64
/boot/grub2/i386-pc/configfile.mod
/boot/loader/entries/c0298860b41f4cd296da0d2853451604-0-rescue.conf
  • 范例:文件新创建和删除,无法马上更新locate数据库
[root@ubuntu2204 ~]# touch test.log
[root@ubuntu2204 ~]# locate test.log#更新数据库之后再查找
[root@ubuntu2204 ~]# updatedb
[root@ubuntu2204 ~]# locate test.log
/root/test.log#文件被删除,还能查到
[root@ubuntu2204 ~]# rm -f test.log
[root@ubuntu2204 ~]# locate test.log
/root/test.log#但实际上文件己经不存在了
[root@ubuntu2204 ~]# stat /root/test.log
stat: cannot statx '/root/test.log': No such file or directory#再次更新数据库
[root@ubuntu2204 ~]# updatedb
[root@ubuntu2204 ~]# locate test.log
  • 范例:
#搜索名称或路径中包含“conf”的文件
[root@ubuntu2204 ~]# locate conf#搜索ect目录中以a开头的文件或目录,路径包含写法
[root@ubuntu2204 ~]# locate /etc/a#仅搜索文件名中包含share 的内容
[root@ubuntu2204 ~]# locate -b share#显示数量
[root@ubuntu2204 ~]# locate -c conf#显示前10[root@ubuntu2204 ~]# locate -n 10 conf#使用基本正则表达式
[root@ubuntu2204 ~]# locate -r '\.conf$'#指定数据库
[root@ubuntu2204 ~]# locate -d /tmp/nofile conf
locate: can not stat () `/tmp/nofile': No such file or directory#安静模式,不输出错误信息,新版本中没有 -q 选项
[root@ubuntu2204 ~]# locate -qd /tmp/nofile conf

8.1.2 find

  • find 是实时查找工具,通过遍历指定路径完成文件查找;
  • 工作特点:
    • 查找速度略慢
    • 精确查找
    • 实时查找
    • 查找条件丰富
    • 可能只搜索用户具备读取和执行权限的目录
  • 格式:
#find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec]
[path...] [expression]find [OPTION]... [查找路径] [查找条件] [处理动作]
  • 查找路径:指定具体目标路径;默认为当前目录

  • 查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行;默认为找出指定路径下的所有文件

  • 处理动作:对符合条件的文件做操作,默认输出至屏幕

  • 范例:

  • 默认列出当前目录下的所有文件

find
  • 查找大于100M的文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 查找大于120M,小于130M的文件
    在这里插入图片描述
[root@ubuntu2204 ~]# find
.
./dir1
./dir1/dir2
./dir1/dir2/dir3
./dir1/dir2/dir3/fx
./dir1/dir2/dir3/fy
./dir1/dir2/fa
./dir1/dir2/fb
./dir1/f1
./dir1/f2
./fstab
./.issue
8.1.2.1 指定搜索目录层级
-maxdepth N 	#最大搜索目录深度,指定目录下的文件为第1-mindepth N 	#最小搜索目录深度
  • 范例:
#最大搜索深度
[root@ubuntu2204 ~]# find /etc/ -maxdepth 2#最小搜索深度
[root@ubuntu2204 ~]# find /etc/ -mindepth 2#仅搜索第二层目录
[root@ubuntu2204 ~]# find /etc/ -maxdepth 2 -mindepth 2
8.1.2.2 先处理文件再处理目录
-depth #先处理文件
  • 范例:
[root@ubuntu2204 ~]# tree -a
.
├── dir1
│ ├── dir2
│ │ ├── dir3
│ │ │ ├── fx
│ │ │ └── fy
│ │ ├── fa
│ │ └── fb
│ ├── f1
│ └── f2
├── fstab
└── .issue
3 directories, 8 files#默认先显示目录
[root@ubuntu2204 ~]# find
.
./dir1
./dir1/dir2
./dir1/dir2/dir3
./dir1/dir2/dir3/fx
./dir1/dir2/dir3/fy
./dir1/dir2/fa
./dir1/dir2/fb
./dir1/f1
./dir1/f2
./fstab
./.issue#先显示文件
[root@ubuntu2204 ~]# find -depth
./dir1/dir2/dir3/fx
./dir1/dir2/dir3/fy
./dir1/dir2/dir3
./dir1/dir2/fa
./dir1/dir2/fb
./dir1/dir2
./dir1/f1
./dir1/f2
./dir1
./fstab
./.issue
.
8.1.2.3 根据文件名和inode查找
-name name 			#支持使用glob,如:*, ?, [], [^],通配符要加双引号引起来
-iname name 		#不区分字母大小写
-inum number 		#按inode号查找
-samefile name 		#相同inode号的文件
-links n 			#链接数为n的文件
-regex "PATTERN" 	#以PATTERN匹配整个文件路径,而非文件名称
  • 范例:
[root@ubuntu2204 ~]# ls
dir1 fstab test-a.log test-A.log test-a.txt test-A.txt test-b.log test-
B.log test-b.txt test-B.txt#指定文件名查找
[root@ubuntu2204 ~]# find -name test-a.log
./test-a.log#指定文件名,忽略大小写
[root@ubuntu2204 ~]# find -iname test-a.log
./test-a.log
./test-A.log#通配符
[root@ubuntu2204 ~]# find -name "*txt"
./test-a.txt
./test-b.txt
./test-A.txt
./test-B.txt#通配符
[root@ubuntu2204 ~]# find -name "test-a*"
./test-a.log
./test-a.txt#正则表达式
[root@ubuntu2204 ~]# find -regex ".*\.log$"
./test-a.log
./test-b.log
./test-A.log
./test-B.log#正则表达式
[root@ubuntu2204 ~]# find -regex ".*test-[a-z].*"
./test-a.log
./test-a.txt
./test-b.log
./test-b.txt#正则表达式,路径匹配
[root@ubuntu2204 ~]# find -regex ".*dir3.*"
./dir1/dir2/dir3
./dir1/dir2/dir3/fx
./dir1/dir2/dir3/fy#正则表达式,路径匹配
[root@ubuntu2204 ~]# find -regex ".*dir3$"
./dir1/dir2/dir3
8.1.2.4 根据属主属组查找
-user USERNAME 		#查找属主为指定用户(UID)的文件
-group GRPNAME 		#查找属组为指定组(GID)的文件
-uid UserID 		#查找属主为指定的UID号的文件
-gid GroupID 		#查找属组为指定的GID号的文件
-nouser 			#查找没有属主的文件
-nogroup 			#查找没有属组的文件
  • 范例:
[root@ubuntu2204 ~]# ll dir1/
total 0
drwxr-xr-x 3 root root 38 Jul 23 10:21 dir2
-rw-r--r-- 1 123 456 0 Jul 23 10:14 f1
-rw-r--r-- 1 789 root 0 Jul 23 10:14 f2
-rw-r--r-- 1 jose root 0 Jul 23 10:48 fa.txt
-rw-r--r-- 1 jose root 0 Jul 23 10:48 fb.txt
-rw-r--r-- 1 root mage 0 Jul 23 10:48 fc.txt
-rw-r--r-- 1 root mage 0 Jul 23 10:48 fd.txt#指定属主
[root@ubuntu2204 ~]# find -user jose
./dir1/fa.txt
./dir1/fb.txt#指定属主可以用 UID
[root@ubuntu2204 ~]# find -user 1010
./fa.txt
./fb.txt#指定属组
[root@ubuntu2204 ~]# find -group mage
./dir1/fc.txt
./dir1/fd.txt#指定属组可以用GID
[root@ubuntu2204 ~]# find -group 1000
./fc.txt
./fd.txt#指定属主属组
[root@ubuntu2204 ~]# find -user jose -group root
./dir1/fa.txt
./dir1/fb.txt#指定属主ID
[root@ubuntu2204 ~]# find -uid 1010
./dir1/fa.txt
./dir1/fb.txt#指定属组ID
[root@ubuntu2204 ~]# find -gid 456
./dir1/f1#指定属主属组ID
[root@ubuntu2204 ~]# find -uid 1010 -gid 0
./dir1/fa.txt
./dir1/fb.txt#属主用户不存在
[root@ubuntu2204 ~]# find -nouser
./dir1/f1
./dir1/f2#属组不在在
[root@ubuntu2204 ~]# find -nogroup
./dir1/f1#属主属组不存在
[root@ubuntu2204 ~]# find -nouser -nogroup
./dir1/f1
8.1.2.5 根据文件类型查找
-type TYPE 	#指定文件类型#type 值
f 	#普通文件
d 	#目录文件
l 	#符号链接文件
s 	#套接字文件
b 	#块设备文件
c 	#字符设备文件
p 	#管道文件
  • 范例:
#查看当前目录下的所有目录文件
[root@ubuntu2204 ~]# find -type d
.
./dir1
./dir1/dir2
./dir1/dir2/dir3#查找run 目录下所有管道文件
[root@ubuntu2204 ~]# find /run/ -type p
8.1.2.6 空文件或目录
-empty #空文件或空目录
  • 范例:
#空文件或空目录
[root@ubuntu2204 ~]# find dir1/dir2/dir3/ -empty
dir1/dir2/dir3/fx
dir1/dir2/dir3/fy
dir1/dir2/dir3/dir4#查找空目录
[root@ubuntu2204 ~]# find dir1/dir2/dir3/ -empty -type d
dir1/dir2/dir3/dir4#查找空文件
[root@ubuntu2204 ~]# find dir1/dir2/dir3/ -empty -type f
dir1/dir2/dir3/fx
dir1/dir2/dir3/fy
8.1.2.7 组合条件
-a 			#与,多条件默认就是与关系,可省略
-o 			#或
-not|! 	#非
  • 范例:
#默认 -a, 可省略
[root@ubuntu2204 ~]# find -name "*log" -a -type f
./test-a.log
./test-b.log
./test-A.log
./test-B.log#或
[root@ubuntu2204 ~]# find -name "test*log" -o -name "test*txt"
./test-a.log
./test-a.txt
./test-b.log
./test-b.txt#非
[root@ubuntu2204 ~]# find dir1/dir2/dir3/ -empty -not -type d
dir1/dir2/dir3/fx
dir1/dir2/dir3/fy#非
[root@ubuntu2204 ~]# find dir1/dir2/dir3/ -empty ! -type d
dir1/dir2/dir3/fx
dir1/dir2/dir3/fy
  • 范例:配合处理动作
[root@ubuntu2204 ~]# find -user jose -o -name "*log"
./dir1/fa.txt
./dir1/fb.txt
./test-a.log
./test-b.log
./test-A.log
./test-B.log#此处 ls 只列出了后一个条件的匹配
[root@ubuntu2204 ~]# find -user jose -o -name "*log" -ls
138733453 0 -rw-r--r-- 1 root root 0 Jul 23 10:30 ./testa.log
138733455 0 -rw-r--r-- 1 root root 0 Jul 23 10:30 ./testb.log
138733459 0 -rw-r--r-- 1 root root 0 Jul 23 10:30 ./test-A.log
138733461 0 -rw-r--r-- 1 root root 0 Jul 23 10:30 ./test-B.log#把条件括起来才表示全部
[root@ubuntu2204 ~]# find \( -user jose -o -name "*log" \) -ls
202397817 0 -rw-r--r-- 1 jose root 0 Jul 23 10:48 ./dir1/fa.txt
202397821 0 -rw-r--r-- 1 jose root 0 Jul 23 10:48 ./dir1/fb.txt
138733453 0 -rw-r--r-- 1 root root 0 Jul 23 10:30 ./testa.log
138733455 0 -rw-r--r-- 1 root root 0 Jul 23 10:30 ./testb.log
138733459 0 -rw-r--r-- 1 root root 0 Jul 23 10:30 ./test-A.log
138733461 0 -rw-

相关文章:

文件查找和打包压缩【1.7】

文件查找和打包压缩【1.7】 八、文件查找和打包压缩8.1 文件查找8.1.1 locate8.1.2 findfind8.1.2.1 指定搜索目录层级8.1.2.2 先处理文件再处理目录8.1.2.3 根据文件名和inode查找8.1.2.4 根据属主属组查找8.1.2.5 根据文件类型查找8.1.2.6 空文件或目录8.1.2.7 组合条件8.1.2…...

速盾:cdn一般多长时间清理下缓存?

CDN(Content Delivery Network)是一种网络加速技术,通过将网站的静态资源(如图片、视频、CSS、JavaScript等)分布到全球各地的服务器节点上,从而提高用户访问这些资源的速度和体验。CDN还具备缓存功能&…...

react hooks--useRef

基本用法 在类组件中获取一个dom元素实例,可以通过React.CreateRef或者回调函数的方式去获取。语法:const refContainer useRef(initialValue);使用场景:在 React 中进行 DOM 操作时,用来获取 DOM作用:返回一个带有 …...

GPT对话知识库——将寄存器中的一位数据读到变量中需要什么步骤?C语言中掩码的作用。

目录 1,问: 1,答: 1. 确定目标寄存器地址 2. 定位目标位 位操作的基本步骤: 3. 示例代码 示例步骤: 4. 详细解释步骤 5. 举例 6. 常见用法 总结 注: C语言中掩码的作用&#xff1a…...

【计算机网络】运输层协议解析

前言 运输层直接为应用进程间的逻辑通信提供服务。运输层向高层用户屏蔽了下面网络核心细节(如网络拓扑、路由选择协议等)它使应用进程看见的就好像是在两个运输层实体之间有一条端到端的逻辑通信信道。 UDP与TCP对比 UDP: 无连接 支持一对…...

Redis存储原理

前言 我们从redis服务谈起,redis是单reactor,命令在redis-server线程处理。还有若干读写IO线程负责IO操作(redis6.0之后,Redis之pipeline与事务)。此外还有一个内存池线程负责内存管理、一个后台文件线程负责大文件的关…...

PHP、Java等其他语言转Go时选择GoFly快速快速开发框架指南

概要 经过一年多的发展GoFly快速开发框架已被一千多家科技企业或开发者用于项目开发,它的简单易学得到其他语言转Go首选框架。且企业版的发展为GoFly社区提供资金,这使得GoFly快速框架得到良好的发展,GoFly技术团队加大投入反哺科技企业和开…...

【MySQL】获取最近7天和最近14天的订单数量,使用MySQL详细写出,使用不同的方法

1. 获取最近7天和最近14天的订单数量,使用MySQL详细写出,使用不同的方法 要获取最近7天和最近14天的订单数量,我们可以使用不同的方法来优化查询性能。以下是两种方法: 1.1 方法一:使用日期计算 SELECTSUM(CASE WHE…...

WebView2新增、修改、删除、禁用右键菜单相关操作。

参考链接:WebView2操作右键菜单...

使用vue创建项目

一、安装环境 二、创建vue框架(创建文件夹,摁shift鼠标右键 打开) 1、项目配置 2、新增目录 三、路径别名配置 输入/ ,VSCode会联想出src下的所有子目录和文件,统一文件路径访问时不容易出错 四、ElementPlus配置 1、组件分为…...

Apache CVE-2021-41773 漏洞攻略

漏洞简介 该漏洞是由于Apache HTTP Server 2.4.49版本存在⽬录穿越漏洞,在路径穿越⽬录 <Directory/>Require all granted</Directory>允许被访问的的情况下&#xff08;默认开启&#xff09;&#xff0c;攻击者可利⽤该路径穿越漏洞读取到Web⽬录之外的其他⽂件在…...

【redis-02】深入理解redis中RBD和AOF的持久化

redis系列整体栏目 内容链接地址【一】redis基本数据类型和使用场景https://zhenghuisheng.blog.csdn.net/article/details/142406325【二】redis的持久化机制和原理https://zhenghuisheng.blog.csdn.net/article/details/142441756 如需转载&#xff0c;请输入&#xff1a;htt…...

亚马逊IP关联揭秘:发生ip关联如何处理

在亚马逊这一全球领先的电商平台上&#xff0c;IP关联是一个不可忽视的问题&#xff0c;尤其是对于多账号运营的卖家而言。本文将深入解析亚马逊IP关联的含义、影响以及应对策略&#xff0c;帮助卖家更好地理解和应对这一问题。 什么是亚马逊IP关联&#xff1f; 亚马逊IP关联…...

jQuery Mobile 弹窗

jQuery Mobile 弹窗 引言 在移动设备上,弹窗是一种常见的用户界面元素,用于显示信息、获取用户输入或提供特定功能。jQuery Mobile 是一个流行的移动框架,它提供了丰富的组件来帮助开发者创建响应式的移动界面。本文将重点介绍如何在 jQuery Mobile 中使用弹窗(Popup)组…...

【macOS】【zsh报错】zsh: command not found: python

【macOS】【zsh Error】zsh: command not found: python 本地已经安装了Python&#xff0c;且能在Pycharm中编译Python程序并运行。 但是&#xff0c;在macOS终端&#xff0c;运行Python&#xff0c;报错。 首先要确认你在macOS系统下&#xff0c;是否安装了Python。 如果安…...

NoSql数据库Redis知识点

数据库的分类 关系型数据库 &#xff0c;是建立在关系模型基础上的数据库&#xff0c;其借助于集合代数等数学概念和方法来处理数据库 中的数据主流的 MySQL 、 Oracle 、 MS SQL Server 和 DB2 都属于这类传统数据库。 NoSQL 数据库 &#xff0c;全称为 Not Only SQL &a…...

Redis 使用指南

Redis 使用指南 概述 Redis 是一个开源的、基于内存的数据结构存储系统&#xff0c;可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构&#xff0c;如字符串&#xff08;strings&#xff09;、哈希&#xff08;hashes&#xff09;、列表&#xff08;lists&#xf…...

c++与cmake:完整的C++项目构建注意事项

个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 最近常常使用cmake构建c项目有感,从创建项目到打包发布总结一下需要注意的事情. 项目组织方式 具体的项目组织方式因人而异,这里推荐一种,在src目录中创建模块目录,再在include目录中常见对应的同名目录包含头文件,…...

Linux自主学习篇

用户及权限管理 sudo 是 "superuser do" 的缩写&#xff0c;是一个在类 Unix 操作系统&#xff08;如 Linux 和 macOS&#xff09;中使用的命令。它允许普通用户以超级用户&#xff08;root 用户&#xff09;的身份执行命令&#xff0c;从而获得更高的权限。 useradd…...

MQ入门(4)

Erlang&#xff1a;面向高并发的 单机的吞吐量就是并发性&#xff1a;Rabbitmq是10w左右&#xff08;现实项目中已经足够用了&#xff09;&#xff0c;RocketMQ是10w到20w&#xff0c;Kafka是100w左右。 公司里的并发&#xff08;QPS&#xff09; 大部分的公司每天的QPS大概…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...