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

LiangGaRy-学习笔记-Day19

1、回顾知识

1.1、文件系统说明

xfs与ext4文件系统

  • CentOS7以上:默认的就是XFS文件系统
    • xfs 使用的就是restore、dump等工具
  • CentOS6默认的就是ext4文件系统
    • extundelete工具就是用于ext4系统

1.2、回顾Linux文件系统

Linux文件系统是由三个部分组成

  • inode
  • 文件名
  • block块

Linux:文件系统类型

  • ext2/ext3/ext4
  • xfs

最小的存储单位就是扇区,每个扇区就是512字节–>就是0.5KB

多个扇区组成一个block–>4Kb

Inode包含的信息

  • stat+ 文件可以查看
  • 1个inode节点–>128字节
  • 查看inode :
    • ls -i
  • 查看inode总数:
    • df -i
  • 查找文件大小为0 的文件
    • find / -type f -size 0 -exec rm {} ;
[root@Node1 ~]# stat install.logFile: `install.log'Size: 26505     	Blocks: 64         IO Block: 4096   regular file
Device: 803h/2051d	Inode: 784899      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2023-05-30 06:32:19.370999940 +0800
Modify: 2023-05-30 06:35:25.849999847 +0800
Change: 2023-05-30 06:35:29.599999845 +0800#查看文件的inode号
[root@Node1 ~]# ls -i  install.log
784899 install.log#查看系统的inode情况
[root@Node1 ~]# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda3            1160992   52142 1108850    5% /
tmpfs                 238344       1  238343    1% /dev/shm
/dev/sda1              76912      39   76873    1% /boot

2、文件的硬链接和软链接

2.1、硬链接说明

硬链接:

  • 硬链接指通过索引节点来进行链接
  • inode是可以对应多个文件名的
  • 多个文件名指向同一个inode号就是硬链接
  • 允许一个文件拥有多个有效的路径,有防止误操作删除的作用
  • 多个文件名共用一个inode号;删除只是修改链接数;
  • 如果inode号为0了,就是释放了inode号
  • 硬链接是不知作用于目录
  • 硬链接也不能跨分区进行创建

硬链接总结:

  • 相当于复制,功能强大点,可以同步更新文件
  • 语法:ln + 源文件 + 链接文件
  • 不支持跨分区链接
  • 不通的文件名执行同一个inode号
  • 删除文件等于删除inode的链接数
  • 只能对文件操作,不能对目录操作

问题:刚创建的一个目录,链接数就是2,原因是什么?

  • 刚创建的目录,里面隐藏了两个目录;一个是.另外一个就是…
#创建一个目录
[root@Node1 ~]# mkdir  /test/
[root@Node1 ~]# cd /test/
[root@Node1 test]# ls#创建一个文件aa.txt
[root@Node1 test]# echo aaaaaaaaaaaaa >> aa.txt#然后直接创建一个硬链接
[root@Node1 test]# ln aa.txt  aa.txt.hard#查看两个文件的信息
[root@Node1 test]# ll aa.txt aa.txt.hard 
-rw-r--r--. 2 root root 14 Jun  3 09:54 aa.txt
-rw-r--r--. 2 root root 14 Jun  3 09:54 aa.txt.hard#使用diff命令来对比两个文件也没问题
[root@Node1 test]# diff aa.txt aa.txt.hard #使用md5sum命令对比两个文件也没有问题
[root@Node1 test]# md5sum aa.txt aa.txt.hard 
a628dac4de20bc12b5eef5ad614cfccb  aa.txt
a628dac4de20bc12b5eef5ad614cfccb  aa.txt.hard#随便向一个文件取追加内容,两个文件都同事增加
[root@Node1 test]# echo "123456" >> aa.txt.hard 
[root@Node1 test]# 
[root@Node1 test]# cat aa.txt
aaaaaaaaaaaaa
123456#修改权限,文件也会同时修改
[root@Node1 test]# chmod 7777 aa.txt
[root@Node1 test]# ll aa.txt aa.txt.hard 
-rwsrwsrwt. 2 root root 21 Jun  3 09:58 aa.txt
-rwsrwsrwt. 2 root root 21 Jun  3 09:58 aa.txt.hard#新创建的目录中,里面就隐藏了两个目录
[root@Node1 ~]# mkdir aa
[root@Node1 ~]# cd aa
[root@Node1 aa]# ls -a
.  ..

