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

Linux_6_文件查找与打包压缩

目录

  • 文件查找与打包压缩
  • 1文件查找
    • 1.1 locate
    • 1.2 find
      • 1.2.1 指定搜索目录层级
      • 1.2.2对每个目录先处理目录内的文件,再处理目录本身
      • 1.2.3根据文件名和inode查找
      • 1.2.4 根据属主、属组查找
      • 1.2.5根据文件类型查找
      • 1.2.6空文件或目录
      • 1.2.7组合条件
      • 1.2.8 排除日录
      • 1.2.9根据文件大小来查找
      • 1.2.10根据时间戳
      • 1.2.11 根据权限查找
      • 1.2.12 处理动作
    • 1.3参数换xargs
  • 2压缩和解压缩
    • 2.1 compress和uncompress
    • 2.2 gzip和gunzip
    • 2.3 bzip2和bunzip2
    • 2.4 xz和unxz
    • 2.5 zip和unzip
  • 3打包和解包
    • 3.1tar
    • 3.2split
    • 3.3cpio

文件查找与打包压缩

1文件查找

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

1.1 locate

locate 查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db
索引的构建是在系统较为空闲时自动进行(周期性任务),执行updatedb可以更新数据库
索引构建过程需要遍历整个根文件系统,很消耗资源

工作特点:

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

格式:


locate [OPTION]...[PATTERN].

常用选项

-i	不区分大小写的搜索
-n N 只列举前N个匹配项目
-r	使用基本正则表达式

例:

locate -n 3 -r '\.sh$'	使用正则表达式找到前三个以.sh结尾的文件
/boot/grub2/i386-pc/modinfo.sh
/data/scripts/BMI_cal.sh
/data/scripts/CHOOK_RABBIT.sh

1.2 find

find 是实时查找工具,通过遍历指定路径完成文件查找

工作特点:

  • ​ 查找速度略慢
  • ​ 精确查找
  • ​ 实时查找
  • ​ 查找条件丰富
  • ​ 可能只搜索用户具备读取和执行权限的目录

条式:

find [OPTION]... [查找路径] [查找条件] [处理动作]
  • 查找路径: 指定具体目标路径,默认为当前目录

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

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

1.2.1 指定搜索目录层级

-maxdepth level 最大搜索目录深度,指定目录下的文件为第1级
-mindepth level 最小搜索目录深度

例:

find /data -maxdepth 2	查找/data下的1级和2级目录(data本身不算1级)
/data
/data/.passwd.swp
/data/.passwd.swo
/data/.passwd.swn

1.2.2对每个目录先处理目录内的文件,再处理目录本身

-depth-d

例:

find /data
/data	目录
/data/.passwd.swp	文件
/data/.passwd.swo	文件
/data/.passwd.swn	文件find /data -depth
/data/.passwd.swp	文件	
/data/.passwd.swo	文件
/data/scripts/BMI_cal.sh	目录
/data/scripts/work_menu.sh	目录
/data/scripts/show_sys_info.sh

1.2.3根据文件名和inode查找

-name			文件名称	支持使用glob,如 * ? [] [^]通配符,要加""
-iname		文件名称	不区分字母大小写
-inum n		按inode号查找
-samefile name	相同inode号的文件
-links n 	链接数为n的文件
-regex"ATTERN"	以PATTERN匹配整个文件路径,而非文件名称

例:

find /etc -name "*passwd*"	通配符,要加""
/etc/pam.d/passwd
/etc/security/opasswd
/etc/passwd-#find / -inum 333 -ls	显示节点编号为333的文件与目录,-ls显示详细属性333      0 dr-xr-xr-x   9  root     root            0 Jul 25 15:11 /proc/98333      0 drwxr-xr-x   2  root     root            0 Jul 27 22:14 /sys/devices/system/memory/memory15/power

1.2.4 根据属主、属组查找

-user USERNAME	查找属主为指定用户(UID)的文件
-group GRPNAME	查找属组为指定组GID)的文件
-uid UserlD		查找属主为指定的UID号的文件
-gid GrouplD	查找属组为指定的GID号的文件
-nouser		查找没有属主的文件
-nogroup	查找没有属组的文件

1.2.5根据文件类型查找

-type TYPE

TYPE可以是以下形式

f: 普通文件
d: 目录文件
l: 符号链接文件
s: 套接字文件
b: 块设备文件
c: 字符设备文件
p: 管道文件

