云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】

云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】

目录

  • 云计算 Linux Rocky day05【rpm、yum、history、date、du、zip、ln】
    • 1.RPM包的一般安装位置
    • 2.软件名和软件包名
    • 3.查询软件信息
    • 4.查询软件包
    • 5.导入红帽签名信息,解决查询软件包信息报错
    • 6.利用rpm安装软件
    • 7.引入Yum
    • 8.history历史命令
    • 9.date查看/调整系统日期时间
    • 10.du 统计目录占用硬盘的空间
    • 11.zip归档工具,跨平台(Windows与Linux)
    • 12.链接ln
      • 12.1 软链接
      • 12.2 硬链接
      • 12.3 软链接和硬链接的区别
    • 13.获取命令帮助
    • 14.课后案例

1.RPM包的一般安装位置

在这里插入图片描述

2.软件名和软件包名

软件名:firefox
软件包名:firefox-91.9.0-1.el8_5.x86_64.rpm

3.查询软件信息

在这里插入图片描述
在这里插入图片描述

[root@localhost /]# rpm  -qa    #当前系统中所有已安装的软件包
[root@localhost /]# rpm  -q   firefox    #查看firefox是否安装
[root@localhost /]# rpm  -q   httpd     #httpd构建Web服务器软件  
未安装软件包 httpd            
[root@localhost /]# rpm  -q   bash         
[root@localhost /]# rpm  -qa  |   grep   firefox
[root@localhost /]# rpm  -qa  |    wc   -l

查询软件信息(参数是软件名)

[root@localhost /]# rpm  -qi   firefox       #查询软件信息
[root@localhost /]# rpm  -ql   firefox   #查询软件安装了哪些内容(安装清单)
[root@localhost /]# rpm  -ql    firefox   |   less      [root@localhost /]# rpm  -qi   bash       #查询软件信息
[root@localhost /]# rpm  -ql   bash   #查询软件安装了哪些内容(安装清单)
[root@localhost /]# rpm  -ql    bash   |   less      

查询某个目录/文件是哪个RPM包带来的
格式:rpm -qf [文件路径]…
即使目标文件被删除,也可以查询

[root@localhost ~]# which  vim  #查询命令对应的程序文件
/usr/bin/vim                
[root@localhost ~]# rpm  -qf   /usr/bin/vim
vim-enhanced-8.0.1763-16.el8_5.13.x86_64
[root@localhost ~]# rpm  -q   vim-enhanced
vim-enhanced-8.0.1763-16.el8_5.13.x86_64
[root@localhost ~]# rpm  -qf   /usr/sbin/poweroff
[root@localhost ~]# rpm  -qf   /usr/sbin/ifconfig

4.查询软件包

查询软件包(参数软件包名)

]# rpm  -q   vsftpd     #查询vsftpd软件是否安装
]# ls  /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm 

查询软件包的安装清单:

]# rpm -qpl  /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm

查询软件包信息

]# rpm -qpi  /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm

5.导入红帽签名信息,解决查询软件包信息报错

导入红帽签名信息

]# rpm  --import   /etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial

查询软件包信息(没有警告输出)

]# rpm -qpi  /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm

6.利用rpm安装软件

]# rpm  -q  vsftpd     
]# rpm -ivh  /mnt/AppStream/Packages/v/vsftpd-3.0.3-35.el8.x86_64.rpm
]# rpm  -q  vsftpd    #查看是否安装成功]# rpm  -evh  vsftpd   #卸载软件
]# rpm  -q  vsftpd      #查看是否卸载成功

在这里插入图片描述
在这里插入图片描述

7.引入Yum

在这里插入图片描述
在这里插入图片描述
Yum软件:自动解决依赖关系,安装软件
yum命令:主要用于安装与卸载
rpm命令:主要用于查询

