最新要闻
- 【天天播资讯】《羊了个羊》被通报:涉欺骗误导强迫用户!曾被吐槽广告多
- 哈尔滨拆承重墙高楼现新裂缝 专家:或能加固到原状态 成本较高
- 谢谢你们,让我们的延吉之行更有意义|全球速读
- 讯息:发挥工业互联网平台立体化赋能作用!山东“数字强省”再加速
- 马斯克曾发出人口消失警告 日本912万65岁以上老人仍在工作 热推荐
- RTX 2080S实机运行《GTA6》画面曝光: 熟悉的味道
- 天天头条:线下大牌:CariaKnar内衣旗舰店男士6条装内裤39.9元
- 搭载麒麟710A!华为nova 8 SE官方二手机上架:999元
- 耗时5个月:中国空间站有了新发现 当前讯息
- 世界头条:辽宁:延续实施社会保险费惠企减负政策
- 天天热推荐:“最强法务部”出手维权:安卓Switch模拟器Skyline宣布停止开发
- 索尼PS5 Slim/Pro详细配置曝光:性能翻番了!
- 特斯拉率先涨价 电动车价格战没戏了?“白色石油”碳酸锂价格重回20万/吨以上
- 深蹲后开始起跳!长城汽车4月销量超9.3万辆 同比大涨73% 全球视讯
- 担心的事情发生了!男子庆祝离婚去蹦极绳子断裂:脖子腰椎全摔断_全球快播
- 度小满发布2022ESG报告:践行ESG发展理念助推可持续发展_视点
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
Ansible快速入门(下)
6. Ansible常用模块
ansible有着诸多的模块,虽然模块众多,但最为常用的模块也就 20-30个左右;
【资料图】
6.1 command模块
功能:在远程主机执行 Shell命令;此为默认模块,可忽略 -m选项;注意:不支持管道命令 |
参数 | 选项 | 含义 |
---|---|---|
chdir | chdir /opt | 执行ansible时,切换到指定的目录 |
creates | creates /data/file | 如果文件存在,则跳过执行 |
removes | removes /data/file | 如果文件存在,则执行 |
范例1:chdir,切换目录执行 Shell命令;
[root@manger ~]# ansible localhost -m command -a "chdir=/root echo $PWD"localhost | CHANGED | rc=0 >>/root
范例2:creates,如果 /data/file文件存在,则跳过执行;
[root@manger ~]# ansible localhost -m command -a "creates=/data/file ifconfig eth0"localhost | SUCCESS | rc=0 >>skipped, since /data/file exists
范例3:removes,如果 /data/file文件存在,则执行;
[root@manger ~]# ansible localhost -m command -a "removes=/data/file ifconfig eth0"localhost | CHANGED | rc=0 >>eth0: flags=4163mtu 1500inet 10.0.0.6 netmask 255.255.255.0 broadcast 10.0.0.255inet6 fe80:20c:29ff:fe2a:348 prefixlen 64 scopeid 0x20ether 00:0c:29:2a:03:48 txqueuelen 1000 (Ethernet)RX packets 76534 bytes 99611397 (96.9 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 17274 bytes 1957911 (1.8 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
6.2 shell模块
功能:在远程主机执行 Shell命令,执行管道等特殊符号的操作;
参数 | 选项 | 含义 |
---|---|---|
chdir | chdir /opt | 执行ansible时,切换到指定的目录 |
creates | creates /data/file | 如果文件存在,则跳过执行 |
removes | removes /data/file | 如果文件存在,则执行 |
范例1:使用 Shell命令过滤被控端主机的 IP地址;
[root@manger ~]# ansible localhost -m shell -a "ifconfig eth0|awk "NR==2" "[WARNING]: No inventory was parsed, only implicitlocalhost is availablelocalhost | CHANGED | rc=0 >>inet 10.0.0.6 netmask 255.255.255.0 broadcast 10.0.0.255
6.3 script模块
功能:在被控节点,运行 Ansible主机的脚本;
范例1:在 Ansible主机上编写脚本,然后推送至被控端运行;
#在本地运行模块,等同于在远程执行,不需要将脚本文件进行推送目标主机执行[root@manger ~]# ansible webservers -m script -a "/data/yum.sh"
6.4 yum模块
功能:管理各个操作系统的软件包;
参数 | 选项 | 含义 |
---|---|---|
name | httpd、nginx ... | 指定安装软件包名或软件包URL |
state | present(Defaults)、absent、latest | 指定yum对应的方法 |
enablerepo | epel、base ... | 允许从哪些仓库获取软件 |
disablerepo | epel、base ... | 禁止从哪些仓库获取软件 |
exclude | kernel ... | 排除某些软件包 |
download_only | yes、no | 仅下载软件包,不安装 |
范例1:安装当前最新的 Apache软件,如果存在则不安装
[root@manger ~]# ansible webservers -m yum -a "name=httpd state=present"
范例2:安装当前最新的Apache软件,通过epel仓库安装
[root@manger ~]# ansible webservers -m yum -a "name=httpd state=present enablerepo=epel"
范例3:通过公网 URL安装 rpm软件
[root@manger ~]# ansible webservers -m yum -a "name=https://xx.rpm state=present"
范例4:安装最新版本的 Apache软件,如果存在则更新 Apache
[root@manger ~]# ansible webservers -m yum -a "name=httpd state=latest"
范例5:更新所有的软件包,但排除和 kernel相关的
[root@manger ~]# ansible webservers -m yum -a "name=* state=latest exclude=kernel"
范例6:删除 Apache软件
[root@manger ~]# ansible webservers -m yum -a "name=httpd state=absent"
6.5 copy模块
功能:从 ansible服务端主控端复制文件到远程主机;
参数 | 选项 | 含义 |
---|---|---|
src | 复制本地目录下的文件至远程服务器 | |
dest | 文件复制到远程的绝对路径 | |
owner | root(Defaults) | 文件复制到远程并设定属主 |
group | root(Defaults) | 文件复制到远程并设定属组 |
mode | file=644,directory=755 | 文件复制到远程并设定权限 |
backup | yes | 备份被修改前的配置文件 |
content | 新建文件并给文件添加内容 |
范例1:将本地的 httpd.conf文件 Listen端口修改为 8080,推送至远程服务器
[root@manger ~]# ansible webservers -m copy -a "src=./httpd.conf dest=/etc/httpd/conf/httpd.conf owner=root group=root mode=644"
范例2:将本地的 httpd.conf文件 Listen端口修改为 9090,推送至远程服务器,然后检查远端是否存在上一次的备份文件
[root@manger ~]# ansible webservers -m copy -a "src=./httpd.conf dest=/etc/httpd/conf/httpd.conf owner=root group=root mode=644 backup=yes"
范例3:往远程的主机文件中写入内容,如果文件不存在则创建
[root@manger ~]# ansible webservers -m copy -a "content="Http_Server" dest=/var/www/html/index.html"
6.6 file模块
功能:为被控端创建文件或目录,设定权限属性;
参数 | 选项 | 含义 |
---|---|---|
path | 指定远程服务器的路径 | |
recurse | 递归方式(可以是递归授权) | |
state | touch、directory、link、absent | 文件复制到远程的状态 |
owner | root(Defaults) | 文件复制到远程并设定属组 |
group | root(Defaults) | 备份被修改前的配置文件 |
mode | file=644,directory=755 | 文件复制到远程并设定权限 |
范例1:创建文件,并设定属主、属组、权限
[root@manger ~]# ansible webservers -m file -a "path=/tmp/foo.conf state=touch mode=666"
范例2:创建目录,并设定属主、属组、权限
[root@manger ~]# ansible webservers -m file -a "path=/tmp/foo state=directory mode=777"
范例3:递归授权目录
[root@manger ~]# ansible webservers -m file -a "path=/tmp/foo state=directory owner=root group=root mode=777 recurse=yes"
6.7 lineinfile模块
功能:修改或删除文件内容,与系统中的 sed命令类似;
参数 | 选项 | 含义 |
---|---|---|
path | 指定要操作的文件 | |
regexp | 使用正则表达式匹配对应的行 | |
line | 修改为新的内容 | |
insertafter | 将文本插入到“指定的行”之后 | |
insertbefore | 将文本插入到“指定的行”之前 | |
state | absent、present(Defaults) | 删除对应的文本时,需要state=absent |
backrefs | yes、no | 1.支持后向引用 2.当未匹配到内容则不操作文件 |
backup | 是否在修改文件之前对文件进行备份 | |
create | 当要操作的文件并不存在时,是否创建对应的文件 |
范例1:将 SELINUX修改为 disabled状态;
[root@manger ~]# ansible localhost -m lineinfile -a "path=/etc/selinux/config regexp="^SELINUX=" line=SELINUX=disabled"
范例2:删除 /etc/sudoers文件中 %wheel开头的行;
[root@manger ~]# ansible localhost -m lineinfile -a "path=/etc/sudoers regexp="^%wheel" state=absent"
范例3:替换 /etc/hosts文件中以 12.0.0.1的行为 127.0.0.1 ansible.oldxu.com
[root@manger ~]# ansible localhost -m lineinfile -a "path=/etc/hosts regex="^127\.0\.0\.1" line="127.0.0.1 ansible.oldxu.com""
范例4:修改默认 Apache的端口为 8080,使用 insertafter;
[root@manger ~]# ansible localhost -m lineinfile -a "path=/etc/httpd/conf/httpd.conf regexp="^Listen" line="Listen 8080" insertafter="^#Listen""
6.8 get_url模块
功能:通过互联网下载软件至被控端本地;
参数 | 选项 | 含义 |
---|---|---|
url | HTTP, HTTPS ... | 资源文件在互联网上的具体位置 |
dest | 文件下载位置的绝对路径 | |
mode | 文件下载后的权限 | |
checksum | md5、sha256 | 对下载的资源进行校验 |
timeout | 10(Default) | URL请求超时时间 |
范例1:下载互联网的软件至本地
[root@manger ~]# ansible webservers -m get_url -a "url=https://mirrors.aliyun.com/xx.rpm dest=/tmp"
范例2:下载互联网文件并进行 md5校验
[root@manger ~]# ansible webservers -m get_url -a "url=http,https dest=/opt checksum=md5:76eb3af80ffd"
6.9 systemd模块
功能:管理服务启动与停止,与 service模块用法一致;
参数 | 选项 | 含义 |
---|---|---|
name | httpd、nginx ... | 定义要启动服务的名称 |
state | started、stopped、restarted、reloaded | 指定服务状态 |
enabled | yes、no | 允许服务开机自启或禁止服务开机自启 |
范例1:启动 Httpd服务
[root@manger ~]# ansible webservers -m service -a "name=httpd state=started"
范例2:重载 Httpd服务
[root@manger ~]# ansible webservers -m service -a "name=httpd state=reloaded"
范例3:重启 Httpd服务
[root@manger ~]# ansible webservers -m service -a "name=httpd state=restarted"
范例4:停止 Httpd服务
[root@manger ~]# ansible webservers -m service -a "name=httpd state=stopped"
范例5:启动 Httpd服务,并加入开机自启
[root@manger ~]# ansible webservers -m service -a "name=httpd state=started enabled=yes"
6.10 group模块
功能:管理被控端用户组;
参数 | 选项 | 含义 |
---|---|---|
name | 指定创建的组名 | |
gid | 为组设置可选gid | |
state | present(Default)、absent | 是否将组创建在远程主机上 |
system | yes、no(Default) | 是否创建系统组 |
范例1:创建 news 基本组,指定uid为9999
[root@manger ~]# ansible webservers -m group -a "name=news gid=9999 state=present"
范例2:创建 http 系统组,指定uid为8888
[root@manger ~]# ansible webservers -m group -a "name=http gid=8888 system=true state=present"
范例3:删除 news 基本组
[root@manger ~]# ansible webservers -m group -a "name=news state=absent"
6.11 user模块
功能:管理被控端用户;
参数 | 选项 | 含义 |
---|---|---|
name | 创建或删除的用户名 | |
uid | 为用户设置可选uid | |
group | 为用户设置主要的组 | |
groups | 为用户设置附加的组 | |
shell | present(Default)、absent | 为用户设置登陆时的Shell |
create_home | yes(Default)、no | 为用户创建主目录 |
state | present(Default)、absent | 用户是否应该存在 |
remove | yes、no(Default) | 删除与用户关联的目录,只有当state=absent时生效 |
generate_ssh_key | yes、no(Default) | 为相关用户生成ssh密钥。不会覆盖现有的ssh密钥 |
ssh_key_bits | 2048 | 创建用户ssh密钥中位数 |
ssh_key_file | .ssh/id_rsa(Default) | 可以实现ssh密钥改名,或变更存放ssh密钥位置 |
范例1:创建 joh用户, uid是 1040,主要的组是 adm
[root@manger ~]# ansible webservers -m user -a "name=joh uid=1040 group=adm"
范例2:创建 joh用户,登录 shell是 /sbin/nologin,追加bin、sys两个组
[root@manger ~]# ansible webservers -m user -a "name=joh shell=/sbin/nologin groups=bin,sys"
范例3:创建 jsm用户,为其添加 123作为登录密码,并且创建家目录
[root@manger ~]# ansible localhost -m debug -a "msg={{ "123" | password_hash("sha512", "salt") }}"$6$salt$jkH[root@manger ~]# ansible webservers -m user -a "name=jsm password="$6$salt$jkH" create_home=yes"
范例4:示例四、移除 joh用户
[root@manger ~]# ansible webservers -m user -a "name=joh remove=yes state=absent"
范例5:创建 http用户,并为该用户创建 2048字节的私钥,存放在 ~/http/.ssh/id_rsa
[root@manger ~]# ansible webservers -m user -a "name=http uid=8888 group=8888 generate_ssh_key=yes ssh_key_bits=2048 ssh_key_file=.ssh/id_rsa"
6.12 cron模块
功能:管理被控端计划任务;
参数 | 选项 | 含义 |
---|---|---|
name | 定时任务基本描述 | |
job | 定时任务要执行的命令 | |
minute | (Default)、0-59 | 分 |
hour | (Default)、0-23 | 时 |
day | (Default)、1-31 | 日 |
month | (Default)、1-12 | 月 |
weekday | (Default)、0-6 | 周 |
范例1:添加定时任务,每分钟执行一次ls,* * * * * ls >/dev/null
[root@manger ~]# ansible webservers -m cron -a "name="cron01" job="ls >/dev/null""
范例2:添加定时任务,每天的凌晨2点和凌晨5点执行一次ls, 0 5,2 * * * ls >/dev/null
[root@manger ~]# ansible webserver -m cron -a "name="cron02" minute=0 hour=2,5 job="ls >/dev/null""
范例3:关闭定时任务,使定时任务失效
[root@manger ~]# ansible webservers -m cron -a "name="cron02" minute=0 hour=2,5 job="ls >/dev/null" disabled=yes"
6.13 mount模块
功能:管理被控端设备挂载;
参数 | 选项 | 含义 |
---|---|---|
src | 本地或远程设备的路径 | |
path | 设备挂载至本地的路径 | |
fstype | xfs、nfs... | 文件系统类型 |
opts | defaults、ro... | 挂载的参数 |
state | present、absent、mounted、unmounted | 挂载的状态 |
环境准备:将 ansible作为 nfs服务端, 172.16.1.7、172.16.1.8 作为 nfs客户端挂载;
# ansible localhost -m yum -a "name=nfs-utils state=present"# ansible localhost -m file -a "path=/ops state=directory"# ansible localhost -m copy -a "content="/ops 172.16.1.0/24(rw,sync)" dest=/etc/exports"# ansible localhost -m service -a "name=nfs state=restarted"
范例1:挂载 nfs至本地的 /opt目录,并实现开机自动挂载
[root@manger ~]# ansible webservers -m mount -a "src=172.16.1.61:/ops path=/opt fstype=nfs opts=defaults state=mounted"
范例2:临时卸载 nfs的挂载,但不清理 /etc/fstab
[root@manger ~]# ansible webservers -m mount -a "src=172.16.1.61:/ops path=/opt fstype=nfs opts=defaults state=unmounted"
范例3:永久卸载 nfs挂载,同时清理 /etc/fstab
[root@manger ~]# ansible webservers -m mount -a "src=172.16.1.61:/ops path=/opt fstype=nfs opts=defaults state=absent"
6.14 hostname模块
功能:管理被控端主机名称;
范例:设置主机名称为 ansible-hostname
[root@manger ~]# ansible localhost -m hostname -a "name=ansible-hostname"
6.15 archive模块
功能:打包与压缩;
参数 | 选项 | 含义 |
---|---|---|
path | 要压缩的文件或目录 | |
dest | 压缩后的文件 | |
format | bz2、gz、tar、xz、zip | 指定打包压缩的类型 |
范例:将 /var/log目录压缩为 tar格式,并存储至 /opt目录下;
[root@manger ~]# ansible localhost -m archive -a "path=/var/log dest=/opt/log.tar.gz format=gz"
6.16 unarchive模块
功能:解包与解压缩;
参数 | 选项 | 含义 |
---|---|---|
src | 要解压的软件包路径 | |
dest | 解压到目标位置 | |
remote_src | yes、no(default) | yes:要解压的包在被控端、no:要解压的包在控制端 |
范例1:解压控制端的包至被控端;
[root@manger ~]# ansible localhost -m unarchive -a "src=/root/php.zip dest=/tmp/"
范例2:解压被制端的包至被控端;
[root@manger ~]# ansible localhost -m unarchive -a "src=/log.tar.gz dest=/tmp/ remote_src=yes"
6.17 selinux模块
功能:管理 SELINUX 防火墙;
参数 | 选项 | 含义 |
---|---|---|
state | enforcing、permissive、disabled | Selinux模式 |
范例1:设置 selinux为 enforcing
[root@manger ~]# ansible webservers -m selinux -a "state=enforcing"
范例2:设置 selinux为 disabled
[root@manger ~]# ansible webservers -m selinux -a "state=disabled"
6.18 firewalld模块
功能:管理 firewalld 防火墙;
参数 | 选项 | 含义 |
---|---|---|
service | http、https ... | 添加或删除firewalld中的服务名称 |
port | 80、443... | 添加或删除firewalld中的端口范围 |
masquerade | yes、no | 启用或禁止防火墙的地址伪装 |
immediate | yes、no(Default) | 防火墙规则当前是否立即生效 |
permanent | yes、no | 防火墙规则当前是否重启后也生效 |
state | enabled、disabled | 启用或禁用当前配置的规则 |
rich_rule | 在防火墙中添加或删除富规则 | |
source | 添加或删除防火墙源IP网络 | |
zone | public(Default)、home ... | 指定防火墙区域 |
范例1:放行 http服务流量,设定临时与永久生效;
[root@manger ~]# ansible webservers -m firewalld -a "service=http immediate=yes permanent=yes state=enabled"
范例2:放行 tcp/8080-8090端口,设定临时与永久生效;
[root@manger ~]# ansible webservers -m firewalld -a "port=8080-8090/tcp immediate=yes permanent=yes state=enabled"
6.19 iptables模块
功能:管理 iptables 代理过滤防火墙;
iptables常用参数:
参数 | 含义 |
---|---|
table | 表 |
chain | 链 |
source | 来源IP |
destination | 目标IP |
destination_port | 目标端口 |
protocol | 协议 |
jump:DROP | 动作 |
action | 如何添加规则 |
insert | 插入 |
append | 追加 |
范例1:来源IP是192.168.1.1目标地址 1.1.1.1目标端口 80协议 tcp则拒绝;规则要写入第一行;
[root@manger ~]# ansible webservers -m iptables -a "table=filter chain=INPUT source=192.168.1.1/32 destination=1.1.1.1 destination_port=80 protocol=tcp jump=DROP action=insert"
范例2:NAT:DNAT和SNAT:
DNAT:如果请求1.1.1:80端口,则DNAT到2.2.2.2:8800ansible webservers -m iptables -a "table=nat chain=PREROUTING protocol=tcp destination=1.1.1.1 destination_port=80 jump=DNAT to_destination="2.2.2.2:8800""如果请求1.1.1:81端口,则DNAT到3.3.3.3:8800ansible webservers -m iptables -a "table=nat chain=PREROUTING protocol=tcp destination=1.1.1.1 destination_port=81 jump=DNAT to_destination="3.3.3.3:8800""SNAT:POSTROUTINGiptables -t nat -I POSTROUTING -s 172.16.1.0/24 -j SNAT --to-source 5.5.5.5ansible webservers -m iptables -a "table=nat chain=POSTROUTING source=172.16.2.0/24 jump=SNAT to_source=6.6.6.6"ansible webservers -m iptables -a "table=nat chain=POSTROUTING source=172.16.3.0/24 jump=SNAT to_source=7.7.7.7 action=insert"
参数很多,具体参见官方文档
https://docs.ansible.com/ansible/2.9/modules/iptables_module.html#iptables-module
关键词:
Ansible快速入门(下)
@RequestParam注解参数-世界热讯
【天天播资讯】《羊了个羊》被通报:涉欺骗误导强迫用户!曾被吐槽广告多
哈尔滨拆承重墙高楼现新裂缝 专家:或能加固到原状态 成本较高
谢谢你们,让我们的延吉之行更有意义|全球速读
87.特殊用途语言特性
20天学会 java
讯息:发挥工业互联网平台立体化赋能作用!山东“数字强省”再加速
马斯克曾发出人口消失警告 日本912万65岁以上老人仍在工作 热推荐
RTX 2080S实机运行《GTA6》画面曝光: 熟悉的味道
天天头条:线下大牌:CariaKnar内衣旗舰店男士6条装内裤39.9元
搭载麒麟710A!华为nova 8 SE官方二手机上架:999元
耗时5个月:中国空间站有了新发现 当前讯息
使用 HTTP/2 加速 Node.js 应用
世界要闻:MockMVC的使用
世界头条:辽宁:延续实施社会保险费惠企减负政策
天天热推荐:“最强法务部”出手维权:安卓Switch模拟器Skyline宣布停止开发
索尼PS5 Slim/Pro详细配置曝光:性能翻番了!
特斯拉率先涨价 电动车价格战没戏了?“白色石油”碳酸锂价格重回20万/吨以上
深蹲后开始起跳!长城汽车4月销量超9.3万辆 同比大涨73% 全球视讯
担心的事情发生了!男子庆祝离婚去蹦极绳子断裂:脖子腰椎全摔断_全球快播
度小满发布2022ESG报告:践行ESG发展理念助推可持续发展_视点
vue中手动清除KeepAlive缓存|环球视讯
【世界快播报】钉钉PC端使用 Blazor WebAssembly 读取用户信息
环球视点!财报解析 | 2022年上汽扣非净利跌破百亿 上汽乘用车盈利仍承压
西藏航空回应客机机舱内出现浓烟返航:空调组件故障 安全没影响
全球速看:21金维他维生素C片60粒9.9元抄底:立减50元
杰克辣条再开直播虐猫?人民网怒批:处刑式虐猫可憎 向人类良知挑战
砸掉承重墙 全楼无家可归 损失1.6亿!最多可判刑7年
【世界聚看点】印度:所有智能手机必须标配FM收音机 默认开启
蕙兰怎么养才好_蕙兰怎么养
全球球精选!记录--极致舒适的Vue页面保活方案
世界热头条丨云图说|图解制品仓库CodeArts Artifact
国家医保局:一季度基本医疗保险基金整体运行平稳
iPhone 15 Pro Max影像升级巨大!苹果这次硬刚安卓_动态焦点
观察:显卡散热疯了!背板上装风扇、热管:实测根本没用
买特斯拉等车更省了 上海:6月30日前购买纯电动车补贴1万
中国央行连续6个月增持黄金:这是啥意思? 新动态
当前速读:女子霸占车位拒绝挪车 业主怒将车位焊上 律师:虽有不当但不违法
世界最新:肃南:按下项目建设“快进键”
读书笔记丨理解和学习事务,让你更好地融入云原生时代
第二章-Java程序的设计环境
Python第三方库安装教程、什么是第三方库_全球消息
AI来势汹汹,这份「生存计划」请查收!|世界实时
商品日报(5月8日):商品市场情绪回暖 双焦大涨超6%豆一涨超5%
《护心》雁回人物解析 《护心》雁回是好人还是坏人_当前通讯
每日消息!阿汤哥开战机为英国王送祝福:你可以当我的僚机
淘宝发布“时光机”:可查看20年消费数据 你一共花了多少钱?
赔钱卖车?福特电动车业务巨亏 卖一辆车亏40万元 微头条
摆脱依赖美国GPS!日本计划大幅强化自家准天顶导航系统:卫星从4颗增至11颗
拉萨一路口红绿灯只有3秒?“飙车”才能过 已延长至15秒
嫁入高门的女人百度云 嫁入高门的女人-天天快资讯
昇腾实战丨DVPP媒体数据处理视频解码问题案例
记一次springboot项目漏洞挖掘 全球观速讯
微资讯!科创板收盘播报:科创50指数涨0.77% 软件股显著回暖
奇瑞QQ冰淇淋的智能化驾驶 可坡道起步、动力随心
【环球聚看点】马斯克否认家里有矿:不是富二代而是白手起家
挑战千元旗舰耳机!真我Buds Air5 Pro行业首发50dB降噪
怎么用手机更健康?专家:正常光照下建议亮度控制在50%、距离50cm 天天亮点
巴菲特将AI比作原子弹:将会改变一切
网友的iPhone 14 Pro Max烧屏!苹果售后反馈“屏幕没问题”|动态焦点
客所思s10 客所思控制面板下载s10 环球最资讯
天天观点:Linux基础18 磁盘介绍, 结构, 磁盘分区Fdisk
Marked.js让您的文档编辑更加轻松自如-环球报资讯
Kerberos协议原理 全球时讯
验证码短信 API 接入指南:Java 语言示例代码 天天新消息
Tcl/Tk教程_编程入门自学教程_菜鸟教程-免费教程分享_世界观速讯
iPhone 16 Pro将采用固态按键:还有屏下Face ID!|世界今头条
咋想的?一住户小区花园内放生蟑螂 专家:病菌宿主可传播疾病_天天通讯
即时:餐馆有机花菜无认证遭索赔500元 正当维权还是恶意索赔?
全国首例超长矸石充填开采工作面在山能鲁西矿业新巨龙公司“上线”
关于Kubernetes-v1.23.6-master节点的初始化操作|全球播报
WEB中间件常见漏洞总结 当前通讯
企业短信遭疯狂盗用,可能是没配置验证码_当前报道
[webrtc 入门系列] centos搭建coturn服务器 当前播报
欧普康视:目前OK镜没有涉及到AIGC技术_今日关注
《小美人鱼》正片片段曝光:黑小美人鱼海底一展歌喉 天天滚动
全球今日讯!漫威影史最高分电影 《银河护卫队3》票房破2亿
俞敏洪谈为什么大量孩子失去好奇心:中国填鸭式教育、老师引导等造成 每日热点
世界消息!kingbase之ksql命令工具
【Issues】axios如何获取responseType为blob的请求的错误信息 环球时讯
浙江风彩网福彩双色球走势图_浙江风彩网 环球资讯
环球微速讯:一秒充一公里!华为全液冷超充架构全球首测:小鹏发去感谢信
京东20年为员工投入福利近500亿 还建4000套员工公寓 租金仅5折
别总盯着帕萨特 新一代别克君越上市定档:20万最香行政轿车来了
电动车主自驾更省钱!支付宝出行可看电价波动 一键比价
天天视讯!手机丢了三年后被启用:摄像头拍下非洲小哥
【上海成交周报】第19周新房成交2627套,涨价房源1613套 天天精选
常见的 API 大全分享_全球观点
C#高级编程--通信协议
GPS北斗卫星时间同步系统助力电力自动化网络系统_世界看热讯
世界热资讯!螣龙安科携攻击面管理和BAS再上榜!2023网安行业全景图速看
ESXI运行虚拟机,软件包0CPU耗用高 当前热门
观天下!河南董寨为野外孵化的朱鹮幼鸟佩戴“身份证”
华硕k43s什么时候上市的?华硕k43s参数
首款天玑8020平板电脑!荣耀平板V8今日发售:1899元起
环球关注:高性能大屏轻薄本华为MateBook D 16将开售 高质价比的实力之选
0月租!中兴U50 Pro 5G随身Wi-Fi首销:1699元|全球快资讯
员工拒从北京调离被开除 获赔14万+:官方支持维权 地点调整处理不当
罗永浩直播间拍卖西湖公厕充电宝 超低起拍价58元