例:

find /data -type d -ls128      0 drwxr-xr-x   3  root     root          225 Jul 26 12:37 /data138      0 drwxr-xr-x   2  root     root          212 Jul 27 17:07 /data/scripts

1.2.6空文件或目录

-empty

例:

find /etc -empty -ls

1.2.7组合条件

-a-o-not !

例:

#find /etc/ -type d -o -type l |wc -l
665
#find /etc/ -type d -o -type l -ls|wc -l	#此时相当于-type l 与-ls中间加了个-a,而-a优先级高于-o,只显示这两个之间的文件
260
#find /etc/ \( -type d -o -type l \) -ls|wc -l	可以加上\(\)解决
665

德·摩根定律

  • ​ (非A) 或 (非B) = 非(A且B)
  • ​ (非A) 且 (非B) = 非(A或B)

示例:

!A -a !B = !(A -o B)
!A -o !B = !(A -a B)

例:

#find ! -user joyce -a ! -user root
./mysql/mysql-community-client-8.0.32-1.el8.x86_64.rpm
./mysql/mysql-community-client-debuginfo-8.0.32-1.el8.x86_64.rpm
./mysql/mysql-community-client-plugins-8.0.32-1.el8.x86_64.rpm
等价于:
#find ! \( -user joyce -o -user root \)
./mysql/mysql-community-client-8.0.32-1.el8.x86_64.rpm
./mysql/mysql-community-client-debuginfo-8.0.32-1.el8.x86_64.rpm
./mysql/mysql-community-client-plugins-8.0.32-1.el8.x86_64.rpm#find / \( -not -user root -a -not -name 'f*' \) -ls	查找属主不是root且名不是f开头的文件
#find / -not \( -user root -o  -name 'f*' \) -ls	等价

1.2.8 排除日录

-path	dir	 -a  -prune

例: 查找/下所有名字以.conf结尾的文件,但不查找/usr和/etc目录

#find /  \( -path '/usr' -o -path '/etc' \) -a -prune -o  -name "*.conf"
/boot/loader/entries/34f09f8df29847998143d560b2af24fb-4.18.0-348.el8.x86_64.conf
/boot/loader/entries/34f09f8df29847998143d560b2af24fb-0-rescue.conf
/run/NetworkManager/resolv.conf

1.2.9根据文件大小来查找

-size [+|-] #UNIT常用单位: k,M,G,c (byte) ,注意大小写敏感
#UNIT  (#-1,#]如	6k 表示(5k,6k]
-#UNIT [0,#-1]-6k 表示[0,5k]
+#UNIT (#,8)如	+6k 表示(6k,∞)

例:

#find / -size 10M 查找9M-10M的文件
/var/cache/dnf/epel-updateinfo.solvx
/usr/lib/firmware/qcom/sdm845/adsp.mbn
/usr/lib/modules/4.18.0-348.el8.x86_64/vmlinuz
/usr/share/fonts/google-noto-emoji/NotoColorEmoji.ttf

1.2.10根据时间戳

以“天”为单位

-atime[+|-]#	读时间#	[#,#+1)+#	[#+1,∞]-#	[O,#)
-mtime			修改时间
-ctime			属性修改时间

以“分钟”为单位

-amin
-mmin
-cmin

1.2.11 根据权限查找

-perm [/或-]MODEMODE	精确权限匹配,必须是MODE才行
/MODE	任何一类(u,g,o)对象的权限中只要能一位匹配即可,或关系,+ 从CentOs 7开始淘汰
-MODE	每一类对象都必须同时拥有指定权限,与关系
0 表示不关注

说明:

  • ​ find -perm 755 会匹配权限模式恰好是755的文件
  • ​ 只要当任意人有写权限时,find -perm /222就会匹配
  • ​ 只有当每个人都有写权限时,find -perm -222才会匹配
  • ​ 只有当其它人 (other) 有写权限时,find -perm -002才会匹配

例:

#find /data/ -perm -444 -ls| head -5	权限三个都得有读权限128      0 drwxr-xr-x   3  root     root          225 Jul 26 12:37 /data/132     12 -rw-r--r--   1  root     root        12288 Jul  7 20:41 /data/.passwd.swp136      4 -rw-r--r--   1  root     root         2640 Jul  8 16:58 /data/passwd
#find /data/ -perm /444 -ls| head -5	权限任意一个有4即可128      0 drwxr-xr-x   3  root     root          225 Jul 26 12:37 /data/132     12 -rw-r--r--   1  root     root        12288 Jul  7 20:41 /data/.passwd.swp135      4 --w-r--r--   1  root     root           51 Jul  8 10:46 /data/issue.bak
#find /data/ -perm /044 -ls| head -5	权限后两个任意一个有4即可128      0 drwxr-xr-x   3  root     root          225 Jul 26 12:37 /data/132     12 -rw-r--r--   1  root     root        12288 Jul  7 20:41 /data/.passwd.swp135      4 --w-r--r--   1  root     root           51 Jul  8 10:46 /data/issue.bak[root@CentOS8 ~]#find /data/ -perm -002	查找other里带有写权限的,和下面等价
[root@CentOS8 ~]#find /data/ -perm /002

1.2.12 处理动作

-print	默认的处理动作,显示至屏幕,不加也默认执行了这个隐藏动作
-ls		类似于对查找到的文件执行“s -I"命令
-fls file		查找到的所有文件的长格式信息保存至指定文件中,相当于ls > file
-delete	删除查找到的文件,并不交互,慎用
-ok CMD {}\;	对查找到的每个文件执行由COMMAND指定的命令,对于每个文件执行命令之前,都会交与式要求用户确认
-exec CMD {}\;	对查找到的每个文件执行由COMMAND指定的命令
{}		用于引用查找到的文件名称自身

例:

#ls
f1.txt  f2.txt  f3.txt  issue.bak  
#find /data/ -name 'f*' -ok  rm {} \;	find查找/data/下以f开头的文件并删除,{}代表前面find找到的文件,-ok开始标志\;表示结束标志
< rm ... /data/f1.txt > ? y
< rm ... /data/f2.txt > ? y		使用-exec不适应-ok,则不交互直接执行 
< rm ... /data/f3.txt > ?
#ls
f3.txt  issue.bak

1.3参数换xargs

xargs CMD 参数

例:

#find -name '*.txt'|xargs ls -Sl	将当前目录下找到的*.txt文件传递给ls作为参数以排序。(注意:ls不支持标准输入,无法使用管道传输 )
-rw-r--r--  1 root root 15 Jul 28 00:19 ./f1.txt
-rw-r--r--  1 root root 15 Jul 26 12:37 ./nianling.txt
-rw-r--r--. 1 root root 12 Jul 23 20:34 ./f3.txt
-rw-r--r--  1 root root  0 Jul 28 00:19 ./f2.txt#echo {1..10}
1 2 3 4 5 6 7 8 9 10
#echo {1..10}|xargs -n1
1
2
3
4
5
6
7
8
9
10
#echo {1..10}|xargs -n4
1 2 3 4
5 6 7 8
9 10#seq 10
1
2
3
4
5
6
7
8
9
10
#seq 10|xargs
1 2 3 4 5 6 7 8 9 10#echo user{1..5}|xargs -n1 useradd	批量创建账号,注意使用-n1将参数分成一行一行,因为useradd一次只能接受一个参数
#echo user{1..5}|xargs -n1 userdel -r	批量删除账号

当文件名为"a b" 或 "c d"时,xargs默认以空格 作为文件名分隔符,此时会出现找不到文件a文件b文件c文件d的问题
#find -print0 | xargs -0 rm 使用0(nul)作为分隔符,这样rm时不会出现问题

2压缩和解压缩

2.1 compress和uncompress

这两个工具来源于ncompress包,需要事先yum

格式

compress options [file ...]
uncompress file.Z 			解压缩

常用选项

-d	解压缩,相当于uncompress
-c	结果输出至标准输出,不删除原文件
-v	显示详情

例:

#compress -c file.txt > f.txt.Z  压缩file.txt至f.txt.Z,但保留原文件
#compress -dc f.txt.Z > f2.txt   解压缩f.txt.Z到f2.txt

zcat file.z 不显式解压缩的前提下查看文本文件内容,也可以重定向到文件中,即解压缩

2.2 gzip和gunzip

格式:

gzip [OPTION]... FILE
gunzip	FILE

常用选项:

-k 	keep,保留原文件,C8上才有
-d	解压缩,相当于gunzip
-c	结果输出至标准输出,保留原文件不改变
-#	指定压缩比,#取值为1-9,值越大压缩比越大

例:

#cat f4 | gzip > f4.gz	支持管道

