一键获取Linux主机配置信息shell脚本,含网卡详情,网卡绑定等

cat > /tmp/get_os_info.sh <<"EOF"#!/bin/bashexport LANG=en_US.UTF-8# 如果 cat /proc/1/cgroup | grep docker | wc -l  大于0 或 systemd-detect-virt 返回 docker,则为 docker容器,# 如果 virt-what 返回 kvm或vmware或hyperv或xen、xen-hvm、lxc 或 systemd-detect-virt 返回 vmware、kvm  则为虚拟机# 如果 cat /sys/class/dmi/id/product_name 返回 Bochs 、OpenStack Nova则为虚拟机 若返回Alibaba Cloud ECS,则代表阿里云主机# 如果 systemd-detect-virt 返回 none 则表示物理机# 判断当前主机类型if [ "$(cat /proc/1/cgroup | grep -c docker)" -gt 0 ] || systemd-detect-virt | grep -q docker; thenhost_type="Docker容器"elif [[ -f /sys/class/dmi/id/product_name && $(cat /sys/class/dmi/id/product_name) == "Alibaba Cloud ECS" ]]; thenhost_type="阿里云主机"elif [[ $(virt-what) =~ (kvm|vmware|hyperv|xen|xen-hvm|lxc) ]] || [[ $(systemd-detect-virt) =~ (vmware|kvm) ]]; thenhost_type="虚拟机"elif [[ $(cat /sys/class/dmi/id/product_name) =~ (Bochs|OpenStack Nova) ]]; thenhost_type="虚拟机"elsehost_type="物理机"fiecho "- **当前主机类型**: $host_type"# 获取并显示系统制造商、产品名称和版本echo "  - 当前主机系统硬件信息:"dmidecode -t 1 | awk -F: '/Manufacturer/{printf "    - 制造商: %s\n", $2}/Product Name/{printf "    - 产品名称: %s\n", $2}'# 获取操作系统信息os_info=$(cat /etc/os-release | grep 'PRETTY_NAME' | cut -d '"' -f 2)# 如果操作系统是 CentOS Linux 7 (Core),查询 /etc/redhat-releaseif [[ "$os_info" == "CentOS Linux 7 (Core)" ]]; thenos_info=$(cat /etc/redhat-release)fiecho "- **操作系统信息**: $os_info"# 显示当前内核版本kernel_version=$(uname -r)echo "- **内核版本**: $kernel_version"echo "- **硬件配置**:"# 获取CPU信息cpu_model=$(lscpu | grep "Model name" | awk -F: '{print $2}' | xargs)cpu_cores=$(lscpu | grep "^CPU(s):" | awk '{print $2}')# 获取每核的线程数threads_per_core=$(lscpu | grep -i "Thread(s) per core" | awk '{print $4}')# 如果每核线程数大于1,则说明开启了超线程if [[ $threads_per_core -gt 1 ]]; thenHyperThreading="超线程已开启 (每核线程数: $threads_per_core)"elseHyperThreading="超线程未开启 (每核线程数: $threads_per_core)"fiecho "  - **CPU**: $cpu_model ,**共 $cpu_cores 核** ,$HyperThreading "# 获取内存信息memory=$(free -h | awk '/^Mem:/{print $2}')echo "  - **内存**: $memory"# 磁盘类型# 虚拟化平台(如 VMware、KVM、Hyper-V 等)可能会将虚拟硬盘映射为虚拟的 HDD 类型,即使宿主机的物理硬盘是 SSD。# # 使用dd测试,若超过500MB/s,则肯定是SSD盘,有的盘差点在300MB/s,完成时间在15秒以下# mkidr -p /data/# dd if=/dev/zero of=/data/testssd bs=1M count=5000 oflag=direct# dd if=/data/testssd of=/dev/null bs=1M count=5000 iflag=direct# rm -rf /data/testssd# # 如果 TRAN 列显示为 sata,则硬盘是 SATA 接口。# 如果 TRAN 列显示为 pcie 或 nvme,则硬盘是 NVMe 接口。# 如果 TRAN 列显示为 fc,则表示该硬盘使用的是 Fibre Channel 接口。# 获取指定磁盘信息echo "  - **磁盘**: $disk_info"# lsblk -d -o NAME,ROTA,TRAN,SIZE | grep -E '^(sd|vd)' | awk '{print "    -", $1,$2,$3,$4, ($2 == 1 ? "HDD机械硬盘" : "SSD固态硬盘")}'lsblk -d -o NAME,ROTA,TRAN,SIZE | grep -E '^(sd|vd)' | awk -v host_type="$host_type" '{ if (host_type == "物理机") {print "    -", $1, $2, $3, $4, ($2 == 0 ? "SSD固态硬盘" : "HDD机械硬盘")} else {print "    -", $1, $2, $3, $4, ($2 == 0 ? "SSD固态硬盘" : "疑似HDD机械硬盘,还需测试IO或咨询主机管理员")}}'echo '    ```'if command -v lshw &> /dev/null; thenlshw -short | grep disk | grep -v "cdrom"  | awk '{$1=""; print "    "$0}'
filsscsi  | grep -v "cd/dvd" | grep "disk" | awk '{$1=""; print "    "$0}'echo '    ```'# 显示文件系统类型
echo "- **文件系统**:"
# df -Th 2>/dev/null | grep -v "loop"  | grep -v "tmpfs" | awk '{print "  -", $1, "->", $2}'
echo '    ```'
df -Th 2>/dev/null | grep -v "loop"  | grep -v "tmpfs" | grep -v "iso"  | grep -v "/var/lib/docker/overlay2" | grep -v "/boot"   | awk '{print "    "$0}'
echo '    ```'# 1. 对闪存(SSD)等存储介质,优先使用noop或none调度算法
# 2. 对IO压力比较重且非SSD存储设备,且功能比较单一的场景,例如数据库服务器,使用deadline或mq-deadline调度算法# for dev in $(lsblk -dno NAME | grep -E '^(sd|vd)'); do echo "$dev: $(cat /sys/block/$dev/queue/scheduler)"; done
# echo noop | sudo tee /sys/block/sda/queue/scheduler
# for dev in $(lsblk -dno NAME  | grep -E '^(sd|vd)'); do echo "echo noop | sudo tee /sys/block/$dev/queue/scheduler"; done# 获取I/O调度器信息
echo "- **I/O 调度器**:"
for dev in $(lsblk -dno NAME | grep -E '^(sd|vd)'); do# 提取中括号中的当前调度器scheduler=$(cat /sys/block/$dev/queue/scheduler 2>/dev/null | grep -o '\[[^]]*\]' | tr -d '[]')echo "  - $dev: $scheduler"
done# 查看时区
timezone=$(timedatectl | grep "Time zone:" | awk '{print $3,$4,$5}')
echo "- **当前主机时区信息**:$(echo $timezone)"# 查看IP地址
ip_add=`hostname -I`
hostname1=`hostname`
sysuptime=`uptime -s`
echo "- **当前主机IP地址**:$ip_add"
echo "- **当前主机的主机名**:$hostname1"
echo "- **系统启动时间**:$sysuptime"# 查看网卡信息
echo "- **主机网卡信息**:"
echo '```'
# 表头
printf "%-20s %-10s %-10s %-18s %-18s %-18s %-10s %-10s %-10s %-10s %-8s %-10s\n" "Interface" "Type" "Type2" "MAC_Address" "IP_Address" "Gateway" "State" "RX" "TX" "Port_Type" "MTU" "General_State"
echo "-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------"for interface in $(ls /sys/class/net/)
doif [ ! -d "/sys/class/net/$interface" ]; thencontinuefi# 基础信息mac=$(cat /sys/class/net/$interface/address 2>/dev/null || echo "N/A")ip=$(ip -4 addr show $interface | grep -oP '(?<=inet\s)\d+(\.\d+){3}' || echo "N/A")state=$(ip link show $interface | grep -oP '(?<=state\s)\w+' || echo "UNKNOWN")rx_bytes=$(cat /sys/class/net/$interface/statistics/rx_bytes 2>/dev/null || echo "0")tx_bytes=$(cat /sys/class/net/$interface/statistics/tx_bytes 2>/dev/null || echo "0")# 转换 RX 和 TXif (( rx_bytes >= 1024**4 )); thenrx=$(awk "BEGIN {printf \"%.2f TB\", $rx_bytes / (1024^4)}")elif (( rx_bytes >= 1024**3 )); thenrx=$(awk "BEGIN {printf \"%.2f GB\", $rx_bytes / (1024^3)}")elserx=$(awk "BEGIN {printf \"%.2f MB\", $rx_bytes / (1024^2)}")fiif (( tx_bytes >= 1024**4 )); thentx=$(awk "BEGIN {printf \"%.2f TB\", $tx_bytes / (1024^4)}")elif (( tx_bytes >= 1024**3 )); thentx=$(awk "BEGIN {printf \"%.2f GB\", $tx_bytes / (1024^3)}")elsetx=$(awk "BEGIN {printf \"%.2f MB\", $tx_bytes / (1024^2)}")fitype="Virtual"[ -e "/sys/class/net/$interface/device" ] && type="Physical"mtu=$(cat /sys/class/net/$interface/mtu 2>/dev/null || echo "N/A")# 获取 GENERAL.TYPE 信息general_type=$(nmcli device show $interface | grep -i "GENERAL.TYPE" | awk '{print $2}' || echo "N/A")# 获取 GENERAL.STATE 信息general_state=$(nmcli device show $interface | grep -i "GENERAL.STATE" | awk '{print $2,$3,$4,$5}' || echo "N/A")# 获取网关地址gateway=$(nmcli device show $interface | grep -i "IP4.GATEWAY" | awk '{print $2}' || echo "N/A")# 判断光口或电口port_type="Unknown"if command -v ethtool >/dev/null; thenport=$(ethtool $interface 2>/dev/null | grep "Port" | awk '{print $2}')case "$port" inFIBRE) port_type="Optical" ;;TP) port_type="Electrical" ;;esacfi# 打印结果printf "%-20s %-10s %-10s %-18s %-18s %-18s %-10s %-10s %-10s %-10s %-8s %-10s\n" "$interface" "$type" "$general_type" "$mac" "$ip" "$gateway" "$state" "$rx" "$tx" "$port_type" "$mtu" "$general_state"
done
echo '```'EOF

