11.RedHat认证-Linux文件系统(中)

11.RedHat认证-Linux文件系统(中)

Linux的文件系统

格式化分区(1道题)

#对于Linux分区来说,只有格式化之后才能使用,不格式化是无法使用的。
#Linux分区格式化之后就会变成文件系统,格式化的过程相当于对分区做了一个文件系统。
#Linux常见的文件系统有ext系列,ext2,ext3,ext4。还有xfs,还有btrfs。
#ext4的文件系统限制是,单个文件的大小不能超过1T
#xfs的文件系统单个文件系统量最大支持8EB,单个文件可以支持16TB#从centos7和rhel7开始,默认的安装文件系统就是xfs了,也提供了xfs文件系统的支持。
#对于文件系统来说,如果涉及到了文件系统性能的需求,首先你要知道的就是你要存储的文件类型(特征)。
#小文件特别多或者文件特别大,但是文件数量少。

在这里插入图片描述

现在我将 sdb1 和 sdb2分别格式化成xfs 和 ext4文件系统

在这里插入图片描述

#在Linux操作系统中格式化文件系统的原理是什么呢?
#分区的最小单位是sector(扇区),一个扇区是512B
#假如分区可以直接使用,那么存储一个20MB的文件需要多少个扇区呢?
#答案是40960,也就是说存储一个20MB的文件需要40960个扇区。
#那么读取这个20MB的文件就需要读40960次。效率太低了。
#上面只是我们不能直接使用分区的一个原因。还有其他原因,请自行了解。#当我们的分区进行格式化之后,会将磁盘的读和写的粒度放大。
#格式化的详细操作
1.会立刻分配一部分空间作为inode节点空间
2.刨除inode节点占用的空间,剩下的空间用作划分block,block包含了多个扇区,
1个block等于2^n个扇区,如果n等于0,那么一个block就等于1个扇区的大小,
如果n=1,那么block就等于2个扇区的大小,如果n=2,那么block就等于4个扇区的大小。
单个block越大,就意味着粒度越大。
# 划分block的目的是要将文件以block的数量来存放block越大对磁盘的读取效果就越好。block大了,一次性读取的空间变多了,这样你的读效率就会提升。
block并不是越大越好,如果block太大,但是你存放的文件特征是小文件,那么会造成大量磁盘的浪费。
所以格式化文件系统的时候block的大小要选对。#inode节点
block是用来存放文件内容,inode节点是用来存放文件元数据的。

临时挂载Linux文件系统(因为分区是不能直接挂载--------mount)