软件仓库:1.众多的软件包 2.仓库清单(仓库数据文件)
本地Yum仓库:由本机直接提供软件仓库

]# mkdir  /etc/yum.repos.d/bak
]# mv  /etc/yum.repos.d/*.repo   /etc/yum.repos.d/bak
]# ls  /etc/yum.repos.d/
]# vim     /etc/yum.repos.d/haha.repo  
[haha]             #仓库的标识
name=xixi         #仓库描述信息,可以省略
baseurl=file:///mnt/AppStream   #指定仓库位置file://表示本地为服务端
enabled=1         #仓库是否启用,1表示启用,可以省略
gpgcheck=0       #是否检测软件包红帽签名信息,不检测红帽签名信息
[xixi]              #仓库的标识
name=xixi         #仓库描述信息,可以省略
baseurl=file:///mnt/BaseOS   #指定仓库位置file://表示本地为服务端
enabled=1         #仓库是否启用,1表示启用,可以省略
gpgcheck=0       #是否检测软件包红帽签名信息,不检测红帽签名信息
]# yum  repoinfo   #列出当前系统识别的软件仓库
]# yum  -y  install  httpd    #测试安装软件

总结:本地Yum仓库排除错误
1.没有挂载光驱设备
2./etc/yum.repos.d目录下的仓库配置文件内容写错
3./etc/yum.repos.d目录下,错误的配置文件影响

Yum仓库使用:
安装软件

[root@localhost ~]# yum   -y   install  httpd
[root@localhost ~]# rpm   -q   httpd  #检测是否安装成功[root@localhost ~]# yum   -y   install   bind-chroot
[root@localhost ~]# rpm   -q   bind-chroot[root@localhost ~]# yum   -y   install   sssd
[root@localhost ~]# rpm   -q   sssd[root@localhost ~]# yum   -y   install   gcc
[root@localhost ~]# rpm   -q    gcc

卸载软件(建议不要使用-y选项)

[root@localhost ~]# yum   remove   gcc
[root@localhost ~]# yum   remove   httpd
[root@localhost ~]# rpm  -q  gcc
[root@localhost ~]# rpm  -q  httpd

Yum仓库的查询

]# yum list  ftp  #查询仓库是否有ftp软件
可安装的软件包        #表示当前系统没有安装该软件
]# yum  list  httpd
]# yum  search  ftp   #包含ftp就匹配
]# yum  provides   /usr/bin/hostname 
]# yum  provides  /etc/passwd   #仓库中那个软件包产生该文件
]# yum  provides   guestmount   #查询仓库中那个软件产生该程序   
]# yum  -y  install  libguestfs-tools-c
]# guestmount   --help    #查看帮助信息
]# rm   -rf  /usr/bin/hostname
]# ls    /usr/bin/hostname
ls: 无法访问/usr/bin/hostname: 没有那个文件或目录
]# yum  provides  /usr/bin/hostname  #查询仓库中那个软件,产生了此程序]# yum   -y    reinstall   hostname  #覆盖安装
]# ls   /usr/bin/hostname
/usr/bin/hostname