-------------------------

chmod +x /tmp/get_os_info.sh


sleep 1

sh /tmp/get_os_info.sh

--------

sh /tmp/get_os_info.sh
- **当前主机类型**: 虚拟机
  - 当前主机系统硬件信息:
    - 制造商:  VMware, Inc.
    - 产品名称:  VMware Virtual Platform
- **操作系统信息**: Oracle Linux Server 7.9
- **内核版本**: 5.4.17-2011.6.2.el7uek.x86_64
- **硬件配置**:
  - **CPU**: 13th Gen Intel(R) Core(TM) i7-1365U ,**共 2 核** ,超线程未开启 (每核线程数: 1) 
  - **内存**: 6.3G
  - **磁盘**: 
    - sdb 1 spi 10G 疑似HDD机械硬盘,还需测试IO或咨询主机管理员
    - sdc 1 spi 50G 疑似HDD机械硬盘,还需测试IO或咨询主机管理员
    - sda 1 spi 50G 疑似HDD机械硬盘,还需测试IO或咨询主机管理员
    ```
     /dev/sda disk 53GB VMware Virtual S
     /dev/sdb disk 10GB VMware Virtual S
     /dev/sdc disk 53GB VMware Virtual S
     disk VMware, VMware Virtual S 1.0 /dev/sda
     disk VMware, VMware Virtual S 1.0 /dev/sdb
     disk VMware, VMware Virtual S 1.0 /dev/sdc
    ```