2.2、软链接说明

软链接说明:

  • 软链接:相当于windows的快捷方式;
  • 另外一种称之为符号链接(Symbolic Link)–>这种也叫软链接
  • 语法:ln + s 源文件 + 链接文件
  • 源文件删除了,链接文件就失效
  • 可以对目录进行链接,也可以跨分区链接
    • 注意:软链接跨分区一定写上绝对路径
#准备素材
[root@Node1 ~]# cp -a /etc/passwd .
[root@Node1 ~]# ls
passwd#创建软链接
[root@Node1 ~]# ln -s passwd  passwd.soft
[root@Node1 ~]# ll
total 4
-rw-r--r-- 1 root root 1019 Jun 26 11:49 passwd
lrwxrwxrwx 1 root root    6 Jul  5 11:09 passwd.soft -> passwd#如果删除源文件,链接文件失效
[root@Node1 ~]# rm -rf passwd#链接文件显示红色文件闪烁
[root@Node1 ~]# ll 
total 0
lrwxrwxrwx 1 root root 6 Jul  5 11:09 passwd.soft -> passwd#软链接文件可以跨分区链接-->但是跨分区需要协商绝对路径
[root@Node1 ~]# cd /boot/
[root@Node1 boot]# ln -s /boot/grub /root/grub
[root@Node1 boot]# ll /root/grub/

3、Inode说明

3.1、Inode的特殊作用

inode号和文件名是分开的

  • 假设文件名含有特殊符号;无法正常删除?
    • 可以直接删除inode号;就等于删除文件
  • 移动文件或者重命名的时候,只需要改变文件名,不会影响到inode
  • 系统无法从inode号码来得知文件名

为何每次修改完服务器配置文件后,都需要重新加载一下配置文件?

  • 修改了配置文件的内容,inode号就会改变,因此要重新读取一下文件的inode就可以;
#有些文件是特殊字符,如果要删除比较麻烦,可以通过inode号删除
[root@Node1 ~]# find /root  inum 33574987 -exec rm -i {} \;#修改文件名并不会影响inode
[root@Node1 ~]# echo 111 >> aa.txt
[root@Node1 ~]# ls -i
33574978 aa.txt
[root@Node1 ~]# mv aa.txt bb.txt
[root@Node1 ~]# ls -i
33574978 bb.txt

4、关于文件系统的实战

4.1、实战:磁盘有空间,但无法创建文件?

实战:解决磁盘有空间,但是没法创建文件–>修复服务器的文件系统;

  • 面试:在公司中,遇到过棘手的文件是什么?

实战场景:

  • 在⼀台配置较低的Linux服务器(内存、硬盘⽐较⼩)的/data分区内创建⽂件时,系统提示磁盘空间不⾜,⽤df -h命令查看了⼀下磁盘使⽤情况,发现/data分区只使⽤了80%,还有1.9G的剩余空间,但是⽆法创建新的⽂件。当时使⽤的是root⽤户。服务器没有被⿊。
#首先查看一下分区状态
[root@Node1 ~]# df -h 
..............#再查看一下inode情况
[root@Node1 ~]# df -i
Filesystem               Inodes IUsed   IFree IUse% Mounted on
/dev/mapper/centos-root 9703424 32301 9671123    1% /
............#问题分析:-	如果一个目录中存在数量非常多的小字节缓存文件,占用的Block 不多,但是占用了很多的inode节点-	可以创建一个文件夹/bak/用于备份-->然后在删除文件,释放一些inode号-	可以再创建一个分区,把这些文件都存放在这个里边-	释放inode就可以了;

4.2、实战:修复文件系统

系统启动出现了control-D报错;如下图

通常的修复手段:

  • fsck -f -y /dev/sda1 #引导分区文件系统修复
    • -f:代表强制检查
    • -y:对于所有的交互式提问都是yes的回答
  • fsck -f -y /dev/sda3
  • reboot重启
#尝试强制修复分区
[root@Node1 ~]# fsck -f -y /dev/sda2#然后重启
[root@Node1 ~]# reboot 

4.3、实战:xfs系统文件误删除修复

extundelete工具:是用于修复ext4文件类型的文件;需要提前备份

而xfs类型的文件就可以使用xfsdump(备份)与xfsrestore工具进行恢复

#安装xfsdump工具
[root@Node1 ~]# yum -y install xfsdump

