用Google AJAX Search API对互联网上Linux命令出现次数排名

用Google AJAX Search API对互联网上Linux命令出现次数排名

本文链接:http://codingstandards.iteye.com/blog/798861   (转载请注明出处)

基本思路

  最近开始编写《我使用过的Linux命令系列 》博文,忽然想到一个问题,在互联网上到底哪些Linux命令更热一些,或者介绍的文章多些。基本思路如下:

  首先确定有哪些命令,为了得到尽可能全面的命令列表,我用VMWare把RHEL5.5进行了完整的安装,安装好之后利用Bash提供的命令补全功能,得到了命令列表,见附件rhel55.txt,具体做法是在Bash命令行上直接按TAB键然后不断按空白键列出所有命令。

  然后得到每个命令出现的次数,开始时我做了一下尝试,在Google上手工输入了一些命令,关键字选择“linux 命令”的形式。比如adduser命令采用的关键字就是“linux adduser”,可以得到有255,000条结果,中文页面有137,000条结果。但是这样手工一条条做,显然工作量太大,因此想到了Google Search API,在其上注册了一个账号,然后编写Bash脚本测试。经过一些尝试,发现这种方式还是可行的:对每个命令进行遍历,执行Google搜索得到估计数量,输出到文件中。关于Google AJAX Search API在Linux命令行下的使用方法详见这里

  最后将得到的命令统计数量文件进行排序,就大功告成了。

Bash脚本

Bash脚本文件 estimate.sh

#!/bin/sh

# usage: google_search <STR>
# Google搜索
google_search()
{
	REF="http://codingstandards.iteye.com/"
	KEY="ABQIAAAAHg_ENG5Yq9pOZd19v64gyxTMcdcN4KfyGCBxustvF1FXdNe4WBQOej_ZiBgIK6-a4M3hTxcVfSkt2g"
	STR="$1"
	# 采用网页搜索
	#curl -e $REF "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=$STR&hl=zh-CN" 2>/dev/null
	# 采用博客搜索
	#curl -e $REF "http://ajax.googleapis.com/ajax/services/search/blogs?v=1.0&q=$STR&hl=zh-CN" 2>/dev/null
	#curl --retry 5 -e $REF "http://ajax.googleapis.com/ajax/services/search/blogs?v=1.0&q=$STR&hl=zh-CN" 2>/dev/null
	curl --retry 5 -e "$REF" "http://ajax.googleapis.com/ajax/services/search/blogs?v=1.0&q=$STR&hl=zh-CN&key=$KEY" 2>/dev/null
}