清空缓存(了解)
执行流程:
yum命令—>/etc/yum.repos.d/*.repo—>baseurl=file:///mnt/AppStream

[root@localhost ~]# yum  clean   all  #清空Yum的缓存

[root@localhost ~]# yum repoinfo #列出仓库信息
[root@localhost ~]# yum repoinfo #列出仓库信息

Yum如何判断仓库不一样,根据中括号[]写的名字不一样

8.history历史命令

历史命令
管理/调用曾经执行过的命令
history:查看历史命令列表
history -c:清空历史命令,打开一个新的终端后还有
history -w:记录历史命令为空的状态,将历史命令写入硬盘,写在history -c后面,打开新的终端后没有了
!n:执行命令历史中的第n条命令
!str:执行最近一次以str开头的历史命令

[root@svr7 ~]# vim  /etc/profile
HISTSIZE=1000      #默认记录1000条
[root@localhost ~]# history          #显示历史命令列表
[root@localhost ~]# history   -c    #清空历史命令
[root@localhost ~]# history   -w   #记住历史命令为空
[root@localhost ~]# history                 
[root@localhost ~]# cat   /etc/redhat-release 
[root@localhost ~]# ls   /root
[root@localhost ~]# history
[root@localhost ~]# !cat #指定最近一条以cat开头的历史命令
[root@localhost ~]# !ls  #指定最近一条以ls开头的历史命令

9.date查看/调整系统日期时间

date,查看/调整系统日期时间

[root@localhost /]# date
[root@localhost /]# date  -s    "2008-9-6   11:17:11"     #修改系统时间
[root@localhost /]# date
[root@localhost /]# date   -s    "2024-09-03   16:46:11"   
[root@localhost /]# date

date单独显示时间

[root@localhost ~]# date   +%Y     #显示年
[root@localhost ~]# date   +%m    #显示月
[root@localhost ~]# date   +%d     #显示日期
[root@localhost ~]# date   +%H    #显示时
[root@localhost ~]# date   +%M    #显示分
[root@localhost ~]# date   +%S     #显示秒
[root@localhost ~]# date   +%F    #显示年-月-日
[root@localhost ~]# date   +%T    #显示时::

10.du 统计目录占用硬盘的空间

du,统计目录占用硬盘的空间
-s:只统计每个参数所占用的总空间大小
-h:提供易读容量单位(K、M等)

[root@localhost ~]# du  -sh   /root
[root@localhost ~]# du  -sh   /etc
[root@localhost ~]# du  -sh   /boot
[root@localhost ~]# du  -sh   /

11.zip归档工具,跨平台(Windows与Linux)

归档+压缩操作: zip [-r] 备份文件.zip 被归档的文档…
[-r]:被归档的数据有目录,必须加上此选项

[root@localhost /]# zip  -r     /opt/abc.zip      /etc/passwd     /home
[root@localhost /]# ls   /opt/

释放归档+解压操作: unzip 备份文件.zip [-d 目标文件夹]

[root@localhost /]# unzip  -l   /opt/abc.zip   #查看压缩包的内容
[root@localhost /]# mkdir   /nsd20
[root@localhost /]# unzip       /opt/abc.zip       -d    /nsd20
[root@localhost /]# ls   /nsd20
[root@localhost /]# ls   /nsd20/etc
[root@localhost /]# ls   /nsd20/home 

12.链接ln

12.1 软链接

制作快捷方式(链接文件 符号链接)
格式:
ln -s /路径/源数据 /路径/快捷方式名字 #软链接

[root@localhost /]# ls    /etc/hosts
[root@localhost /]# ln  -s  /etc/hosts    /hs
[root@localhost /]# ls    /
[root@localhost /]# ls   -l    /hs

删除目录的快捷方式,不能以/结尾,若以/结尾则删除的是源目录内容

[root@localhost /]# ls   /opt 
[root@localhost /]# ln -s  /opt   /haxi
[root@localhost /]# ls    -l   /haxi       #查看快捷方式详细属性
[root@localhost /]# ls   -l    /haxi/      #查看源目录内容详细数据

12.2 硬链接

格式:
ln /路径/源数据 /路径/快捷方式名字 #硬链接

硬链接:源数据消失,快捷方式仍然有效

[root@A ~]# rm  -rf   /opt/*      
[root@A ~]# echo  123   >   /opt/A.txt
[root@A ~]# ln  -s  /opt/A.txt  /opt/B.txt  #软链接
[root@A ~]# ls   /opt/
[root@A ~]# ln   /opt/A.txt  /opt/C.txt   #硬链接
[root@A ~]# ls    /opt/
[root@A ~]# cat    /opt/B.txt  
[root@A ~]# cat    /opt/C.txt 
[root@A ~]# ls  -i   /opt   #查看硬盘存储i节点编号
[root@A ~]# rm  -rf   /opt/A.txt 
[root@A ~]# ls   /opt/

12.3 软链接和硬链接的区别

在这里插入图片描述
软链接和硬链接的区别原理图
在这里插入图片描述软链接优势:可以针对目录与文件制作快捷方式,支持跨分区
软链接缺点:源数据消失,快捷方式失效

硬链接优势:源数据消失,快捷方式仍然有效
硬链接缺点:只能针对文件制作快捷方式,不支持跨分区

13.获取命令帮助

方式一:命令 --help

[root@localhost ~]# cat  --help
[root@localhost ~]# yum  --help

方式二:man 命令

[root@localhost ~]# man   cat       #按q退出
[root@localhost ~]# man   passwd #显示passwd命令帮助
[root@localhost ~]# man  5  passwd
数字5表示帮助的类型,表示配置文件类型

14.课后案例

11 案例:RPM软件的安装和卸载
11.1 问题
找出vim、vi是由哪两个包产生的
删除vim、vi命令程序
修复vim、vi
安装bind-chroot包,体验Linux依赖关系
11.2 方案
本题的思路是,首相通过which命令查找到vim、vi命令可执行程序所在位置,在通过“rpm –qf 文件绝对路径”命令查看该可执行程序,是由那个包产生的。删除该可执行程序后,再将软件包安装重新产生即可。但在安装时需注意,系统会提示改程序已经安装,需加上“–force”选项强制安装。

11.3 步骤
实现此案例需要按照如下步骤进行。

步骤一:找出vim、vi是由那两个包产生的

命令操作如下所示:

[root@localhost ~]# which vi  vim
/usr/bin/vi
/usr/bin/vim 
[root@localhost ~]# rpm -qf /usr/bin/vi
vim-minimal-8.0.1763-16.el8_5.13.x86_64
[root@localhost ~]# rpm -qf /usr/bin/vim
vim-enhanced-8.0.1763-16.el8_5.13.x86_64

步骤二:删除vim、vi命令程序

命令操作如下所示:

[root@localhost ~]# rm -rf /usr/bin/vi /usr/bin/vim
[root@localhost ~]#

步骤三:修复vim、vi

首先将光盘设备手动挂载到/media目录,进行修复操作。

命令操作如下所示:

[root@localhost ~]# mount /dev/cdrom /media/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# rpm -ivh --force /media/BaseOS/Packages/v/vim-minimal-8.0.1763-16.el8_5.13.x86_64.rpm[root@localhost ~]# rpm -ivh --force /media/AppStream/Packages/v/vim-enhanced-8.0.1763-16.el8_5.13.x86_64.rpm
……[root@localhost ~]#

步骤四:安装bind-chroot包,体验Linux依赖关系

命令操作如下所示:

[root@localhost ~]# cd  /media/AppStream/Packages/b
[root@svr5 Packages]# rpm  -ivh  bind-chroot-9.11.36-3.el8.x86_64.rpm
error: Failed dependencies:
……[root@svr5 Packages]# rpm  -ivh  bind-9.11.36-3.el8.x86_64.rpm 
Preparing...                ########################################### [100%]1:bind                   ########################################### [100%]
[root@svr5 Packages]# rpm  -ivh bind-chroot-9.11.36-3.el8.x86_64.rpm
Preparing...                ########################################### [100%]1:bind-chroot            ########################################### [100%]

12 案例:配置Yum仓库及客户端及验证
12.1 问题
将光盘挂载到/dvd,搭建本地Yum
将本机设置为客户端,进行Yum验证
查询Yum库中是否有firefox包
使用yum命令安装bind包
利用Yum安装bind
利用Yum卸载bind
利用yum search查询与httpd相关的包
利用yum info查询firefox包描述信息
12.2 步骤
实现此案例需要按照如下步骤进行。

步骤一:搭建一个本地Yum,将光盘手动挂载到/dvd

命令操作如下所示:

[root@localhost ~]# mkdir /dvd
[root@localhost ~]# ls /dvd
[root@localhost ~]# mount /dev/cdrom /dvd/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# ls /dvd/

步骤二:将本地设置为客户端,进行Yum验证

Yum客户端需编辑配置文件,命令操作如下所示:

[root@localhost ~]# ls /etc/yum.repos.d/
[root@localhost ~]# mkdir /etc/yum.repos.d/repo
[root@localhost ~]# mv /etc/yum.repos.d/*.repo  /etc/yum.repos.d/repo 
[root@localhost ~]# ls /etc/yum.repos.d/
[root@localhost ~]# vim /etc/yum.repos.d/dvd.repo
[App] #仓库标识,可以任意
name=App        #仓库的描述信息,可以任意
baseurl=file:///dvd/AppStream            #指定服务端位置,file://代表本地为服务端
enabled=1                     #是否启用本文件
gpgcheck=0                     #是否检测红帽签名信息
[Base] #仓库标识,可以任意
name=Base        #仓库的描述信息,可以任意
baseurl=file:///dvd/BaseOS             #指定服务端位置,file://代表本地为服务端
enabled=1                     #是否启用本文件
gpgcheck=0                     #是否检测红帽签名信息
[root@localhost ~]# yum repoinfo -v        #列出仓库信息
[root@localhost ~]# yum repoinfo            #列出仓库信息

步骤三:查询yum库中是否有firefox包

命令操作如下所示:

[root@localhost /]# yum list | grep firefox

步骤四:利用yum安装bind包

命令操作如下所示:

[root@localhost /]# yum -y install bind

……
步骤二:利用Yum卸载bind

命令操作如下所示:

[root@localhost /]# yum -y remove bind

……
步骤四:利用yum search查询与httpd相关的包

命令操作如下所示:

[root@localhost /]# yum search httpd

……
步骤四:利用yum info查询firefox包描述信息

命令操作如下所示:

[root@localhost /]# yum info firefox

……

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

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

相关文章

【图像处理3D】:点云图是怎么生成的

点云图是怎么生成的 **一、点云数据的采集方式****1. 激光雷达(LiDAR)****2. 结构光(Structured Light)****3. 双目视觉(Stereo Vision)****4. 飞行时间相机(ToF Camera)****5. 其他…

javaweb -html -CSS

HTML是一种超文本标记语言 超文本&#xff1a;超过了文本的限制&#xff0c;比普通文本更强大&#xff0c;除了文字信息&#xff0c;还可以定义图片、音频、视频等内容。 标记语言&#xff1a;由标签"<标签名>"构成的语言。 CSS:层叠样式表&#xff0c;用于…

pyinstaller 安装 ubuntu

安装命令 pip install pyinstaller 读取安装路径 ➜ ~ find ~/.local/ -name pyinstaller/home/XXX/.local/bin/pyinstaller 路径配置 vi ~/.zshrc 添加到文件最后 export PATH"$PATH:/home/XXX/.local/bin/" 查看版本号 ➜ ~ source ~/.zshrc➜ ~ pyi…

【前端】掌握HTML/CSS宽高调整:抓住问题根源,掌握黄金法则

一、宽高控制的「黄金法则」 问题根源&#xff1a;为什么设置了宽高没效果&#xff1f; <!-- 典型失败案例 --> <style>.problem-box {width: 200px;height: 100px;padding: 20px; /* 实际变成240x140px&#xff01; */border: 5px solid red; /* 最终250x150px&…

LuaJIT2.1 和 Lua5.4.8 性能对比

说明 最近在学习 LuaJIT&#xff0c;想看看把它接入到项目中使用&#xff0c;会提高多大的性能。 今天抽时间&#xff0c;简单地测试了一下 LuaJIT 2.2 和 Lua5.4.8 的性能。 测试平台&#xff1a; 系统&#xff1a;Windows 10 WSLCPU&#xff1a;Intel Core™ i7-8700 CPU…

Arduino学习-按键灯

哎&#xff0c;别笑&#xff0c;总比刷抖音强点吧 1、效果 2、代码 const int buttonPin2; const int ledPin13;int buttonState0;void setup() {// put your setup code here, to run once:pinMode(buttonPin,INPUT);pinMode(ledPin,OUTPUT); }void loop() {// put your mai…

强化学习鱼书(10)——更多深度强化学习的算法

&#xff1a;是否使用环境模型&#xff08;状态迁移函数P(s’|s,a)和奖 励函数r(s&#xff0c;a&#xff0c;V)&#xff09;。不使用环境模型的方法叫作无模型&#xff08;model-free&#xff09;的方法&#xff0c;使用环境模型的方法叫作有模型&#xff08;model-based&#…

9.axios底层原理,和promise的对比(2)

&#x1f63a;&#x1f63a;&#x1f63a; 和promise的对比 完全可以直接使用 Promise 来发 HTTP 请求&#xff0c;比如用原生 fetch Promise 就可以实现网络请求功能&#x1f447; ✅ 用 Promise fetch 的写法&#xff08;原生&#xff09; fetch(‘https://api.example.c…

什么是数据孤岛?如何实现从数据孤岛到数据共享?

目录 一、数据孤岛是什么&#xff1f; &#xff08;一&#xff09;数据孤岛的定义 &#xff08;二&#xff09;数据孤岛怎么形成的 二、数据孤岛带来的问题 &#xff08;一&#xff09;数据冗余和不一致 &#xff08;二&#xff09;决策效率低下 &#xff08;三&#xf…

MQTT入门实战宝典:从零起步掌握物联网核心通信协议

MQTT入门实战宝典&#xff1a;从零起步掌握物联网核心通信协议 前言 物联网时代&#xff0c;万物互联已成为现实&#xff0c;而MQTT协议作为这个时代的"数据总线"&#xff0c;正默默支撑着从智能家居到工业物联的各类应用场景。本文将带你揭开MQTT的神秘面纱&#…

I2C通信讲解

I2C总线发展史 怎么在一条串口线上连接多个设备呢&#xff1f; 由于速度同步线是由主机实时发出的&#xff0c;所以主机可以按需求修改通信速度&#xff0c;这样在一条线上可以挂接不同速度的器件&#xff0c;单片机和性能差的器件通信&#xff0c;就输出较慢的脉冲信号&#x…

Windows 10 IoT 系统深度定制指南:从环境搭建到工业部署

目录 一、Windows 10 IoT 架构特性与版本选型 1.1 核心架构设计 1.2 版本对比与选型建议 二、开发环境搭建与硬件适配 2.1 工具链配置 2.2 硬件适配关键步骤 三、系统定制流程详解 3.1 镜像定制&#xff08;IoT Core Dashboard&#xff09; 3.2 使用ICD&#xff08;Im…

k8s开发webhook使用certmanager生成证书

1.创建 Issuer apiVersion: cert-manager.io/v1 kind: Issuer metadata:name: selfsigned-issuernamespace: default spec:selfSigned: {}2.Certificate&#xff08;自动生成 TLS 证书&#xff09; apiVersion: cert-manager.io/v1 kind: Certificate metadata:name: webhook…

MyBatis-Plus深度全解:从入门到企业级实战

MyBatis-Plus深度全解&#xff1a;从入门到企业级实战 一、为什么选择MyBatis-Plus&#xff1f; 1.1 MyBatis的痛点 - 重复CRUD代码编写 - 分页功能实现复杂 - 缺少通用Service层封装 - 动态表名支持困难 - 多租户方案需自行实现1.2 MyBatis-Plus核心优势 无侵入&#xff1a…

【无标题】路径着色问题的革命性重构:拓扑色动力学模型下的超越与升华

路径着色问题的革命性重构&#xff1a;拓扑色动力学模型下的超越与升华 一、以色列路径着色模型的根本局限 mermaid graph TB A[以色列路径着色模型] --> B[强连通约束] A --> C[仅实边三角剖分] A --> D[静态色彩分配] B --> E[无法描述非相邻关系] C --> F[忽…

01 Deep learning神经网络的编程基础 二分类--吴恩达

二分类 1. 核心定义 二分类任务是监督学习中最基础的问题类型&#xff0c;其目标是将样本划分为两个互斥类别。设样本特征空间为 X ⊆ R n \mathcal{X} \subseteq \mathbb{R}^n X⊆Rn&#xff0c;输出空间为 Y { 0 , 1 } \mathcal{Y} \{0,1\} Y{0,1}&#xff0c;学习目标为…

数据结构:递归:泰勒展开式(Taylor Series Expansion)

目录 第一步&#xff1a;❓我们要解决什么&#xff1f; 第二步&#xff1a;将其类比为求自然数和 第三步&#xff1a;什么是每一项&#xff1f; 第四步&#xff1a;定义要计算的每一项&#xff08;term&#xff09; 第五步&#xff1a;定义递归函数结构 &#x1f333; 调用…

Hadolint:Dockerfile 语法检查与最佳实践验证的终极工具

在容器化应用开发的浪潮中,Dockerfile 作为构建 Docker 镜像的核心配置文件,其质量直接影响着应用的安全性、稳定性和可维护性。然而,随着项目复杂度的增加,手动检查 Dockerfile 不仅耗时,还容易遗漏潜在问题。今天,我要向大家介绍一款强大的工具——Hadolint,它将彻底改…

redis数据过期策略、淘汰策略

过期键的删除策略​ ​​1. 被动删除&#xff08;惰性删除&#xff09;​​ ​​触发时机​​&#xff1a;当客户端尝试访问某个键时&#xff0c;Redis会先检查该键是否过期。就是说&#xff0c;我们不时时检查每个键是否过期&#xff0c;而是在使用到这个键时检查是否过期&a…

ES 学习总结一 基础内容

ElasticSearch学习 一、 初识ES1、 认识与安装2、 倒排索引2.1 正向索引2.2 倒排索引 3、 基本概念3.1 文档和字段3.2 索引和倒排 4 、 IK分词器 二、 操作1、 mapping 映射属性2、 索引库增删改查3、 文档的增删改查3.1 新增文档3.2 查询文档3.3 删除文档3.4 修改文档3.5 批处…