- **文件系统**:
    ```
    Filesystem          Type      Size  Used Avail Use% Mounted on
    /dev/mapper/ol-root xfs        47G   42G  5.0G  90% /
    ```
- **I/O 调度器**:
  - sdb: mq-deadline
  - sdc: mq-deadline
  - sda: mq-deadline
- **当前主机时区信息**:America/New_York (EST, -0500)
- **当前主机IP地址**:192.168.1.120 10.10.1.23 
- **当前主机的主机名**:rac3
- **系统启动时间**:2025-01-07 03:05:15
- **主机网卡信息**:
```
Interface            Type       Type2      MAC_Address        IP_Address         Gateway            State      RX         TX         Port_Type  MTU      General_State
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Error: NetworkManager is not running.
Error: NetworkManager is not running.
Error: NetworkManager is not running.
ens33                Physical              00:0c:29:b9:30:1f  192.168.1.120                         UP         0.06 MB    0.15 MB    Unknown    1500               
Error: NetworkManager is not running.
Error: NetworkManager is not running.
Error: NetworkManager is not running.
ens38                Physical              00:0c:29:b9:30:29  10.10.1.23                            UP         0.00 MB    0.02 MB    Unknown    1500               
Error: NetworkManager is not running.
Error: NetworkManager is not running.
Error: NetworkManager is not running.
lo                   Virtual               00:00:00:00:00:00  127.0.0.1                             UNKNOWN    0.04 MB    0.04 MB    Unknown    65536              
```