xfsdump工具:

  • 作用:用于备份xfs文件系统的文件
  • 原理:
    • xfsdump按照inode顺序备份一个xfs文件系统
    • xfsdump的备份级别有两种:
      • 0:表示完全备份–>默认选项
      • 1-9:表示增量备份;
  • 选项:
    • -f:指定备⽂件⽬录 ;这里指定的就是恢复文件的位置,存放恢复后文件的路径
    • -L:设定标签
    • -M:设备标签
    • -s:备份单个⽂件 -s 不能直接跟路径
  • 注意事项:
    • 不支持没有挂载的文件系统,只能备份已经挂载
    • 需要使用root权限
    • 只能对xfs
    • 备份好的数据只能通过xfsrestore解析

实验思路:

  • 创建磁盘
#虚拟机-->设置-->添加硬盘-->一直下一步下一步-->然后下一步
  • 分区
#对sdb进行分区
[root@Node1 ~]# fdisk  /dev/sdb#创建新分区
Command (m for help): n
Partition number (4-128, default 4): 
First sector (34-41943006, default 10487808): 
Last sector, +sectors or +size{K,M,G,T,P} (10487808-41943006, default 41943006): 
Created partition 4#保存退出
Command (m for help): w
  • 格式化
  • 挂载使用
[root@Node1 ~]# mkfs.xfs  -f /dev/sdb4
meta-data=/dev/sdb4              isize=512    agcount=4, agsize=982975 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=3931899, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0#创建目录-->然后挂在使用
[root@Node1 ~]# mkdir /test
[root@Node1 ~]# mount /dev/sdb4  /test/
  • 创建数据
[root@Node1 ~]# cd /test/
[root@Node1 test]# echo 11111111 >> aa.txt
  • xfsdump备份
#备份数据-->-f指定备份的名字
[root@Node1 test]# xfsdump  -f /test/dump_sdb4 /dev/sdb4
.............#指定标签名字
please enter label for this dump session (timeout in 300 sec)-> dump_sdb4  
.............#指定备份名
please enter label for media in drive 0 (timeout in 300 sec)-> sdb4
..........#看到以下代表备份成功
xfsdump:   stream 0 /test/dump_sdb4 OK (success)
xfsdump: Dump Status: SUCCESS#查看一下备份好的数据
[root@Node1 test]# ls 
aa.txt  dump_sdb4
[root@Node1 test]# ls -l dump_sdb4 
-rw-r--r-- 1 root root 22200 Jul  5 14:28 dump_sdb4
  • 模拟删除数据
[root@Node1 test]# rm -rf aa.txt 
  • xfsrestore工具恢复
[root@Node1 test]# xfsrestore -f /test/dump_sdb4  /root/
xfsrestore:   stream 0 /test/dump_sdb4 OK (success)
xfsrestore: Restore Status: SUCCESS#再查看数据是否存在即可
[root@Node1 test]# cat /root/aa.txt 
11111111

4.4、系统禁ping操作

简单地理解就是:你去ping一个IP;然后没有任何的返回记录;

  • 云主机:无法ping它的IP
  • 这个操作有临时的,和永久的操作
#正常情况下我们是可以ping通本机的
[root@Node1 ~]# ping -c2 -w2 192.168.75.131 
PING 192.168.75.131 (192.168.75.131) 56(84) bytes of data.
64 bytes from 192.168.75.131: icmp_seq=1 ttl=64 time=0.031 ms
64 bytes from 192.168.75.131: icmp_seq=2 ttl=64 time=0.021 ms
.......#临时进制ping通本机
[root@Node1 ~]# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all#然后再ping发现就没法ping通
[root@Node1 ~]# echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all 
[root@Node1 ~]# ping  127.0.0.1#把这个规则写入配置文件可以达到永久禁ping操作
[root@Node1 ~]# vim /etc/sysctl.conf ...........#添加这一行
net.ipv4.icmp_echo_ignore_all=1[root@Node1 ~]# sysctl -p
fs.file-max = 51200
net.ipv4.icmp_echo_ignore_all = 1
[root@Node1 ~]# ping  127.0.0.1#结合防火墙iptables也能实现
[root@Node1 ~]# iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP

5、ACL权限说明

一个需求:

  • 一个项目不同部门;共同操作一个目录
    • liangjiawei:开发有开发的权限
    • zhangsan:又有不同的权限
    • lisi:也有对应的权限