# usage: get_estimate_count <CMD>
# 得到指定命令的Google搜索结果的估计数量
get_estimate_count()
{
	CMD=$1

	# 得到google搜索的结果
	#RESPONSE_DATA=$(google_search "Linux+%2B$CMD+%2B命令")
	RESPONSE_DATA=$(google_search "Linux+%2B\"$CMD命令\"")
	#echo $RESPONSE_DATA
	echo $RESPONSE_DATA >temp/$CMD.json

	# 将"estimatedResultCount":"左边的部分截掉
	ESTIMATE_COUNT=${RESPONSE_DATA#*\"estimatedResultCount\":\"}
	#echo $ESTIMATE_COUNT

	# 有时候会没有结果,比如对add_jar3进行搜索时
	if [ "$RESPONSE_DATA" == "$ESTIMATE_COUNT" ]; then
		#echo -
		# 不输出任何东西
		return
	fi

	# 将"右边的部分截掉
	ESTIMATE_COUNT=${ESTIMATE_COUNT%%\"*}
	#echo $ESTIMATE_COUNT

	echo $ESTIMATE_COUNT
}

#get_estimate_count add_jar3
#get_estimate_count sesearch
#get_estimate_count in

# usage: proc_cmd
proc_cmd()
{
	CMD=$1
	NUM=$(get_estimate_count $CMD)
	# 发现有时候并不能得到数值,因此只有返回数值的时候才打印信息
	if [ "$NUM" ]; then
		printf "%-36s\t%12s\n"	$CMD	$NUM
	else
		echo $CMD >&2
		echo $CMD >>failed.dat
	fi
}

# usage: estimate_file <FILE>
# 对指定文件中的命令进行Google搜索,显示成“命令 数量”的格式
estimate_file()
{
	FILE=$1
	MAX_PROCESSES=1
	CUR_PROCESSES=0
	for CMD in $(cat $FILE)
	do
		# 没有处理过的命令才进行搜索
		if ! grep -q "$CMD " estimate.dat; then
			proc_cmd $CMD &
			CUR_PROCESSES=$[CUR_PROCESSES+1]
			if [ "$CUR_PROCESSES" == "$MAX_PROCESSES" ]; then
				wait
				CUR_PROCESSES=0
			fi
		fi
	done
	if [ "$CUR_PROCESSES" != "0" ]; then
		wait
	fi
}

# usage: estimate_files <FILE1> <FILE2> ...
# 对多个文件进行数量统计
estimate_files()
{
	for FILE in "$@"
	do
		estimate_file $FILE
	done
}

# usage:main
main()
{
	# 对当前目录下的所有txt文件进行处理
	#estimate_files ?.txt | tee estimate.dat
	#estimate_files "$@" | tee estimate.dat
	estimate_files "$@" | tee -a estimate.dat

	# 按照数量倒序排列
	sort -k 2 -n -r estimate.dat >estimate_sorted.dat
}

if [ "reset" == "$1" ]; then
	rm -rf temp
	rm -f failed.dat
	rm -f estimate.dat estimate_sorted.dat
else
	rm -f failed.dat
	mkdir -p temp
	#main ?.txt
	#main rhel55.txt
	main "$@"
fi

 

使用方式:./estimate.sh <command-file>

比如:./estimate.sh rhel55.txt

这个需要很长时间运行,我是使用screen命令 来运行的。

运行结果

排在前100位的Linux命令统计数据如下

 

数据文件 estimate_sort.dat

for                                 	    14717552
php                                 	     3633635
POST                                	     3500295
if                                  	     3105116
free                                	     3077812
GET                                 	     2754997
Mail                                	     2546814
X                                   	     2354642
c++                                 	     2078740
install                             	     1663794
then                                	     1496335
look                                	     1382716
do                                  	     1382077
red                                 	     1297329
while                               	     1296227
r++                                 	     1278640
ip                                  	     1159486
g++                                 	     1090350
co                                  	     1072202
jobs                                	     1064459
screen                              	     1061419
case                                	     1038589
command                             	     1020028
complete                            	      969708
touch                               	      939152
times                               	      929702
true                                	      922490
done                                	      881188
chat                                	      843574
else                                	      837265
talk                                	      830200
patch                               	      804871
fi                                  	      734431
spam                                	      703822
open                                	      703104
break                               	      699024
until                               	      694978
continue                            	      687704
python                              	      670149
groups                              	      670066
wish                                	      658274
HEAD                                	      649301
star                                	      623613
return                              	      595490
du                                  	      595178
function                            	      583288
clear                               	      557484
history                             	      553110
compare                             	      531711
amd                                 	      519778
join                                	      504890
cut                                 	      490316
ruby                                	      482702
sudo                                	      481834
firefox                             	      448990
apt                                 	      432220
replace                             	      431444
export                              	      425227
pr                                  	      422921
reboot                              	      411582
bash                                	      409009
ar                                  	      408693
ac                                  	      408108
clock                               	      406453
kill                                	      399793
reset                               	      390244
import                              	      382678
wall                                	      382328
crash                               	      381835
states                              	      361991
exit                                	      356256
gcc                                 	      344048
newer                               	      333310
factor                              	      319654
column                              	      312702
spent                               	      301818
ci                                  	      290611
paste                               	      286709
accept                              	      280039
grub                                	      275932
false                               	      274413
arch                                	      273525
flex                                	      269829
flex++                              	      268928
sort                                	      266867
weather                             	      259220
ab                                  	      248634
nl                                  	      244664
chmod                               	      226770
osx                                 	      226762
cancel                              	      223539
fc                                  	      219973
telnet                              	      216743
batch                               	      215047
units                               	      207773
yum                                 	      200619
alternatives                        	      193568
wget                                	      190392
emacs                               	      190248
tux                                 	      189157

 

不足之处

  在使用Google Search API的进行网页数量估算的时候,发现数量不太准确,比如直接使用Google搜索得到的数量与通过Google Search API得到的数量不一致,差别还蛮大。后来在Google上搜索一下,发现很多人提到了这个问题,说得到的estimatedResultCount并不准确。

  还有就是,通过关键字“linux 命令”的方式得到的搜索结果中,并不是所有的页面都是来关于这个Linux命令的,比如通过"linux complete"这个关键字搜索到的主要是介绍Linux参考大全的页面。这也是美中不足的地方。后来我还尝试过使用"linux adduser命令"这种形式的关键字,或者不采用网页搜索而采用博客搜索。都无法彻底解决这个问题。

  列位看官,如果您有什么好主意,请留下您的想法。

 

OpenWebRL:40亿参数网页智能体实战指南 网页智能体是指AI通过真实浏览器交互完成任务的系统,其核心原理在于多模态感知、动作规划与环境反馈闭环。技术价值体现在降低训练门槛、提升抗干扰性与长尾网站泛化能力,突破传统监督学习依赖静态截图和人工标注的局限。典型应用场景包括自动化比价、RPA流程增强、无障碍网页导航及教育类交互演示。OpenWebRL以4B小模型+真实环境试错训练+文字反馈驱动,实现了对验证码、反爬、页面改版等现实干扰的鲁棒响应,成为当前开源领域最具落地潜力的网页操作智能体方案。 阅读详情

相关推荐

CAD+ËÃÊÑË·½Á¿×Öɼ

CAD+ËÃÊÑË·½Á¿×Öɼ

【四旋翼飞行器】【模拟悬链机器人的动态】设计和控制由两个四旋翼飞行器推动的缆绳研究(Matlab代码实现)

内容概要:本文研究了由两个四旋翼飞行器协同推动缆绳系统的动力学建模与控制问题,提出了一种模拟悬链机器人动态行为的方法。通过建立系统的非线性动力学模型,分析其力学特性、运动学约束及多智能体协同控制机制,并采用Matlab进行仿真与代码实现,实现了对缆绳形态、位置和张力的精确控制。研究涵盖系统建模、控制器设计、仿真验证等关键环节,重点探讨了分布式控制策略在柔性连接结构中的应用,展示了多无人机系统在空中作业任务中的可行性与优势。; 适合人群:具备一定控制理论基础和Matlab编程能力的科研人员、自动化、机器人及相关专业的研究生或高年级本科生。; 使用场景及目标:①用于学习多无人机协同控制系统的设计与仿真方法;②掌握基于物理建模的柔性体动态控制算法实现;③为开展空中协作运输、建筑施工、应急救援等实际应用场景提供理论支撑与技术参考; 阅读建议:读者应结合文中提供的Matlab代码深入理解系统建模过程与控制算法设计逻辑,建议在仿真过程中调整控制参数以观察系统响应变化,进一步探索优化控制策略以提升系统稳定性和鲁棒性。

CAD+ËÃÊÐÐÂÐÊËÊÏûɼ

CAD+ËÃÊÐÐÂÐÊËÊÏûɼ

TDS 2014示波器使用手册

已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 ### TDS 2014示波器使用手册知识点总结 #### 一、TDS 1000B 和 TDS 2000B 系列数字存储示波器概述 - **产品系列**: TDS 1000B 和 TDS 2000B 是由 Tektronix 公司所研发并推出的数字存储示波器产品线。 - **功能定位**: 主要致力于为电子工程师以及研发人员提供具备高性能与高精度的信号测量设备。 - **应用领域**: 此类设备被普遍应用于教育机构、研发实验室以及工业生产过程中的测试环节。 #### 二、TDS 2014示波器基本操作与使用 - **开机与基本设置**: - 在启动设备时,必须确保仪器已经正确接地。 - 在使用之前,需要根据观察需求设定合适的屏幕亮度、对比度等显示参数。 - **通道选择与配置**: - 可以通过触摸显示屏或设备前面板上的按钮来选定需要进行的测量通道。 - 可依据实际需求来调整垂直灵敏度、水平时间基准等设置项。 - **触发设置**: - 触发模式包括自动、常态、单次等多种选择。 - 触发源与阈值设定涉及确定触发信号的具体来源及其电压阈值水平。 - **测量与分析功能**: - 提供多种自动测量功能选项,涵盖电压峰峰值、频率等参数的测量。 - 支持对波形进行数学运算,例如执行两个波形的相加或相减操作。 #### 三、TDS 2014示波器高级特性 - **波形捕获率**: - 波形捕获率越高,意味着在检测偶发事件方面的能力越强。 - **波形存储与回放**: - 支持将波形数据存储到内部存储单元或外部存储设备中。 - 用户能够随时调取先前保存的波形数据,以进行深入分析。 - *...

2026 年高教社杯全国大学生数学建模竞赛B 题 无线电干扰源的快速自动定位与清除(数学建模,代码,论文免费分享)

内容概要:本文聚焦2026年高教社杯全国大学生数学建模竞赛B题“无线电干扰源的快速自动定位与清除”,同时整合了多个数学建模与工程技术仿真研究资源,涵盖SEM广告投放策略优化、无人机协同路径规划、电力系统无功优化、微电网调度、负荷预测、电动汽车响应率建模等多个领域。其中重点详述了SEM广告投放策略的系统性建模,构建了从问题诊断、关键词分类、预算优化到不确定性环境下鲁棒决策的完整框架。提出基于成本—效益二维归一化的五类关键词划分方法(黄金词、重点词、潜力词、问题词、无效词),并建立了0-1整数规划与CVaR鲁棒优化模型,实现注册转化最大化与风险控制的平衡。文档还汇集了大量基于Matlab/Simulink的仿真资源,涉及智能优化算法、机器学习、信号处理、路径规划等方向,并配套提供代码与论文支持,形成跨学科的技术资源共享平台。; 适合人群:具备一定数据分析与建模基础,正在准备数学建模竞赛或从事科研工作的本科生、研究生及工程技术人员。; 使用场景及目标:①应用于数学建模竞赛备赛,学习多目标优化、分类模型、鲁棒决策等建模范式;②开展广告投放、电力调度、路径规划等领域的科研项目时借鉴模型构建与算法实现方法;③通过提供的Matlab/Python代码快速复现经典或前沿研究成果,提升科研效率与实践能力。; 阅读建议:此资源集合了多个独立研究主题,建议读者根据自身研究方向选择性阅读,重点关注模型构建逻辑与算法实现细节,并结合所提供的Matlab/Python代码进行实践验证,以加深理解与应用能力。

TO-92封装是什么-下载即用.zip

打开链接下载源码: https://pan.quark.cn/s/a89f7876a37d 将硅片上的电路管脚通过导线引至外部连接点,目的是为了与其他设备建立连接。封装类型指的是用于固定半导体集成电路芯片的外壳结构。这种外壳不仅承担着固定、密封、保护芯片以及改善电热特性等多重功能,同时通过芯片上的接触点利用导线连接至封装外壳的引脚,这些引脚再经由印刷电路板的线路与其他部件相连,从而完成芯片与外部电路的沟通。由于芯片必须与外界隔绝,以避免空气中杂质对电路造成腐蚀导致性能恶化,因此封装后的芯片也更为便于实施安装和运输。封装工艺的优劣直接关联到芯片自身特性和与之相接的PCB(衡量芯片封装技术水平的重要参照是芯片面积与封装面积的比例,这一比例越趋近于1则表示效果更佳。 【封装】在半导体产业中占据核心地位,其操作是将硅片上的电路端子借助导线连接至外部端口,以便与其他电子部件相接。封装的核心功能涵盖了固定、密封、保护芯片以及优化电热表现。封装外壳不仅作为芯片的物理防护层,更通过引脚将芯片与外部电路相连接,确保芯片功能的正常运作。封装的样式丰富多样,常见的有DIP(双列直插式封装)、SOP(小型封装)、SMD(表面贴装封装)、TO(晶体管封装)等。其中,TO-92是一种较为古老的晶体管封装方式,多用于小功率晶体管,其特征是在封装底部设有金属引脚,两侧各有两个引脚,外形类似字母“L”。 封装技术的革新直接影响芯片性能及其连接的PCB(印刷电路板)的工作效能。一个卓越的封装布局应尽可能减小芯片面积与封装面积的比率,从而提升封装的效率。除此之外,封装设计还需关注引脚的长度、间距、散热等要素,以减少信号传输的延迟,避免相互间的干扰,并确保良好的散热条件。封装技术的演进轨迹可从早期的TO封...

TEC计算-下载即用.zip

代码下载链接: https://pan.quark.cn/s/a4b39357ea24 依据所提供的文件资料,可以判断出这段代码与通过GPS数据计算电离层总电子含量(Total Electron Content, TEC)存在关联。尽管代码片段并不完整且包含了一些未完成的功能,但依然可以从现有资料中提取出一些关键性的知识点。 ### 1. 电离层总电子含量(TEC) **定义:** 电离层总电子含量(Total Electron Content, TEC)是指沿着信号传输路径单位面积上的电子总体数量,通常以TECU作为计量单位(1 TECU 等于 10^16 m^-2)。它作为研究电离层的重要指标之一,在卫星通信、导航系统以及遥感技术等领域具有关键性的应用意义。 **作用:** - **卫星通信与导航:** 掌握TEC数据有助于降低电离层对卫星信号的干扰,从而提升定位的精确度。 - **气象学与空间天气研究:** 通过监测TEC的动态变化,能够预测气象现象,特别是在太阳活动达到高峰的时期。 ### 2. GPS数据在TEC计算中的应用 **原理概述:** 电离层对GPS信号传播的主要影响表现为信号延迟现象。不同频率的GPS信号在穿过电离层时,由于受到不同电离层成分的作用会产生不同的延迟效果。因此,可以通过比较不同频率信号到达接收设备的时间差异来推算出电离层中的电子密度分布,进而得出TEC值。 **计算方法:** 一种常用的方法是通过双频观测数据来估算TEC。假设GPS接收设备接收到了两个不同频率的信号,比如L1和L2,它们分别位于1575.42 MHz和1227.6 MHz。通过分析这两个信号的相位差,可以消除大部分与接收设备相关的误差,从而精确地估算出电离层延...

2026年最新渭南市公交线路及站点矢量数据.zip

数据格式:shp 数据坐标:GCJ02 数据更新时间:2026年9月 公交线路来源:8684网站 https://8684.com.cn/ 站点数据来源:高德API接口 数据打开方式:QGIS或Arcgis 站点数据字段:名称、序号、对应线路、几何信息 线路数据字段:名称、类型、起点、终点、开始时间、结束时间、起步价、全价、长度、公司、几何信息

houdini笔记01

houdini笔记01

FileSearcher.zip

自研本机文件检索软件,适用与windows系统。

考虑积分饱和退饱动态与负载扰动的直流调速双闭环系统参数鲁棒整定(Simulink仿真实现)

内容概要:本文针对直流调速双闭环系统,深入研究了在考虑积分饱和退饱动态与负载扰动情况下的控制器参数鲁棒整定方法,并通过Simulink平台实现了完整的系统建模与仿真实验。文章系统阐述了电流环与转速环的控制结构设计,重点剖析了积分饱和现象对系统动态响应的不利影响,提出了有效的退饱和策略以抑制超调并加快恢复过程。在此基础上,构建了包含非线性环节和外部负载扰动的完整双闭环仿真模型,通过多工况对比仿真验证了所提出鲁棒参数整定方法的有效性,显著提升了系统在复杂工况下的稳定性、抗扰能力和动态品质。; 适合人群:具备自动控制原理、电机拖动及Simulink仿真基础的电气工程、自动化、机电一体化等领域的高校本科生、研究生、科研人员以及从事电机控制相关工作的工程技术人员。; 使用场景及目标:①应用于高校自动化类课程的教学实践与实验设计,深化学生对PID控制、双闭环调速系统工作机理及非线性问题处理方法的理解;②为工业领域直流驱动系统的控制器调试、参数优化与抗扰设计提供理论指导和技术验证手段;③支撑科研工作中对非线性补偿、鲁棒控制策略等先进控制理论的研究与应用拓展。; 阅读建议:建议读者结合提供的Simulink模型进行同步操作与参数调试,重点关注积分饱和的发生条件与退饱和模块的设计逻辑,通过设置不同的负载扰动场景开展对比仿真,深入理解参数变化对系统动态性能的影响规律,从而全面掌握高性能直流调速系统鲁棒设计的核心技术要点。

【风场景生成与削减】【m-ISODATA、kmean、HAC】无监督聚类算法,用于捕获电力系统中风场景生成与削减研究(Matlab代码实现)

内容概要:本文围绕某互联网公司SEM广告投放优化问题,构建了从投放策略诊断、关键词分类、预算约束下的投放优化到不确定环境下的鲁棒决策的完整建模体系。首先基于2025年数据从广告设计质量与创意、关键词管理、出价策略与预算、投放时间四个维度分析投放策略的合理性,揭示投入产出比的工作日与周末差异及春节、国庆等假日效应;其次提出成本—效益二维归一化分类框架,结合中位数分割与K-means聚类将关键词划分为黄金词、重点词、潜力词、问题词和无效词五类;进而建立以预期注册量最大化为目标、日预算与总预算双重约束的0-1整数规划模型,并设计贪心选词与拉格朗日对偶定价相结合的两阶段算法求解最优投放策略;最后引入CVaR鲁棒优化框架应对竞价、展现量、点击量、转化率等多重不确定性,给出兼顾效益与风险的鲁棒策略。研究结果实现了单位注册成本下降约20%,预算结构显著优化,投放策略更具稳健性。; 适合人群:具备数据分析与建模基础,从事数字营销、广告优化、运筹优化等相关工作的研究人员或从业者,以及工业工程、管理科学、计算机等相关专业的高年级本科生与研究生。; 使用场景及目标:①应用于搜索引擎营销(SEM)广告的关键词管理与投放优化;②为预算有限条件下的数字广告投放提供科学决策支持;③在不确定性环境中实现效益与风险的平衡优化;④作为教学案例展示数据驱动决策、分类模型、整数规划与鲁棒优化的实际应用。; 阅读建议:本文兼具理论深度与实践价值,建议读者结合附件数据与结果模板,复现模型求解过程,重点关注关键词分类逻辑、两阶段算法设计及CVaR鲁棒框架的实现细节,并尝试将其推广至其他平台或多周期动态优化场景中进行拓展研究。

2019身份证归属地数据文件

已经博主授权,源码转载自 https://pan.quark.cn/s/a4b39357ea24 2019年度的身份证号码归属地信息数据集文件,以及相应的SQL数据库脚本,均可依据实际需求自行导入到数据库系统中使用。

王国保卫战小学生自创游戏

王国保卫战小学生自创游戏

main函数(int-argc, char-argv)

代码下载地址: https://pan.quark.cn/s/fc37d8b27048 在函数`main(int argc, char *argv[])`中,参数`argv`被定义为一个指向指针的指针,而`argc`则是一个整数类型变量。这种参数的声明方式也可以表示为`char **argv`或者`char *argv[]`,另外一种等效的数组声明形式是`char argv[][]`。`main()`函数的括号内部分是固定的写法规范。以下通过一个实例来帮助理解这两个参数的具体应用方式: 假设程序的名称设定为`prog`, 当仅输入`prog`,则由操作系统传递给该函数的参数状态为: `argc=1`,表明仅包含一个程序名称元素。 `argc`仅包含一个元素,`argv[0]`指向输入的程序路径及名称:`./prog`。 当输入`prog para_1`,存在一个参数,则由操作系统传递给该函数的参数状态为: `argc=2`,表明除了程序名称外,还有一个参数存在。 `argv[0]`指向输入的程序路径及名称。 `argv[1]`指向参数`para_1`字符串。 当输入`prog para_1 para_2`,有两个参数,则由操作系统传递给该函数的参数状态为: `argc=3`,表明除了程序名称外,还有两个参数。 `argv[0]`指向输入的程序路径及名称。 `argv[1]`指向参数`para_1`字符串。 `argv[2]`指向参数`para_2`字符串。 ### 关于`main`函数的`int argc`、`char *argv[]` #### 一、引言 在C语言编程环境中,`main()`函数作为程序的起始执行点,是每个可执行程序中不可或缺的一部分。当一个程...

多多导出订单V4.0.zip

多多导出订单V4.0.zip

上一篇: 我使用过的Linux命令之time - 测定一个命令的资源使用情况
下一篇: 我使用过的Linux命令之dirname - 截取给定路径的目录部分
codingstandards
博客等级 码龄16年 12粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值