----------------


 sh get_os_info.sh
- **当前主机类型**: 物理机
  - 当前主机系统硬件信息:
    - 制造商:  HPE
    - 产品名称:  ProLiant DL380 Gen10
- **操作系统信息**: Red Hat Enterprise Linux 8.8 (Ootpa)
- **内核版本**: 4.18.0-477.27.1.el8_8.x86_64
- **硬件配置**:
  - **CPU**: Intel(R) Xeon(R) Gold 6258R CPU @ 2.70GHz Intel(R) Xeon(R) Gold 6258R CPU @ 2.70GHz ,**共 48 核** ,超线程已开启 (每核线程数: 2)
  - **内存**: 2.0Ti
  - **磁盘**:
    - sda 0 sas 447.1G SSD固态硬盘
    - sdb 1 fc 2T HDD机械硬盘
    - sdc 1 fc 30G HDD机械硬盘
    - sdd 1 fc 30G HDD机械硬盘
    - sde 1 fc 30G HDD机械硬盘
    - sdf 1 fc 2T HDD机械硬盘
    - sdg 1 fc 2T HDD机械硬盘
    - sdh 1 fc 2T HDD机械硬盘
    - sdi 1 fc 2T HDD机械硬盘
    - sdj 1 fc 2T HDD机械硬盘
    - sdk 1 fc 2T HDD机械硬盘
    - sdl 1 fc 2T HDD机械硬盘
    - sdm 1 fc 2T HDD机械硬盘
    - sdn 1 fc 2T HDD机械硬盘
    - sdo 1 fc 500G HDD机械硬盘
    - sdp 1 fc 500G HDD机械硬盘
    - sdq 1 fc 2T HDD机械硬盘
    - sdr 1 fc 2T HDD机械硬盘
    - sds 1 fc 2T HDD机械硬盘
    - sdt 1 fc 2T HDD机械硬盘
    - sdu 1 fc 2T HDD机械硬盘
    - sdv 1 fc 2T HDD机械硬盘
    - sdw 1 fc 2T HDD机械硬盘
    - sdx 1 fc 2T HDD机械硬盘
    - sdy 1 fc 2T HDD机械硬盘
    - sdz 1 fc 2T HDD机械硬盘
    - sdaa 1 fc 2T HDD机械硬盘
    - sdab 1 fc 2T HDD机械硬盘
    - sdac 1 fc 2T HDD机械硬盘
    - sdad 1 fc 2T HDD机械硬盘
    - sdae 1 fc 2T HDD机械硬盘
    - sdaf 1 fc 2T HDD机械硬盘
    - sdag 1 fc 2T HDD机械硬盘
    - sdah 1 fc 2T HDD机械硬盘
    - sdai 1 fc 2T HDD机械硬盘
    - sdaj 1 fc 2T HDD机械硬盘
    - sdak 1 fc 2T HDD机械硬盘
    - sdal 1 fc 2T HDD机械硬盘
    - sdam 1 fc 2T HDD机械硬盘
    - sdan 1 fc 2T HDD机械硬盘
    - sdao 1 fc 2T HDD机械硬盘
    - sdap 1 fc 2T HDD机械硬盘
    - sdaq 1 fc 2T HDD机械硬盘
    - sdar 1 fc 2T HDD机械硬盘
    - sdas 1 fc 2T HDD机械硬盘
    - sdat 1 fc 2T HDD机械硬盘
    - sdau 1 fc 2T HDD机械硬盘
    - sdav 1 fc 2T HDD机械硬盘
    - sdaw 1 fc 2T HDD机械硬盘
    - sdax 1 fc 2T HDD机械硬盘
    - sday 1 fc 2T HDD机械硬盘
    - sdaz 1 fc 2T HDD机械硬盘
    - sdba 1 fc 2T HDD机械硬盘
    - sdbb 1 fc 2T HDD机械硬盘
    - sdbc 1 fc 2T HDD机械硬盘
    - sdbd 1 fc 2T HDD机械硬盘
    - sdbe 1 fc 2T HDD机械硬盘
    - sdbf 1 fc 2T HDD机械硬盘
    - sdbg 1 fc 2T HDD机械硬盘
    - sdbh 1 fc 2T HDD机械硬盘
    - sdbi 1 fc 2T HDD机械硬盘
    - sdbj 1 fc 2T HDD机械硬盘
    - sdbk 1 fc 2T HDD机械硬盘
    - sdbl 1 fc 2T HDD机械硬盘
    - sdbm 1 fc 2T HDD机械硬盘
    - sdbn 1 fc 2T HDD机械硬盘
    - sdbo 1 fc 2T HDD机械硬盘
    - sdbp 1 fc 2T HDD机械硬盘
    - sdbq 1 fc 2T HDD机械硬盘
    - sdbr 1 fc 2T HDD机械硬盘
    - sdbs 1 fc 2T HDD机械硬盘
    - sdbt 1 fc 2T HDD机械硬盘
    - sdbu 1 fc 2T HDD机械硬盘
    - sdbv 1 fc 2T HDD机械硬盘
    - sdbw 1 fc 2T HDD机械硬盘
    - sdbx 1 fc 2T HDD机械硬盘
    - sdby 1 fc 2T HDD机械硬盘
    - sdbz 1 fc 2T HDD机械硬盘
    - sdca 1 fc 2T HDD机械硬盘
    - sdcb 1 fc 2T HDD机械硬盘
    - sdcc 1 fc 2T HDD机械硬盘
    - sdcd 1 fc 2T HDD机械硬盘
    - sdce 1 fc 2T HDD机械硬盘
    - sdcf 1 fc 2T HDD机械硬盘
    - sdcg 1 fc 2T HDD机械硬盘
    - sdch 1 fc 2T HDD机械硬盘
    - sdci 1 fc 2T HDD机械硬盘
    - sdcj 1 fc 2T HDD机械硬盘
    - sdck 1 fc 2T HDD机械硬盘
    - sdcl 1 fc 2T HDD机械硬盘
    - sdcm 1 fc 2T HDD机械硬盘
    - sdcn 1 fc 2T HDD机械硬盘
    - sdco 1 fc 2T HDD机械硬盘
    - sdcp 1 fc 2T HDD机械硬盘
    - sdcq 1 fc 2T HDD机械硬盘
    - sdcr 1 fc 2T HDD机械硬盘
    - sdcs 1 fc 2T HDD机械硬盘
    - sdct 1 fc 2T HDD机械硬盘
    - sdcu 1 fc 2T HDD机械硬盘
    - sdcv 1 fc 2T HDD机械硬盘
    - sdcw 1 fc 2T HDD机械硬盘
    - sdcx 1 fc 2T HDD机械硬盘
    - sdcy 1 fc 2T HDD机械硬盘
    - sdcz 1 fc 2T HDD机械硬盘
    - sdda 1 fc 2T HDD机械硬盘
    - sddb 1 fc 2T HDD机械硬盘
    - sddc 1 fc 2T HDD机械硬盘
    - sddd 1 fc 2T HDD机械硬盘
    - sdde 1 fc 2T HDD机械硬盘
    - sddf 1 fc 2T HDD机械硬盘
    - sddg 1 fc 2T HDD机械硬盘
    - sddh 1 fc 2T HDD机械硬盘
    - sddi 1 fc 2T HDD机械硬盘
    - sddj 1 fc 2T HDD机械硬盘
    - sddk 1 fc 2T HDD机械硬盘
    - sddl 1 fc 2T HDD机械硬盘
    - sddm 1 fc 2T HDD机械硬盘
    - sddn 1 fc 2T HDD机械硬盘
    - sddo 1 fc 2T HDD机械硬盘
    - sddp 1 fc 2T HDD机械硬盘
    - sddq 1 fc 2T HDD机械硬盘
    - sddr 1 fc 2T HDD机械硬盘
    - sdds 1 fc 2T HDD机械硬盘
    - sddt 1

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

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