#进入一个目录
[root@Node1 ~]# cd /test/#查看目录的权限
[root@Node1 test]# ls -ld /test/
drwxr-xr-x 2 root root 23 Jul  5 14:32 /test/#创建一个测试用户组,然后把三个用户都丢入这个组里边
[root@Node1 test]# groupadd  test
[root@Node1 test]# useradd  -G test liangjiawei
[root@Node1 test]# useradd  -G test zhangsan
[root@Node1 test]# useradd  -G test lisi#把测试目录也归纳到test组里边
[root@Node1 test]# chgrp  test /test/#然后设置一个gid
[root@Node1 test]# chmod 2770 /test/
[root@Node1 test]# ll -d /test/
drwxrws--- 2 root test 23 Jul  5 14:32 /test/

这里就引入一个概念:

  • zhangsan可以读取内容,但是不能修改内容
  • 如果想要实现这个权限就可以引入一个acl的权限概念
    • zhangsan 加⼊组,删除权限
    • 2775 进去看⽂件,但是别的⽤户也能进去
    • 这里足以说明正常的权限是没法满足的;因此需要引入一个ACL权限的概念
  • ACL可以针对几个用法
    • 使⽤者 (user):可以针对使⽤者来设置权限;
    • 群组 (group):针对群组为对象来设置其权限;
    • 默认属性 (mask):还可以针对在该⽬录下在创建新⽂件/目录时,规范新数据的默认权限;

setfacl命令

  • 作用:设置某个目录/文件的ACL权限
  • 语法:setfacl + 选项 user:用户名:权限(rwx) 文件/目录
  • 选项:
    • -m:设置后续的acl参数给文件使用
    • -x:删除acl参数
    • -b:移除所有的参数
    • -k:移除默认的
    • -R:递归ACL权限
    • -d:设置默认的参数,只有对目录有效

getfacl命令

  • 作用:查看目录的规定

    语法:getfacl + 文件名/目录名

#接上面的实验#给zhangsan设置acl权限
[root@Node1 test]# setfacl  -m user:zhangsan:r-- /test/#查看一下acl权限
[root@Node1 test]# getfacl  /test/
getfacl: Removing leading '/' from absolute path names
# file: test/
# owner: root
# group: test
# flags: -s-
user::rwx
user:zhangsan:r--
group::rwx
mask::rwx
other::---#给组设置acl权限
[root@Node1 test]# setfacl -m group:test:rwx /test/
[root@Node1 test]# getfacl /test/
getfacl: Removing leading '/' from absolute path names
# file: test/
# owner: root
# group: test
# flags: -s-
user::rwx
user:zhangsan:r--
group::rwx
group:test:rwx
mask::rwx
other::---#给liangjiawei用户设置rw权限
[root@Node1 test]# setfacl  -m user:liangjiawei:rw- /test/#清除test组的acl权限
[root@Node1 test]# setfacl -x group:test:rwx /test/

相关文章:

LiangGaRy-学习笔记-Day19

1、回顾知识 1.1、文件系统说明 xfs与ext4文件系统 CentOS7以上:默认的就是XFS文件系统 xfs 使用的就是restore、dump等工具 CentOS6默认的就是ext4文件系统 extundelete工具就是用于ext4系统 1.2、回顾Linux文件系统 Linux文件系统是由三个部分组成 inode文…...

智能指针(1)

智能指针(1) 概念内存泄漏指针指针概念RAII使用裸指针存在的问题 智能指针使用分类unique(唯一性智能指针)介绍智能指针的仿写代码理解删除器 概念 内存泄漏 内存泄漏:程序中已动态分配的堆内存由于某些原因而未释放…...

Steemit 会颠覆 Quora/知乎 甚至 Facebook 吗?

Steemit是基于区块链技术的社交媒体平台,其独特的激励机制吸引了众多用户。然而,是否能够真正颠覆Quora、知乎甚至Facebook这些已经成为社交巨头的平台,仍然存在着许多未知因素。本文将探讨Steemit的优势和挑战,以及其在社交领域中…...

002Mybatis初始化引入

引入依赖 <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId> </dependency> 自动检测工程中的DataSource创建并注册SqlSessionFactory实例创建并注册SqlSessionTemplate实例自…...

系统架构师之高内聚低耦合