2.3 bzip2和bunzip2

来自于bzip2包

格式:

bzip2 [OPTION]... FILE...
bunzip2	FILE

常用选项

-k	keep,保留原文件
-d	解压缩
-c	结果输出至标准输出,保留原文件不改变
-#  压缩比,取值1-9,默认为9

也可以预览,不过使用bzcat file,而不是zcat

2.4 xz和unxz

来自于xz包

格式:

xz [OPTION]... FILE...
unxz	FILE

常用选项

-k	keep,保留原文件
-d	解压缩
-c	结果输出至标准输出,保留原文件不改变
-#  压缩比,取值1-9,默认为6

也可以预览,不过使用xzcat file,而不是zcat或bxzcat

2.5 zip和unzip

zip 可以实现打包目录和多个文件并压缩成一个文件,但可能会丢失文件属性信息,如所有者和组信息,一般建议使用 tar 代替

zip [OPTION]... FILE_back_up  FILE
unzip	默认解包结果输出到屏幕显示,可以使用-p重定向到文件

选项:

-r	对目录进行打包
-d	dir	将文件解包到dir下
-p	管道

默认打包会包括目录本身,如果只想打包其中的文件,需要先进入目录中再进行打包

例:

#cat /var/log/messages | zip message -	(-表示接收前面的标准输出)adding: - (deflated 86%)
#ls
message.zip

总结:

  • 压缩比:xz > bz2 > gz > zip > compress
  • zip可以压缩目录,其他都只能压缩文件,且单个文件压缩成单个文件

3打包和解包

3.1tar

tar 即 Tape ARchive磁带归档,可以对目录和多个文件打包成一个,且可以压缩,并且保留文件属性不丢失,常用于备份,推荐使用

格式

tar [OPTION]...	FILE_backup FILE
c	打包 
t	预览 
x	解包 ,不需要加zjJ,通用,但系统上必须事先有安装其他命令
v	显示详细信息,过程
f	后跟要处理的文件
p	保留权限,不加也可以保留
-C	解压到指定位置
z	压缩成gz格式,间接调用gz命令,系统上必须事先有安装
j	压缩成bz2格式,同理
J	压缩成xz格式,同理
--exclude=FILE	排除文件
-T FILE	指定要打包的文件	
-x FILE	指定要排除的文件

注意:tar无法备份ACL权限的文件

默认打包会包括目录本身,如果只想打包其中的文件,需要先进入目录中再进行打包