相关文章

2 XDMA IP中断

三种中断 1. Legacy 定义&#xff1a;Legacy 中断是传统的中断处理方式&#xff0c;使用物理中断线&#xff08;例如 IRQ&#xff09;来传递中断信号。缺点&#xff1a; 中断线数量有限&#xff0c;通常为 16 条&#xff0c;限制了可连接设备的数量。中断处理可能会导致中断风…

【算法】时间复杂度以及O(N^2)的排序

目录 1.常数时间的操作 2.时间复杂度 2.1.以选择排序为例 2.2.O(n^2)从何而来 2.3.冒泡排序 2.3.1.抑或运算 2.4.插入排序 3.二分法 3.1.局部最小 4.递归 4.1.递归行为时间复杂度的估计 1.常数时间的操作 一个操作如果和样本的数据量无关&#xff0c;每次都是固定时…

C# 或 .NetCore 如何使用 NPOI 导出图片到 Excel 文件

今天在本文中&#xff0c;我们将尝试使用NPOI库将图像插入到 Excel 文件的特定位置。请将以下逻辑添加到您的写作方法中&#xff0c;在 Excel 文件中添加图像&#xff08;JPEG、PNG&#xff09;,我已经有一个示例 jpeg 文件 - Read-write-excel-npoi.jpg &#xff0c;我们将尝试…