一、概念&#xff1a; 标记耦合&#xff08;Stamp Coupling&#xff09;和数据耦合&#xff08;Data Coupling&#xff09;是软件设计中两种不同的耦合类型&#xff0c;它们之间的区别如下&#xff1a; 标记耦合&#xff1a;标记耦合是指模块之间通过参数传递标记或标识符来进…...

Netty核心源码剖析(二)

1.Netty接受请求过程源码剖析 1>.从之前的Netty启动过程源码剖析中,我们得知服务器最终注册了一个Accept事件等待客户端的连接.我们也知道,NioServerSocketChannel将自己注册到了bossGroup单例线程池(reactor线程)上,也就是EventLoop; 2>.先简单说下EventLoop的逻辑,Ev…...

「C/C++」C/C++ Lamada表达式

✨博客主页&#xff1a;何曾参静谧的博客 &#x1f4cc;文章专栏&#xff1a;「C/C」C/C程序设计 相关术语 Lambda表达式&#xff1a;是C11引入的一种函数对象&#xff0c;可以方便地创建匿名函数。与传统的函数不同&#xff0c;Lambda表达式可以在定义时直接嵌入代码&#xff…...

bug(Tomcat):StandardContext.startInternal 由于之前的错误,Context[/day01]启动失败

引出 项目启动失败&#xff0c;一个困扰了一上午的bug 报错信息 org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到 org.apache.catalina.core.StandardContext.startInternal 由于之前的错误…...

Java性能权威指南-总结6