(1) 创建归档,保留权限
tar -cpvf /PATH/FILE.tar FILE...(2) 追加文件至归档: 注: 不支持对压缩文件追加
tar -rf /PATH/FILE.tar FILE...(3)查看归档文件中的文件列表
tar -t -f /PATH/FILE.tar(4展开文档
tar xf /PATH/FILE.tar
tar xf /PATH/FILE.tar -C /PATH(5) 结合压缩工具实现: 归档并压缩
z	压缩成gz格式,间接调用gz命令,系统上必须事先有安装
j	压缩成bz2格式,同理
J	压缩成xz格式,同理

例:

#tar c /var | tar x -C /data/	相当于cp,将/var目录复制到/data/下,但速度更快

3.2split

split命令可以分割一个文件为多个

-b	指定分割大小
-d	指定文件后缀为数字,00 01 ...

例:

#split -b 1K shopping-table.sql /data/shopping-table
#ll /data -h
-rw-r--r--  1 root root 1.0K Jul 28 14:41 shopping-tableaa
-rw-r--r--  1 root root 1.0K Jul 28 14:41 shopping-tableab
-rw-r--r--  1 root root 1.0K Jul 28 14:41 shopping-tableac
-rw-r--r--  1 root root 1.0K Jul 28 14:41 shopping-tablead
-rw-r--r--  1 root root 1.0K Jul 28 14:41 shopping-tableae
-rw-r--r--  1 root root 1.0K Jul 28 14:41 shopping-tableaf
-rw-r--r--  1 root root 1.0K Jul 28 14:41 shopping-tableag
-rw-r--r--  1 root root 1.0K Jul 28 14:41 shopping-tableah
-rw-r--r--  1 root root 1002 Jul 28 14:41 shopping-tableai#cat	/data/shopping-table00* > /data	合并为一个

3.3cpio

  • cpio 是历史悠久的打包和解包工具,不过目前也已较少使用

  • cpio 命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio"或者“.tar”结尾的文件

格式:

cpio [选项] > 文件名或者设备名
cpio [选项] < 文件名或者设备名

常用选项:

-o	output模式,打包,对内存的数据输出到文件中,将标准输入传入的文件名打包后发送到标准输出
-i	input模式,解包,对磁盘里文件输入到内存,标准输入传入的打包文件名解包到当前目录
-t	预览,查看标准输入传入的打包文件中包含的文件列表
-o filename 输出到指定的归档文件名
-A	向已存在的归档文件中追加文件
-I filename 对指定的归档文件名解压
-F filename 使用指定的文件名替代标准输入或输出
-d	解包生成目录,在cpio还原时,自动建立目录
-v	显示打包过程中的文件名称

例:

#将etc目录备份
find ./etc -print | cpio -ov > bak.cpio#将/data内容追加bak.cpio
find /data | cpio -oA -F bak.cpio#内容预览
cpio -tv < etc.cpio#解包文件
cpio -idv < etc.cpio

相关文章:

Linux_6_文件查找与打包压缩

目录 文件查找与打包压缩1文件查找1.1 locate1.2 find1.2.1 指定搜索目录层级1.2.2对每个目录先处理目录内的文件&#xff0c;再处理目录本身1.2.3根据文件名和inode查找1.2.4 根据属主、属组查找1.2.5根据文件类型查找1.2.6空文件或目录1.2.7组合条件1.2.8 排除日录1.2.9根据文…...

JavaWeb_LeadNews_Day9-Redis实现用户行为

JavaWeb_LeadNews_Day9-Redis实现用户行为 网关配置点赞阅读不喜欢关注收藏文章详情-行为数据回显来源Gitee 网关配置 nacos: leadnews-app-gateway # 用户行为微服务 - id: leadnews-behavioruri: lb://leadnews-behaviorpredicates:- Path/behavior/**filters:- StripPrefi…...

IntelliJ IDEA2021.3.1 使用 MybatisCodeHelperPro插件

一、 下载 下载破解后的 MybatisCodeHelperPro 的 V3.2.2版本 V3.2.2-CSDN 或者 V3.2.2-Gitee 二、 应用 将下载下来的Zip文件 放到电脑上的某个位置 (最好放在Idea 管理插件的 plugins 下) 然后自从搜索 Idea如何从磁盘中应用插件 三、激活 由于已经破解过了 但是还是需要激活…...

el-date-picker 等 点击无反应不回显问题解决

如上图&#xff0c;编辑回显正常&#xff0c;但是时间控件在拖动过程中时间不会跟随改变。 解决办法&#xff1a; <el-date-picker input"onInput()" ...><el-input input"onInput()" ...>js中onInput() {this.$forceUpdate();},...

Ansible学习笔记12

playbook&#xff1a; playbook&#xff08;剧本&#xff09;&#xff1a;是ansible用于配置、部署和管理被控节点的剧本&#xff0c;用于Ansible操作的编排。 使用的是yaml格式&#xff0c;&#xff08;saltstack、elk、docker、docker-compose、k8s都会使用到yaml格式。&am…...

sqlmap中文文档

这是 sqlmap -hh的翻译&#xff0c;后续可能会对参数进行详细的示例 sqlmap 普通选项 -h, --help # 显示基本帮助信息并退出 -hh # 详细帮助信息 --versino # 版本 -v # 日志详细级别 0-60&#xff1a;只显示python错误以及严重的信息。1&#xff1a;同时显示基本信…...

【C++模拟实现】vector的模拟实现

【C模拟实现】vector的模拟实现 目录 【C模拟实现】vector的模拟实现vector模拟实现的标准代码vector模拟实现中的要点insert和erase会涉及到迭代器失效的问题vector深度剖析关于模版template< class InputIterator >使用memcpy拷贝问题 作者&#xff1a;爱写代码的刚子 …...

go学习part21(3)redis连接池

连接池 1.介绍 每次使用数据就就建立链接再关闭可以&#xff0c;但是如果有大量客户端频繁请求连接&#xff0c;大量创建连接和关闭会非常耗费资源。 所以就建立一个连接池&#xff0c;里面存放几个不关闭的连接&#xff0c;谁要用就分配给谁。 说明:通过Golang 对 Redis操…...

乐理-笔记

乐理笔记整理 1、前言2、认识钢琴键盘及音名3、升降号、还原号4、如何区分同一音名的不同键&#xff1f;5、各类音符时值的关系6、歌曲拍号7、拍号的强弱规律8、歌曲速度&#xff08;BPM&#xff09;9、附点音符10、三连音12、唱名与简谱数字13、自然大调&#xff08;白键&…...

java八股文面试[数据库]——B树和B+树的区别

B树是一种树状数据结构&#xff0c;它能够存储数据、对其进行排序并允许以O(logn)的时间复杂度进行查找、顺序读取、插入和删除等操作。 1、B树的特性 B树中允许一个结点中包含多个key&#xff0c;可以是3个、4个、5个甚至更多&#xff0c;并不确定&#xff0c;需要看具体的实…...

2、Nginx 安装

文章目录 2、Nginx 安装2.1 官网下载2.2 安装 nginx2.2.1 第一步2.2.2 第二步2.2.3 第三步&#xff0c;安装 nginx2.2.4 第四步&#xff0c;修改防火漆规则 【尚硅谷】尚硅谷Nginx教程由浅入深 志不强者智不达&#xff1b;言不信者行不果。 2、Nginx 安装 2.1 官网下载 nginx…...

最适合 AI 的 Python Web 框架

迷途小书童的 Note 读完需要 4分钟 速读仅需 2 分钟 1 简介 本文将介绍 Gradio 库&#xff0c;它是 Python 的一个 web 框架&#xff0c;可以帮助我们快速构建交互式 AI 应用。我们将了解 Gradio 的应用场景、基本原理、功能介绍&#xff0c;并通过一个代码示例来演示如何使用 …...

算法通关村第十八关——回溯

回溯很大感觉就是多重递归&#xff0c;在递归的题目中&#xff0c;例如斐波那契数列&#xff0c;只需要考虑当前情况以及他的子情况。而在回溯中&#xff0c;要进行很多次递归&#xff0c;并且要对条件进行处理。 LeetCode257:给你一个二叉树的根节点root,按任意顺序&#xff…...

使用kafka还在依赖Zookeeper,kraft模式了解下

Kafka的Kraft模式 概述 ​ Kafka是一种高吞吐量的分布式发布订阅消息系统&#xff0c;它可以处理消费者在网站中的所有动作流数据。其核心组件包含Producer、Broker、Consumer&#xff0c;以及依赖的Zookeeper集群。其中Zookeeper集群是Kafka用来负责集群元数据的管理、控制器…...

【100天精通Python】Day52:Python 数据分析_Numpy入门基础与数组操作

目录 1 NumPy 基础概述 1.1 NumPy的主要特点和功能 1.2 NumPy 安装和导入 2 Numpy 数组 2.1 创建NumPy数组 2.2 数组的形状和维度 2.3 数组的数据类型 2.4 访问和修改数组元素 3 数组操作 3.1 数组运算 3.2 数学函数 3.3 统计函数 4 数组形状操作 4.1 重塑数组形…...

Day01-Java基础语法

目录 1. 人机交互 1.1 什么是cmd&#xff1f; 1.2 如何打开CMD窗口&#xff1f; 1.3 常用CMD命令 1.4 CMD练习 1.5 环境变量 2. Java概述 1.1 Java是什么&#xff1f; 1.2下载和安装 1.2.1 下载 1.2.2 安装 1.2.3 JDK的安装目录介绍 1.3 HelloWorld小案例 2.3.1 …...

代码随想录二刷day06

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣242. 有效的字母异位词二、力扣349. 两个数组的交集三、力扣202. 快乐数四、力扣1两数之和 前言 一、力扣242. 有效的字母异位词 class Solution {pub…...

可扩展的Blender插件开发汇总

成熟的 Blender 3D 插件是令人惊奇的事情。作为 Python 和 Blender 的新手,我经常发现自己被社区中的人们创造的强大的东西弄得目瞪口呆。坦率地说,其中一些包看起来有点神奇,当自我怀疑或冒名顶替综合症的唠叨声音被打破时,很容易想到“如果有人能做出可以做xxx的东西就好…...

2023_Spark_实验二:IDEA安装及配置

一、下载安装包 链接&#xff1a;百度网盘 请输入提取码 所在文件夹&#xff1a;大数据必备工具--》开发工具(前端后端)--》后端 下载文件名称&#xff1a;ideaIU-2019.2.3.exe &#xff08;喜欢新版本也可安装新版本&#xff0c;新旧版本会存在部分差异&#xff09; IDEA …...

小赢科技,寻找金融科技核心价

如果说金融是经济的晴雨表&#xff0c;是通过改善供给质量以提高经济质量的切入口&#xff0c;那么金融科技公司&#xff0c;就是这一切行动的推手。上半年&#xff0c;社会经济活跃程度提高背后&#xff0c;金融科技公司既是奉献者&#xff0c;也是受益者。 8月29日&#xff0…...

NAT与代理服务器

1.DNS Domain Name System 是一整套从域名映射到IP的系统&#xff08;把域名转化为IP地址&#xff09; 2.域名简介 3.周鸿祎 傅盛 4.ICMP协议 用来网络故障排查原因 草图理解“位置” ping ICMP 是绕过TCP UDP传输协议的&#xff0c;没有端口号 traceroute 5.NAT技术 N…...

24.排序,插入排序,交换排序

目录 一. 插入排序 &#xff08;1&#xff09;直接插入排序 &#xff08;2&#xff09;折半插入排序 &#xff08;3&#xff09;希尔排序 二. 交换排序 &#xff08;1&#xff09;冒泡排序 &#xff08;2&#xff09;快速排序 排序&#xff1a;将一组杂乱无章的数据按一…...

Navicat16安装教程

注&#xff1a;因版权原因&#xff0c;本文已去除破解相关的文件和内容 1、在本站下载解压后即可获得Navicat16安装包和破解补丁&#xff0c;如图所示 2、双击“navicat160_premium_cs_x64.exe”程序&#xff0c;即可进入安装界面&#xff0c; 3、点击下一步 4、如图所示勾选“…...

【看表情包学Linux】初识文件描述符 | 虚拟文件系统 (VFS) 初探 | 系统传递标记位 | O_TRUNC | O_APPEND

爆笑教程《看表情包学Linux》&#x1f448; 猛戳订阅&#xff01;​​​​​ &#x1f4ad; 写在前面&#xff1a;通过上一章节的讲解&#xff0c;想必大家已对文件系统基本的接口有一个简单的了解&#xff0c;本章我们将继续深入讲解&#xff0c;继续学习系统传递标志位&…...

ssm+vue“魅力”繁峙宣传网站源码和论文

ssmvue“魅力”繁峙宣传网站源码和论文102 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身…...

Linux系统编程5(线程概念详解)

线程同进程一样都是OS中非常重要的部分&#xff0c;线程的应用场景非常的广泛&#xff0c;试想我们使用的视频软件&#xff0c;在网络不是很好的情况下&#xff0c;通常会采取下载的方式&#xff0c;现在你很想立即观看&#xff0c;又想下载&#xff0c;于是你点击了下载并且在…...

leetcode645. 错误的集合(java)

错误的集合 题目描述优化空间代码演示 题目描述 难度 - 简单 LC645 - 错误的集合 集合 s 包含从 1 到 n 的整数。不幸的是&#xff0c;因为数据错误&#xff0c;导致集合里面某一个数字复制了成了集合里面的另外一个数字的值&#xff0c;导致集合 丢失了一个数字 并且 有一个数…...

Pytest参数详解 — 基于命令行模式

1、--collect-only 查看在给定的配置下哪些测试用例会被执行 2、-k 使用表达式来指定希望运行的测试用例。如果测试名是唯一的或者多个测试名的前缀或者后缀相同&#xff0c;可以使用表达式来快速定位&#xff0c;例如&#xff1a; 命令行-k参数.png 3、-m 标记&#xff0…...

【python爬虫】3.爬虫初体验(BeautifulSoup解析)

文章目录 前言BeautifulSoup是什么BeautifulSoup怎么用解析数据提取数据 对象的变化过程总结 前言 上一关&#xff0c;我们学习了HTML基础知识&#xff0c;知道了HTML是一种用来描述网页的语言&#xff0c;又了解了HTML的基本结构。 认识了HTML中的常见标签和常见属性&#x…...

【Three.js + Vue 构建三维地球-Part One】

Three.js Vue 构建三维地球-Part One Vue 初始化部分Vue-cli 安装初始化 Vue 项目调整目录结构 Three.js 简介Three.js 安装与开始使用 实习的第一个任务是完成一个三维地球的首屏搭建&#xff0c;看了很多的案例&#xff0c;也尝试了用 Echarts 3D地球的模型进行构建&#xf…...