Observability:将 OpenTelemetry 添加到你的 Flask 应用程序

作者&#xff1a;来自 Elastic jessgarson 待办事项列表可以帮助管理与假期计划相关的所有购物和任务。使用 Flask&#xff0c;你可以轻松创建待办事项列表应用程序&#xff0c;并使用 Elastic 作为遥测后端&#xff0c;通过 OpenTelemetry 对其进行监控。 Flask 是一个轻量级…

使用Matplotlib显示中文的方法

1 问题提出 使用图1所示的代码进行matplotlib绘图时&#xff0c;因为其默认不支持中文&#xff0c;此时无法显示正确内容&#xff0c;如图2所示。 图1 matplotlib绘图绘图代码 图2 matplotlib无法显示中文 2 问题解决 2.1 设置全局字体 在图1所示的代码中&#xff0c;第13…

详解opencv resize之INTER_LINEAR和INTER_AREA

一。先简单介绍一下resize的用法 src&#xff1a;输入图&#xff0c; dst&#xff1a;输出图 dsize&#xff1a;输出图的宽高&#xff0c;如果dsize不为空&#xff08;即宽高都不是0&#xff09;&#xff0c;则以dsize为准进行resize。 fx, fy是放大缩小的比例&#xff0c;是…

UnityDemo-TheBrave-制作笔记

这是我跟着b站up主MStudio的视频学习制作的&#xff0c;大体上没有去做一些更新的东西&#xff0c;这里只是一个总的总结。在文章的最后&#xff0c;我会放上可以游玩该游戏的链接和exe可执行文件&#xff0c;不过没有对游戏内容进行什么加工&#xff0c;只有基本的功能实现罢了…

使用LSTM预测股票收盘价

在金融数据预测中&#xff0c;LSTM&#xff08;长短期记忆网络&#xff09;凭借其在时间序列数据建模中的优势&#xff0c;成为了分析股票价格趋势的热门选择。本篇博客将以完整的代码实现为例&#xff0c;展示如何利用LSTM网络对股票收盘价进行预测&#xff0c;并从数据处理到…

模拟SpringIOCAOP

一、IOC容器 Ioc负责创建&#xff0c;管理实例&#xff0c;向使用者提供实例&#xff0c;ioc就像一个工厂一样&#xff0c;称之为Bean工厂 1.1 Bean工厂的作用 先分析一下Bean工厂应具备的行为 1、需要一个获取实例的方法&#xff0c;根据一个参数获取对应的实例 getBean(…