Java性能权威指南-总结6 垃圾收集入门垃圾收集概述GC算法选择GC算法 垃圾收集入门 垃圾收集概述 GC算法 JVM提供了以下四种不同的垃圾收集算法: Serial垃圾收集器 Serial垃圾收集器是四种垃圾收集器中最简单的一种。如果应用运行在Client型虚拟机(Windows平台上的32位JVM或…...

群的定义及性质

群的定义 设 < G , ⋅ > \left<G,\cdot\right> ⟨G,⋅⟩为独异点&#xff0c;若 G G G中每个元素关于 ⋅ \cdot ⋅都是可逆的&#xff0c;则称 < G , ⋅ > \left<G,\cdot\right> ⟨G,⋅⟩为群 由于群中结合律成立&#xff0c;每个元素的逆元是唯一的 …...

mac电脑git clone项目时报错证书过期和权限被拒绝

mac电脑使用git clone命令克隆项目时&#xff0c;一开始一直提示证书过期 SSL certificate problem: certificate has expired 执行以下代码关掉验证后&#xff0c;解决了这个问题 找到git目录 Git\git-cmd输入命令跳转到bin目录&#xff0c;cd bin输入命令运行git.exe执行关…...

【AIGC】Photoshop AI Beta版本安装使用(永久免费)

AIGC 大爆发 Adobe近日宣布&#xff0c;Photoshop&#xff08;测试版&#xff09;应用程序发布了生成式AI绘图&#xff0c;这是世界上第一个创意和设计工作流程的副驾驶&#xff0c;为用户提供了一种神奇的新工作方式。生成式AI绘图由Adobe Firefly提供支持&#xff0c;Adobe的…...

01 云原生生态系统解读

云计算的技术革命 互联网时代的历程 云计算到底是什么 云计算历程 云平台的优缺点 优势 稳定性&#xff1a;云平台大量资源&#xff0c;分布式集群部署&#xff0c;保障服务永不宕机&#xff0c;几个9弹性扩展&#xff1a;按需索取&#xff0c;一键秒级开通需要的资源安全性&…...

Java——Java易错选择题复习(2)(计算机网络)

1. 下面关于源端口地址和目标端口地址的描述中&#xff0c;正确的是&#xff08; &#xff09; A. 在TCP/UDP传输段中&#xff0c;源端口地址和目的端口地址是不能相同的 B. 在TCP/UDP传输段中&#xff0c;源端口地址和目的端口地址必须是相同的 C. 在TCP/UDP传输段中&#xff…...

【HTML5系列教程】

《HTML5系列教程》目录大纲&#xff1a; 介绍 内容包括HTML简介、服务器的概念、B/S、C/S软件架构、前端与后端的开发内容、HTML发展历程、浏览器内核介绍、Web标准、WebStorm工具的使用、WebStorm常用快捷键、HTML常用标签 如&#xff1a;文本标签(span)、排版标签(div/p/h…...

二、电压源、电流源、受控源

点我回到目录 目录 理想电压源 理想电流源 受控源 电流源做功问题 电压源做功问题 理想电压源 •定义&#xff1a;两端电压保持定值或一定的时间函数&#xff0c;且电压值与流过它的电流i无关 •特点&#xff1a;理想电压源两端的电压由本身决定&#xff0c;与外电路无关…...

骨传导是哪个意思,推荐几款性能优的骨传导耳机

​骨传导耳机是通过头部骨迷路传递声音&#xff0c;而不是直接通过耳膜的振动来传递声音。与传统的入耳式耳机相比&#xff0c;骨传导耳机不会堵耳朵&#xff0c;在跑步、骑车等运动时可以更好的接收外界环境音&#xff0c;保护听力&#xff0c;提升安全性。此外&#xff0c;骨…...

利用Taro打造灵活的移动App架构

最近公司的一些项目需要跨端框架&#xff0c;技术老大选了Taro&#xff0c;实践了一段时间下来&#xff0c;愈发觉得Taro是个好东西&#xff0c;所以在本篇文章中稍微介绍下。 什么是Taro&#xff1f; Taro&#xff08;或称为Taro框架&#xff09;是一种用于构建跨平台应用程…...

(转载)基于模拟退火算法的TSP问题求解(matlab实现)

1 理论基础 1.1 模拟退火算法基本原理 模拟退火(simulated annealing,SA)算法的思想最早是由Metropolis等提出的。其出发点是基于物理中固体物质的退火过程与一般的组合优化问题之间的相似性。模拟退火法是一种通用的优化算法&#xff0c;其物理退火过程由以下三部分组成&am…...

splitpcap 使用说明

背景 当PCAP原始文件特别巨大的时候&#xff0c;整个文件直接载入内存是相当耗时的&#xff0c;于是一个简单的想法是将大的PCAP切分成若干小PCAP。对于这个任务&#xff0c;现有工具splitcap是可以完成的。无论是按照主机对、还是按照五元组信息切分&#xff0c;splitcap都会…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

ZYNQ学习记录FPGA(一)ZYNQ简介

一、知识准备 1.一些术语,缩写和概念&#xff1a; 1&#xff09;ZYNQ全称&#xff1a;ZYNQ7000 All Pgrammable SoC 2&#xff09;SoC:system on chips(片上系统)&#xff0c;对比集成电路的SoB&#xff08;system on board&#xff09; 3&#xff09;ARM&#xff1a;处理器…...

jdbc查询mysql数据库时,出现id顺序错误的情况

我在repository中的查询语句如下所示&#xff0c;即传入一个List<intager>的数据&#xff0c;返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致&#xff0c;会导致返回的id是从小到大排列的&#xff0c;但我不希望这样。 Query("SELECT NEW com…...

leetcode_69.x的平方根

题目如下 &#xff1a; 看到题 &#xff0c;我们最原始的想法就是暴力解决: for(long long i 0;i<INT_MAX;i){if(i*ix){return i;}else if((i*i>x)&&((i-1)*(i-1)<x)){return i-1;}}我们直接开始遍历&#xff0c;我们是整数的平方根&#xff0c;所以我们分两…...

循环语句之while

While语句包括一个循环条件和一段代码块&#xff0c;只要条件为真&#xff0c;就不断 循环执行代码块。 1 2 3 while (条件) { 语句 ; } var i 0; while (i < 100) {console.log(i 当前为&#xff1a; i); i i 1; } 下面的例子是一个无限循环&#xff0c;因…...

7种分类数据编码技术详解:从原理到实战

在数据分析和机器学习领域&#xff0c;分类数据&#xff08;Categorical Data&#xff09;的处理是一个基础但至关重要的环节。分类数据指的是由有限数量的离散值组成的数据类型&#xff0c;如性别&#xff08;男/女&#xff09;、颜色&#xff08;红/绿/蓝&#xff09;或产品类…...

汇编语言学习(三)——DoxBox中debug的使用

目录 一、安装DoxBox&#xff0c;并下载汇编工具&#xff08;MASM文件&#xff09; 二、debug是什么 三、debug中的命令 一、安装DoxBox&#xff0c;并下载汇编工具&#xff08;MASM文件&#xff09; 链接&#xff1a; https://pan.baidu.com/s/1IbyJj-JIkl_oMOJmkKiaGQ?pw…...