Linux的mount命令就是挂载文件系统的
mount命令的格式
mount -t 文件系统类型 文件系统所在的分区路径 文件系统的挂载点路径
mount -t fstype 分区路径 挂载点路径
如果是原生的Linux文件系统,那么Linux是可以识别出这个文件系统的,所以如果是原生的Linux文
件系统,那么可以不用加-t参数来指定文件系统的类型。ext系列,xfs就属于Linux原生的文件系统挂载点你随便指定。取决于你,因为你是管理员,能力越大,责任越大。
一般来说在LInux上的应用如果使用了某个path,那么这个路径你就可以挂载一个文件系统
[root@server ~]# mount /dev/sda5 /mount-point1
[root@server ~]# mount /dev/sda6 /mount-point2df命令的-T参数表示显示文件系统的类型(type)
-h参数表示将文件系统的大小转换成human易懂的格式。
-H参数表示将文件系统的大小转换成human易懂的格式。
[root@server ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 3.9G 0 3.9G 0% /devtmpfs tmpfs 3.9G 0 3.9G 0% /dev/shmtmpfs tmpfs 3.9G 10M 3.9G 1% /runtmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroupmount命令能列出当前系统的所有文件系统挂载情况

持续性挂载Linux文件系统

mount命令挂载只是临时挂载,重启就没了
如果你想让你的文件系统永久的挂载那么,就需要将挂载的信息写入/etc/fstab。
/etc/fstab这个文件非常重要,一旦这个文件被误删了,或者里面的某些行被错误的删除了,甚至写法的错误都会导致系统无法正常启动# 经验,编辑/etc/fstab之前,记得将这个文件备份[root@server ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu May  9 11:16:12 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cs-root     /                       xfs     defaults        0 0
UUID=04d9fb55-39a4-452e-91bf-70a2afd97cae /boot                   xfs     defaults        0 0
/dev/mapper/cs-swap     none                    swap    defaults        0 0#第一列是文件系统所在的分区路径
#第二列是文件系统的挂载点
#第三列是文件系统的类型
#第四列是挂载参数
#第五列和第六列分别写0,只有在一些特殊的文件系统,后两列才需要改成非0# 然后再文件里按照格式写入你需要永久挂在的文件系统。(下面只做示例)
/dev/sda5 /mount-point1 ext4 defaults 0 0
/dev/sda6 /mount-point2 xfs defaults 0 0--------------------------------------------------------------------------------
当fstab编辑完成之后,使用mount -a命令,mount -a命令会让我们的文件系统按照fstab里面自动挂载。
但是注意,如果某个文件系统已经挂载了,且还在fstab里面被记录,
那么mount -a【并不会】将该文件系统卸载,再重新挂载,mount -a会自动忽略该文件系统

逻辑卷(2道题)重要

生产环境使用率极高(非常非常非常非常高)
我们之前使用磁盘,步骤是:
1.安装磁盘
2.分区
3.格式化
4.挂载
5.使用
如果对磁盘直接使用fdisk分区,那么这种分区,我们叫做Linux的标准分区,Linux的标准分区如果
格式化成文件系统之后,挂载使用,那么一旦文件系统的空间满了,是无法扩容的。如果一定要“扩
容”,需要将数据备份出来,在换一个更大的文件系统,再将数据还原回去。这种方法效率特别低。

上面的问题促使了逻辑卷的诞生。

逻辑卷是个抽象的概念,我们要记很多新的专有名词

pv(physical volume)物理卷(理论上可以无限大)

vg(volume group)卷组

lv(logical volume)逻辑卷

pv的创建,pv的删除(向pv里面加入新的块设备就相当于扩容pv,从pv里面删除块设备,就相当于缩容pv)

vg的创建,vg的删除,vg的扩容,vg的缩容(不包含)

lv的创建,lv的删除,lv的扩容,lv的缩容(不包含)

在这里插入图片描述

PV理论上可以无线扩容

PV下可以创建很多个卷组VG

一个VG下可以创建很多个LV

不同的VG下的LV可以重名,同一个VG下的LV不可重名。

创建物理卷

先分区

# 分区
[root@centos8 ~]# fdisk -l /dev/sdb
Disk /dev/sdb:20 GiB,21474836480 字节,41943040 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8d773471设备       启动     起点     末尾     扇区 大小 Id 类型
/dev/sdb1           2048 10487807 10485760   5G 83 Linux
/dev/sdb2       10487808 23070719 12582912   6G 83 Linux---------------------------------------------------------------------------
# PV的操作
#创建PV
[root@centos8 ~]# pvcreate /dev/sdb1Physical volume "/dev/sdb1" successfully created.
[root@centos8 ~]# pvcreate /dev/sdb2Physical volume "/dev/sdb2" successfully created.#不分区,添加硬盘后直接创建pv
[root@centos8 ~]# pvcreate /dev/sdcPhysical volume "/dev/sdc" successfully created.# 查看pv
[root@centos8 ~]# pvsPV         VG Fmt  Attr PSize   PFree/dev/sda2  cs lvm2 a--  <19.00g    0 /dev/sdb1     lvm2 ---    5.00g 5.00g/dev/sdb2     lvm2 ---    6.00g 6.00g# 删除pv (如果pv已经被某个vg使用,那么无法删除)
[root@centos8 ~]# pvremove /dev/sdb1Labels on physical volume "/dev/sdb1" successfully wiped.---------------------------------------------------------------------------#卷组的操作
# 创建卷组(VG)
[root@centos8 ~]# vgcreate vg1 /dev/sdb1Volume group "vg1" successfully created
[root@centos8 ~]# vgsVG  #PV #LV #SN Attr   VSize   VFree cs    1   2   0 wz--n- <19.00g     0 vg1   1   0   0 wz--n-  <5.00g <5.00g[root@centos8 ~]# pvsPV         VG  Fmt  Attr PSize   PFree /dev/sda2  cs  lvm2 a--  <19.00g     0 /dev/sdb1  vg1 lvm2 a--   <5.00g <5.00g/dev/sdb2      lvm2 ---    6.00g  6.00g# 删除vg (如果在vg上有逻辑卷在使用,那么vg无法删除)
[root@centos8 ~]# vgremove vg1 Volume group "vg1" successfully removed# VG扩容(vg扩容是从pv里拿的空间,是不能从现有的vg里拿的)
[root@centos8 ~]# vgsVG  #PV #LV #SN Attr   VSize   VFree cs    1   2   0 wz--n- <19.00g     0 vg1   1   0   0 wz--n-  <5.00g <5.00gvg2   1   0   0 wz--n-  <6.00g <6.00g
[root@centos8 ~]# vgextend vg1 /dev/sdb3Volume group "vg1" successfully extended
[root@centos8 ~]# vgsVG  #PV #LV #SN Attr   VSize   VFree cs    1   2   0 wz--n- <19.00g     0 vg1   2   0   0 wz--n-   6.99g  6.99gvg2   1   0   0 wz--n-  <6.00g <6.00g---------------------------------------------------------------------------#逻辑卷的操作-n参数表示逻辑卷的名字 #name
-L参数表示逻辑卷的大小 300M,2G #Large
vg2就表示使用卷组vg2创建该逻辑卷# 创建逻辑卷
[root@centos8 ~]# lvcreate -n lv1 -L 300M vg1Logical volume "lv1" created.
[root@centos8 ~]# lvsLV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot cs  -wi-ao---- <17.00g                                                    swap cs  -wi-ao----   2.00g                                                    lv1  vg1 -wi-a----- 300.00m逻辑卷创建完成之后,可以直接格式化成为文件系统使用。
如果卷组下面创建了一个新的逻辑卷,那么该逻辑卷就会自动的在设备文件路径出现/dev/vgname/lvname
[root@centos8 ~]# vgsVG  #PV #LV #SN Attr   VSize   VFree cs    1   2   0 wz--n- <19.00g     0 vg1   2   1   0 wz--n-   6.99g <6.70gvg2   1   0   0 wz--n-  <6.00g <6.00g
[root@centos8 ~]# ls /dev/vg1
lv1
[root@centos8 ~]# ls /dev/vg1 -l
总用量 0
lrwxrwxrwx. 1 root root 7 529 21:26 lv1 -> ../dm-2
dm设备就表示逻辑卷的本尊。dm全拼是device mapper
[root@centos8 ~]# ls /dev/mapper/ -l
总用量 0
crw-------. 1 root root 10, 236 529 20:04 control
lrwxrwxrwx. 1 root root       7 529 20:04 cs-root -> ../dm-0
lrwxrwxrwx. 1 root root       7 529 20:04 cs-swap -> ../dm-1
lrwxrwxrwx. 1 root root       7 529 21:26 vg1-lv1 -> ../dm-2# 格式化lv1 ,就可以使用了
[root@centos8 ~]# mkfs.ext4 /dev/mapper/vg1-lv1 
mke2fs 1.45.6 (20-Mar-2020)
创建含有 307200 个块(每块 1k)和 76912 个inode的文件系统
文件系统UUID:933a382a-fe30-4636-9ee3-ac8c0a499bec
超级块的备份存储于下列块: 8193, 24577, 40961, 57345, 73729, 204801, 221185正在分配组表: 完成                            
正在写入inode表: 完成                            
创建日志(8192 个块)完成
写入超级块和文件系统账户统计信息: 已完成#逻辑卷的删除(请注意,删除的路径是在哪个卷组下创建的逻辑卷)
# 比如说,你在vg1卷组下创建了一个逻辑卷lv1 ,那么你删除的时候,就应该是在/dev/vg1/lv1 删除这个lv1逻辑卷。
[root@centos8 ~]# lvremove /dev/vg1/lv1 
Do you really want to remove active logical volume vg1/lv1? [y/n]: yLogical volume "lv1" successfully removed.# 逻辑卷的格式化
[root@server ~]# lvcreate -n lv1-ext4 vg2 -L 200M
[root@server ~]# lvcreate -n lv1-xfs vg2 -L 500M
[root@server ~]# lvs
[root@server ~]# mkfs.ext4 /dev/vg2/lv1-ext4
[root@server ~]# mkfs.xfs /dev/vg2/lv1-xfs
[root@server ~]# mkdir /ext4-test /xfs-test
[root@server ~]# mount -t ext4 /dev/vg2/lv1-ext4 /ext4-test/
[root@server ~]# mount /dev/vg2/lv1-xfs /xfs-test/
[root@server ~]# df -Th /xfs-test/ /ext4-test/
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg2-lv1--xfs xfs 499M 29M 470M 6% /xfs-test
/dev/mapper/vg2-lv1--ext4 ext4 190M 1.6M 175M 1% /ext4-test#逻辑卷的扩容
#在线扩容,在线扩容指的是文件系统不能卸载
将lv1-ext4扩容到300M
讲lv1-xfs扩容到700M
[root@centos8 ~]# lvextend /dev/vg2/lv1-ext4 -L 300MSize of logical volume vg2/lv1-ext4 changed from 200.00 MiB (50 extents) to 300.00 MiB (75 extents).Logical volume vg2/lv1-ext4 successfully resized.
[root@centos8 ~]# lvsLV       VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot     cs  -wi-ao---- <17.00g                                                    swap     cs  -wi-ao----   2.00g                                                    lv1-ext4 vg2 -wi-ao---- 300.00m                                                    lv1-xfs  vg2 -wi-ao---- 500.00m                                                    
[root@centos8 ~]# lvextend /dev/vg2/lv1-xfs -L 700MSize of logical volume vg2/lv1-xfs changed from 500.00 MiB (125 extents) to 700.00 MiB (175 extents).Logical volume vg2/lv1-xfs successfully resized.
[root@centos8 ~]# lvsLV       VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convertroot     cs  -wi-ao---- <17.00g                                                    swap     cs  -wi-ao----   2.00g                                                    lv1-ext4 vg2 -wi-ao---- 300.00m                                                    lv1-xfs  vg2 -wi-ao---- 700.00m [root@server ~]# df -Th[root@centos8 ~]# df -Th
文件系统                  类型      容量  已用  可用 已用% 挂载点
/dev/mapper/vg2-lv1--ext4 ext4      189M   14K  175M    1% /etx4-test
/dev/mapper/vg2-lv1--xfs  xfs       495M   29M  466M    6% /xfs-test
# 因为扩容的部分没有格式化,所以在文件系统上检测不到。
# 将ext4和xfs扩容的空间加入到文件系统操作:
[root@server ~]# resize2fs /dev/vg2/lv1-ext4
[root@centos8 ~]# xfs_growfs /xfs-test/ 		#xfs的操作是要操作挂载点。
[root@centos8 ~]# df -Th
文件系统                  类型      容量  已用  可用 已用% 挂载点
/dev/mapper/vg2-lv1--ext4 ext4      285M   14K  267M    1% /etx4-test
/dev/mapper/vg2-lv1--xfs  xfs       695M   31M  665M    5% /xfs-test

find命令、dd 命令 、ln命令

find命令是Linux中功能非常强大的查找命令,windows没有类似的功能
find命令能搜索任何你想搜索的文件
格式
find 查找范围 查找参数
1.根据名称查找文件,名称支持正则表达式和通配符
[root@server ~]# find / -name default
2. 根据文件拥有者查找
[root@server ~]# find / -user apache 2>>/dev/null | xargs ls -ld
3.根据文件大小查找
[root@server ~]# find / -size +100M 2>>/dev/null | xargs ls -lh根据文件大小范围查找
[root@centos8 ~]# find / -size +100M -size -300M 2>>/dev/null | xargs ls -ld例题:找到拥有人为admin的文件,将其拷贝到/opt/admin-test目录(这个目录要提前创建)
mkdir -p /opt/admin-test
[root@centos8 ~]# find / -user admin 2>>/dev/null -exec cp -a {} /opt/admin-test \;
dd命令
1.用dd命令测磁盘的写速度
[root@centos8 ~]# dd if=/dev/zero of=/dev/null
^C记录了1954431+0 的读入
记录了1954430+0 的写出
1000668160 bytes (1.0 GB, 954 MiB) copied, 3.4651 s, 289 MB/s[root@server ~]# dd if=/dev/zero of=/root/file count=1000 bs=1M  # count是块数量,bs是块大小。
ln->link
ln命令可以创建软连接,软连接就相当于快捷方式#软链接用的多,工作中用的多
ln -s /opt/admin-test /root/test-link

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

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

相关文章

Linux搭建PHP下的RabbitMQ环境(php-amqp/rabbitmq-c/erlang)

本文演示环境 Red Hat 11.2.1-9gcc (GCC) 11.2.1 20220127OpenSSL v1.1.0PHP 7.1 安装erlang erlang和RabbitMQ有版本对应关系Erlang Version Requirements&#xff0c;需要选择正确的版本。 本文以erlang 26和RabbitMQ 3.13.2为例。 erlang下载地址 下载包上传服务器后&a…

【介绍下运维开发】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

每日复盘-20240529

20240529 六日涨幅最大: ------1--------300956--------- 英力股份 五日涨幅最大: ------1--------301361--------- 众智科技 四日涨幅最大: ------1--------301361--------- 众智科技 三日涨幅最大: ------1--------300637--------- 扬帆新材 二日涨幅最大: ------1--------30…

el-pagination在删除非第一页的最后一条数据遇到的问题

文章目录 前言一、问题展示二、解决方案三、源码解析1、elementui2、elementplus 总结 前言 这个问题是element-ui中的问题&#xff0c;可以从源码中看出来&#xff0c;虽然页码更新了&#xff0c;active也是对的&#xff0c;但是未调用current-change的方法&#xff0c;这里就…

爬虫案例(读书网)

一.我们还是使用简单的bs4库和lxml&#xff0c;使用xpath&#xff1a; 导入下面的库&#xff1a; import requests from bs4 import BeautifulSoup from lxml import etree 我们可以看见它的div和每个书的div框架&#xff0c;这样会观察会快速提高我们的简单爬取能力。 二.实…

Element-UI 入门指南:从安装到自定义主题的详细教程

Element-UI 是一个基于 Vue.js 的前端组件库&#xff0c;它提供了丰富的 UI 组件&#xff0c;可以帮助开发者快速构建高质量的用户界面。以下是使用 Element-UI 的快速入门指南&#xff1a; 安装 Element-UI Element-UI 是一个基于 Vue.js 的组件库&#xff0c;它提供了丰富的…

原神抽卡点名程序教程(直接下载用)

今天我要给大家分享一个在抖音上特别火的视频——原神抽卡点名程序教程。 &#xff08;要源码的私信扣31&#xff09; 废话不多说&#xff0c;直接上效果图 &#xff1a; 步骤1&#xff1a; 步骤2&#xff1a;&#xff08;写名单&#xff0c;前面加数字代表星级&#xff0c;用…

JAVA类与方法·易错题分析

分析一下作业中关于类与方法写错或者易错的题。 N o . 1 No.1 No.1 下面程序的执行结果是______。 public class Test7 {public static void main(String[] args){new B().display();} } class A{public void draw() {System.out.print("Draw A.");}public void di…

用户接入和认证技术

一、用户接入和认证配置 称为网络接入控制&#xff0c;通过对接入网络的客NAC (Network Admission Control)户端和用户的认证保证网络的安全&#xff0c;是一种“端到端”的安全技术。包括802.1x认证、MAC认证与Portal认证。 二、三种认证方式简介 1、Portal认证 Portal认证通…

Hadoop3:MapReduce之简介、WordCount案例源码阅读、简单功能开发

一、概念 MapReduce是一个 分布式运算程序 的编程框架&#xff0c;是用户开发“基于 Hadoop的数据分析 应用”的核心框架。 MapReduce核心功能是将 用户编写的业务逻辑代码 和 自带默认组件 整合成一个完整的 分布式运算程序 &#xff0c;并发运行在一个 Hadoop集群上。 1、M…

2.1色彩空间

色彩发送器 色彩认知 光源是出生点&#xff0c;光源发射出光线&#xff0c;光线通过直射反射折射等路径最终进入人眼。 但人眼接收到光线后&#xff0c;人眼的细胞产生了一系列化学反应。 由此把产生的信号传入大脑&#xff0c;最终大脑对颜色产生了认知感知。 光的要素 光…

【数据结构】探索树中的奇妙世界

专栏介绍&#xff1a; 哈喽大家好&#xff0c;我是野生的编程萌新&#xff0c;首先感谢大家的观看。数据结构的学习者大多有这样的想法&#xff1a;数据结构很重要&#xff0c;一定要学好&#xff0c;但数据结构比较抽象&#xff0c;有些算法理解起来很困难&#xff0c;学的很累…

C#多线程同步lock、Mutex

C#使用多线程可以通过System.Threading命名空间下的Thread类来实现 lock和Mutex用于实现线程同步的机制&#xff1a; 上代码&#xff1a; class People{public People(int idd){id idd;}public int id;public int age;}class TestHelper{public TestHelper() { }List<Peo…

四川汇聚荣聚荣科技有限公司是正规的吗?

在当今社会&#xff0c;随着科技的飞速发展&#xff0c;越来越多的科技公司如雨后春笋般涌现。然而&#xff0c;在这个信息爆炸的时代&#xff0c;如何判断一家公司是否正规成为了许多人关注的焦点。本文将围绕“四川汇聚荣聚荣科技有限公司是否正规”这一问题展开讨论&#xf…

CSS学习笔记:vw、vh实现移动端适配

移动端适配 移动端即手机端&#xff0c;也称M端 移动端适配&#xff1a;同一套移动端页面在不同屏幕尺寸的手机上可以实现宽度和高度的自适应&#xff0c;也就是页面中元素的宽度和高度可以根据屏幕尺寸的变化等比缩放 之前我在一篇博客中介绍了rem实现移动端适配&#xff0…

Django之文件上传(一)

一、环境搭建 建立项目 django-admin startproject project_demo配置数据库(以MySQL为例) # settings.py DATABASES = {default: {ENGINE: django.db.backends.mysql,NAME: django_file4,USER: root,PASSWORD: 123,HOST: 192.168.31.151,PORT: 3306,} }建立模型 class UploadF…

redis 集群 底层原理以及实操

前言 上篇我们讲解了哨兵集群是怎么回事 也说了对应的leader选举raft算法 也说了对应的slave节点是怎么被leader提拔的 主要是比较优先级 比较同步偏移量 比较runid等等 今天我们再说说,其实哨兵也有很多缺点 虽然在master挂了之后能很快帮我们选举出新的master 但是对于单个ma…

【Spring Cloud】分布式配置

目录 未来的开发场景为什么需要配置中心配置实时生效配置管理流程 开源配置中心基本介绍DisconfSpring Cloud ConfigApolloNacos Spring Cloud Config介绍配置管理工具体系 案例需求编写 Config Server1.创建配置文件2.创建项目3.添加依赖4.添加注解5.修改配置文件application.…

Python OCR 文字识别使用模型:读光-文字识别-行识别模型-中英-通用领域

介绍 什么是OCR&#xff1f; OCR是“Optical Character Recognition”的缩写&#xff0c;中文意为“光学字符识别”。它是一种技术&#xff0c;可以识别和转换打印在纸张或图像上的文字和字符为机器可处理的格式&#xff0c;如计算机文本文件。通过使用OCR技术&#xff0c;可…

在iPhone上恢复误删除的微信聊天记录

想知道是否可以恢复 微信iPhone 上误删除的消息&#xff1f;继续阅读以获取所有相关问题的答案。 过去几年&#xff0c;像微信这样的社交媒体应用为我们的生活增添了不少乐趣。它们让我们可以随时随地与朋友和家人保持联系。 微信是一个简化且热门的通信平台&#xff0c;它允…