预编译SQL

预编译SQL 预编译SQL是指在数据库应用程序中&#xff0c;SQL语句在执行之前已经通过某种机制&#xff08;如预编译器&#xff09;进行了解析、优化和准备&#xff0c;使得实际执行时可以直接使用优化后的执行计划&#xff0c;而不需要每次都重新解析和编译。这么说可能有一些抽…

软件测试预备知识⑥—搭建Web服务器

在软件测试的广阔领域中&#xff0c;搭建Web服务器是一项极为关键的技能。它不仅有助于模拟真实的应用环境&#xff0c;方便我们对Web应用进行全面且深入的测试&#xff0c;还能让测试人员更好地掌控测试场景&#xff0c;提升测试效率与质量。接下来&#xff0c;让我们一同深入…

计算机视觉算法实战——打电话行为检测

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​​​​​​ ​​​​​​​​​​​​​​​ ​​​​​​ ​ 1. 引言✨✨ 随着智能手机的普及&#xff0c;打电话行为检测成为了计算机视…

Linux第二课:LinuxC高级 学习记录day01

0、大纲 0.1、Linux 软件安装&#xff0c;用户管理&#xff0c;进程管理&#xff0c;shell 命令&#xff0c;硬链接和软连接&#xff0c;解压和压缩&#xff0c;功能性语句&#xff0c;结构性语句&#xff0c;分文件&#xff0c;make工具&#xff0c;shell脚本 0.2、C高级 …

ISP流程--去马赛克详解

前言 本期我们将深入讨论ISP流程中的去马赛克处理。我们熟知&#xff0c;彩色图像由一个个像元组成&#xff0c;每个像元又由红、绿、蓝&#xff08;RGB&#xff09;三通道构成。而相机传感器只能感知光的强度&#xff0c;无法直接感知光谱信息&#xff0c;即只有亮暗而没有颜色…

阿里云-通义灵码:在 PyCharm 中的强大助力(下)

目录 六.通义灵码在 PyCharm 中的优势与不足 1.优势 (1).提高开发效率 (2).提升代码质量 (3).易于使用 (4).不断学习和改进 2.不足 (1).依赖网络 (2).准确性有待提高 (3).局限性 七.未来发展展望 1.提高准确性和可靠性 2.与其他工具的集成 3.智能化程度的提升 八…

开源项目stable-diffusion-webui部署及生成照片

参考链接 https://www.freedidi.com/13133.html 基础环境部署 python 官网链接 Python Release Python 3.10.6 | Python.org 下载 Python 3.10.6 版本安装包 下载好后双击 点击安装&#xff0c;这里需要选择一下&#xff0c;把环境变量加上。&#xff08;这里是默认安装到C盘…

【芯片封测学习专栏 -- 单 Die 与 多Die(Chiplet)介绍】

请阅读【嵌入式开发学习必备专栏 Cache | MMU | AMBA BUS | CoreSight | Trace32 | CoreLink | ARM GCC | CSH】 文章目录 Overview单个Die&#xff08;Monolithic Die&#xff09;多个Die&#xff08;Chiplet Architecture or Heterogeneous SoC&#xff09;如何判断一个SoC是…

Windows 安装 Docker 和 Docker Compose

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template &#x1f33a; 仓库主页&#xff1a; GitCode︱ Gitee ︱ Github &#x1f496; 欢迎点赞 &#x1f44d; 收藏 ⭐评论 …

java_将数据存入elasticsearch进行高效搜索

使用技术简介&#xff1a; (1) 使用Nginx实现反向代理&#xff0c;使前端可以调用多个微服务 (2) 使用nacos将多个服务管理关联起来 (3) 将数据存入elasticsearch进行高效搜索 (4) 使用消息队列rabbitmq进行消息的传递 (5) 使用 openfeign 进行多个服务之间的api调用 参…

Github Copilot学习笔记

&#xff08;一&#xff09;Prompt Engineering 利用AI工具生成prompt设计好的prompt结构使用MarkDown语法&#xff0c;按Role, Skills, Constrains, Background, Requirements和Demo这几个维度描述需求。然后收输入提示词&#xff1a;作为 [Role], 拥有 [Skills], 严格遵守 […