Linux 命令

开关机命令

reboot  // 重启系统
poweroff //关闭系统

shutdown [选项] 时间 [警告信息]
选项:-c:取消已经执行的 shutdown 命令;
	 -h:关机;
     -r:重启;
eg:  shutdown -h now     //立刻关机
	 shutdown -r 10:30   //在10:30重启

ifconfig 查看IP

ip addr          //列出已经启动的网卡
ifconfig         //列出已经启动的网卡
ifconfig eth0    //查看网卡eth0

用户相关

// 添加用户
useradd <用户名>  
 
//设置或修改当前用户的密码
passwd    

// 设置或修改指定用户的密码        
passwd <用户名>    

// 切换用户
su <用户名>
su - <用户名>   //完全切换到新的用户,即环境变量信息也变更为新用户的信息

// 退出当前用户
exit
ctrl + d

// 登出
logout

特殊字符 重定向相关

输入/输出 重定向符号
1.>>    追加重定向,把文字追加到文件的结尾
2.>     重定向符号,清空原文件所有内容,然后把文字覆盖到文件末尾
3.<     输入重定向
4.<<    将输入结果输入重定向
echo "oldboy-python666" > /tmp/oldboy.txt
echo "chaoge666" >> /tmp/oldboy.txt
cat >>/tmp/oldboy.txt << EOF

防火墙相关

systemctl status firewalld               //查看防火墙状态
systemctl start firewalld                 //开启防火墙
systemctl stop firewalld                 //关闭防火墙
systemctl disable firewalld              //关闭防火墙开机启动
systemctl is-enabled firewalld.service   //检查防火墙是否启动

ls 命令

ls -a   列出目录所有文件,包含以.开始的隐藏文件
ls -A   列出除.及..的其它文件
ls -r   反序排列
ls -t   以文件修改时间排序
ls -S   以文件大小排序
ls -h   以易读大小显示
ls -l   除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来

cd 切换目录

cd [目录]

cd     //切换到当前用户的家目录
cd /   //切换到根目录
cd -   //切换到前一次的目录
cd ..  //切换到上一级目录

pwd 查看当前工作目录路径

pwd       //查看当前工作目录路径
pwd -P    //查看软链接的实际路径

创建文件夹

mkdir [路径]
mkdir -p [路径]   //若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那 些尚不在的目录,即一次可以建立多个目录;

删除文件

rm [选项] [文件名]
选项: -f   强制删除,不需确认
	  -i   删除前需要确认
	  -d   删除空文件夹
	  -r   递归删除目录及其内容
	  -v   输出处理信息

删除空目录

rmdir [选项] [文件名]
选项: -p   删除了空目录后,使上一级目录为空时,上一级目录也会被删除
	  -v   输出处理信息

移动文件或修改文件名

mv [选项] [文件名或路径] [修改后的文件名或路径]
选项: -f   在覆盖文件时不会提示
	  -i   在覆盖文件前需要确认
	  -n   不会覆盖已经存在的文件
	  -b   备份
	  -v   输出操作信息

复制

cp [选项] [源文件的路径] [目标路径]
选项: -f   如果目标文件无法打开,会将其删除并重试
	  -i   在复制文件前需要确认
	  -a   复制的文件的时间与源文件一样
	  -r   复制目录及目录内所有项目
	  -s   创建一个软链接(快捷方式)
	  -l   创建一个硬链接
	  -v   输出操作信息

cat

cat [选项] [文件名]      // 显示整个文件
cat > [文件名]    // 创建一个新文件(不能编辑)
cat file1 file2 > file3   // 将几个文件合并成一个文件
选项:  -b  对非空行输出行号
	   -n  对所有行输出行号
tac [文件名]      //按行反序显示文件内容

more 分页显示

more [选项] [文件名]      // 分页显示整个文件
选项:  +n   从笫n行开始显示
	   -n   定义屏幕大小为n行
	   -c 	从顶部清屏,然后显示
	   -d 	提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
       -l 	忽略Ctrl+l(换页)字符
       -p   通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
       -s 	把连续的多个空行显示为一行
	   -u   把文件内容中的下画线去掉
	   +/pattern   在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示

常用操作命令:

	Enter    向下n行,需要定义。默认为1行
	Ctrl+F   向下滚动一屏
    空格键    向下滚动一屏
    Ctrl+B   返回上一屏
	 =       输出当前行的行号
    :f 	 输出文件名和当前行的行号
	 V 		 调用vi编辑器
	!命令    调用Shell,并执行命令
     q 		 退出more

less

lessmore 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,
却不能向后移动,而且 less 在查看之前不会加载整个文件。

less [选项] [文件名]

选项: -i  忽略搜索时的大小写
	  -N  显示每行的行号
​ 	  -s  显示连续空行为一行
	  -o <文件名>   将less 输出的内容在指定文件中保存起来
	  -x <数字>     将“tab”键显示为规定的数字空格
	  /字符串       向下搜索“字符串”的功能
	  ?字符串	   向上搜索“字符串”的功能
	  n		重复前一个搜索(与 / 或 ? 有关)
	  N		反向重复前一个搜索(与 / 或 ? 有关)
	  b 	向后翻一页
	  d 	向后翻半页
 	  h 	显示帮助界面
 	  Q 	退出less 命令
	  u 	向前滚动半页
	  y 	向前滚动一行
	空格键 	滚动一行
	回车键   滚动一页
  [pagedown]  向下翻动一页
  [pageup]    向上翻动一页

head

head [选项] [文件名]      // 显示文件
选项:  -n num 显示文件前num行
	   -c num  显示文件前num个字节

tail

tail [选项] [文件名]      // 显示整个文件
选项:  -f	 循环读取
	   -q 	不显示处理信息
	   -v 	显示详细的处理信息
	   -c<数目> 	显示的字节数
       -n<行数>	 显示行数
	   --pid=PID 	与-f合用,表示在进程ID,PID死掉之后结束.
	   -q, --quiet, --silent 	从不输出给出文件名的首部
	   -s, --sleep-interval=S 	与-f合用,表示在每次反复的间隔休眠S秒

which 查看可执行文件的位置

which是在PATH就是指定的路径中,搜索某个系统命令的位置,
并返回第一个搜索结果。使用which命令,就可以看到某个系
统命令是否存在,以及执行的到底是哪一个位置的命令。

which [选项] [文件名]      // 查看可执行文件的位置
选项:  -n  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

whereis 查看可执行文件

​ whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。
如果省略参数,则返回所有信息。whereis及locate都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。

whereis [选项] [文件名]      // 查看可执行文件的位置
选项:   -b 	定位可执行文件。
	 	-m 	定位帮助文件。
		-s 	定位源代码文件。
		-u 	搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。

locate

locate通过搜寻系统内建文档数据库达到快速找到档案,数据库由updatedb程序来更新

locate [选项] [文件名]      // 
选项:  -l 	num(要显示的行数)
	   -f 	将特定的档案系统排除在外,如将proc排除在外
	   -r 	使用正则运算式做为寻找条件

find 文件树中查找文件

find pathname -options [-print -exec -ok ...]
​ 命令参数:
 pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
 -print: find命令将匹配的文件输出到标准输出。
 -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } ;,注意{ }和\;之间的空格。
 -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

选项:  -name  按照文件名查找文件
	   -perm  按文件权限查找文件
	   -user  按文件属主查找文件
	   -group 按照文件所属的组来查找文件。
	   -type  查找某一类型的文件,诸如:
	 	  b - 块设备文件
		  d - 目录
		  c - 字符设备文件
		  l - 符号链接文件
		  p - 管道文件
		  f - 普通文件
	   -size n :[c]    查找文件长度为n块文件,带有c时表文件字节大小
	   -amin n   查找系统中最后N分钟访问的文件
	   -atime n  查找系统中最后n*24小时访问的文件
	   -cmin n   查找系统中最后N分钟被改变文件状态的文件
	   -ctime n  查找系统中最后n*24小时被改变文件状态的文件
	   -mmin n   查找系统中最后N分钟被改变文件数据的文件
 	   -mtime n  查找系统中最后n*24小时被改变文件数据的文件
           (用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。 )
	   -maxdepth n   最大查找目录深度
	   -prune     选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略
	   -newer     如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项

grep 文本搜索命令

强大的文本搜索命令,grep(Global Regular Expression Print)全局正则表达式搜索

grep [选项] pattern file|dir
pattern:  正则表达式
选项: -A n --after-context	显示匹配字符后n行
	  -B n --before-context	显示匹配字符前n行
	  -C n --context 	显示匹配字符前后n行
	  -c --count 	计算符合样式的列数
	  -i 	忽略大小写
	  -l 	只列出文件内容符合指定的样式的文件名称
	  -f 	从文件中读取关键词
	  -n 	显示匹配内容的所在文件中行数
	  -R 	递归查找文件夹

grep的规则表达式:
	^ 	 锚定行的开始 如:'^grep'匹配所有以grep开头的行。
	$ 	 锚定行的结束 如:'grep$'匹配所有以grep结尾的行。
	.    匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。
	*    匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。
    .*   一起用代表任意字符。
    []   匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。
   [^]   匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
  (..)   标记匹配字符,如'(love)',love被标记为1。
    <    锚定单词的开始,如:'<grep'匹配包含以grep开头的单词的行。
   ​ >    锚定单词的结束,如'grep>'匹配包含以grep结尾的单词的行。
  x{m}   重复字符x,m次,如:'0{5}'匹配包含5个o的行。
  x{m,}  重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行。
 x{m,n}  重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5--10个o的行。
   \w    匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。
   \W    \w的反置形式,匹配一个或多个非单词字符,如点号句号等。
   \b    单词锁定符,如: '\bgrep\b'只匹配grep。

chmod 访问权限

chmod [权限] [文件名] [选项]

选项: -c 	当发生改变时,报告处理信息
      -R 	处理指定目录以及其子目录下所有文件
权限范围:
      u :目录或者文件的当前的用户
	  g :目录或者文件的当前的群组
  	  o :除了目录或者文件的当前用户或群组之外的用户或者群组
	  a :所有的用户及群组
权限代号:
	r :读权限,用数字4表示
 	w :写权限,用数字2表示
	x :执行权限,用数字1表示
    - :删除权限,用数字0表示
    s :特殊权限
eg:   
	chmod 751 test.txt -c   //给test.txt 文件的属主、属组和其它分别授予权限
	chmod a+w testdir -R    //给testdir及其子文件的所有用户授予写权限
	chmod u-x test.txt      //将属主的执行权限撤销
	chmod o=r test.txt      //撤销所有用户的权限,在给其它用户授予读权限

tar 压缩和解压

tar本身只具有打包功能,有关压缩及解压是调用其它的功能来完成。
tar [选项] [目标打包(压缩)文件名] [要打包压缩的文件]
选项:-c  建立新的压缩文件
	 -f  指定压缩文件
	 -r  添加文件到已经压缩文件包中
 	 -u  添加改了和现有的文件到压缩包中
	 -x  从压缩包中抽取文件
	 -t  显示压缩文件中的内容
 	 -z  支持gzip压缩
	 -j  支持bzip2压缩
	 -Z  支持compress解压文件
	 -v  显示操作过程
	 --exclude [文件名]  将该文件不加入打的包中
gzip实例:
gzip fileName.tar.gz    相当于  tar zcvf filename.tar.gz 
gzip -d filename.gz     相当于  tar zxvf filename.tar.gz

bz2实例:
bzip2 -z filename.tar.bz2   相当于   tar jcvf filename.tar.gz
bzip2 -d filename.bz2       相当于   tar jxvf filename.tar.bz2

chown 改为指定的用户或组

chown [选项] [用户]:[] [文件]
选项: -c  显示更改的部分的信息
	  -R  处理指定目录及子目录

df 显示磁盘空间

df [选项] 
选项: ​ -a  全部文件系统列表
	   -h  以方便阅读的方式显示信息
	   -i  显示inode信息
	   -k  区块为1024字节
	   -l  只显示本地磁盘
	   -T  列出文件系统类型

du 查看使用空间

du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看
du [选项][文件] 
选项: ​ -a  显示目录中所有文件大小
	   -k  以KB为单位显示文件大小
	   -m  以MB为单位显示文件大小
	   -g  以GB为单位显示文件大小
	   -h  以易读方式显示文件大小
	   -s  仅显示总计
	   -c或--total  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和

ln命令

软链接:
​ 1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
 2.软链接可以跨文件系统,硬链接不可以
 3.软链接可以对一个不存在的文件名进行链接
 4.软链接可以对目录进行链接

硬链接:
 1.硬链接,以文件副本的形式存在。但不占用实际空间。
​ 2.不允许给目录创建硬链接
​ 3.硬链接只有在同一个文件系统中才能创建

ln [选项][文件] 
选项: ​ -b  删除,覆盖以前建立的链接
 	   -s  软链接(符号链接)
       -v  显示详细处理过程

date 显示时间

显示或设定系统的日期与时间

date [选项]
选项: -d<字符串>  显示字符串所指的日期与时间。字符串前后必须加上双引号。
	  -s<字符串>  根据字符串来设置日期与时间。字符串前后必须加上双引号。
	  -u  显示GMT。
	  %H  小时(00-23)
	  %I  小时(00-12)
	  %M  分钟(以00-59来表示)
	  %s  总秒数。起算时间为1970-01-01 00:00:00 UTC。
	  %S  秒(以本地的惯用法来表示)
	  %a  星期的缩写。
	  %A  星期的完整名称。
	  %d  日期(以01-31来表示)。
	  %D  日期(含年月日)。
	  %m  月份(以01-12来表示)。
	  %y  年份(以00-99来表示)。
	  %Y  年份(以四位数来表示)。
eg:
date +%Y%m%d --date="+1 day" //显示下一天的日期
date -d "nov 22"    //今年的 11 月 22 日是星期三
date -d '2 weeks'   //2周后的日期
date -d 'next monday'    //下周一的日期
date -d next-day +%Y%m%d  date -d tomorrow +%Y%m%d   //明天的日期  
date -d last-day +%Y%m%d  date -d yesterday +%Y%m%d  //昨天的日期 
date -d last-month +%Y%m   //上个月是几月
date -d next-month +%Y%m   //下个月是几月

cal命令

cal [选项] [] []
选项: -3  显示前一月,当前月,后一月三个月的日历
	  -m  显示星期一为第一列
	  -j  显示在当前年第几天
	  -y [year]     显示当前年[year]份的日历

wc命令

wc : word count
wc [选项] [文件]
选项: -c  统计字节数
	  -l  统计行数
	  -m  统计字符数
	  -w  统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串

ps 查看进程

 ps(process status),用来查看当前运行的进程状态,一次性查看,
 如果需要动态连续结果使用top
 
 linux上进程有5种状态:
	 1. 运行(正在运行或在运行队列中等待)
	 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
	 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
	 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
	 5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

​ ps工具标识进程的5种状态码:
	 D 不可中断 uninterruptible sleep (usually IO)
	 R 运行 runnable (on run queue)
	 S 中断 sleeping
	 T 停止 traced or stopped
	 Z 僵死 a defunct (”zombie”) process

选项:
	  -A 显示所有进程
	   a 显示所有进程
	  -a 显示同一终端下所有进程
	  ​ c 显示进程真实名称
	   e 显示环境变量
	   f 显示进程间的关系
	   r 显示当前终端运行的进程
	-aux 显示所有包含其它使用的进程

top 正执行的进程

​ 显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
top [ 选项]
选项: -c   显示完整的进程命令
	  -s   保密模式
	  -p <进程号>   指定进程显示
	  -n <次数>  循环显示次数
显示信息的列名:
	PID   — 进程id
    USER  — 进程所有者
	PR    — 进程优先级
   ​ NI    — nice值。负值表示高优先级,正值表示低优先级
    VIRT  — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    RES   — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
	SHR   — 共享内存大小,单位kb
    S     — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
	%CPU  — 上次更新到现在的CPU时间占用百分比
    %MEM  — 进程使用的物理内存百分比
	TIME+ — 进程使用的CPU时间总计,单位1/100秒
  COMMAND — 进程名称(命令名/命令行)
  
top交互命令:
	 h  显示top交互命令帮助信息
	 c  切换显示命令名称和完整命令行
	 m  以内存使用率排序
 	 P  根据CPU使用百分比大小进行排序
 	 T  根据时间/累计时间进行排序
	 W  将当前设置写入~/.toprc文件中
	 o或者O  改变显示项目的顺序

kill 杀死进程

kill [选项] [进程号]
选项:  -l   信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
	   -a   当处理当前进程时,不限制命令名和进程号的对应关系
	   -p   指定kill 命令只打印相关进程的进程号,而不发送任何信号
	   -s   指定发送信号
	   -u   指定用户

free 显示内存使用情况

显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。

free [选项]
选项:-b  以Byte显示内存使用情况
	 -k  以kb为单位显示内存使用情况
	 -m  以mb为单位显示内存使用情况
	 -g  以gb为单位显示内存使用情况
	 -t  显示内存使用总合
	 -s<间隔秒数>  持续显示内存

scp 传输文件

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令

scp [选项] 本地源文件 远程文件标记

选项: -r  递归复制整个目录
	  -v  详细方式输出
	  -q  不显示传输进度条
	  -C  允许压缩
eg:
传输本地文件到远程地址
scp 本地文件  远程用户名@远程ip:远程文件夹/
scp 本地文件  远程用户名@远程ip:远程文件夹/远程文件名

scp /tmp/chaoge.py root@192.168.1.155:/home/
scp /tmp/chaoge.py root@192.168.1.155:/home/chaoge_python.py

scp -r  本地文件夹  远程用户名@远程ip:远程文件夹/
scp -r /tmp/oldboy root@192.168.1.155:/home/oldboy

复制远程文件到本地
scp root@192.168.1.155:/home/oldboy.txt /tmp/oldboy.txt
scp -r root@192.168.1.155:/home/oldboy /home/

VI 和vim 编辑文本

vi filename            打开或新建文件,并将光标置于第一行首
vi n filename          打开文件,并将光标置于第n行首
vi /pattern filename   打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename         在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename  打开多个文件,依次进行编辑

屏幕翻滚类命令:
	​ Ctrl u:向文件首翻半屏
	 Ctrl d:向文件尾翻半屏
	 Ctrl f:向文件尾翻一屏
	 Ctrl+b;向文件首翻一屏
	 nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部.
	 
插入文本类命令:
	 i :在光标前
	 I :在当前行首
	 a:光标后
 	 A:在当前行尾
	 o:在当前行之下新开一行
	 O:在当前行之上新开一行
	 r:替换当前字符
	 R:替换当前字符及其后的字符,直至按ESC键
	 s:从当前光标位置处开始,以输入的文本替代指定数目的字符

保存退出:
 	:w 保存文件但不退出vi
 	:w file 将修改另外保存到file中,不退出vi
	:w! 强制保存,不推出vi
    :wq 保存文件并退出vi
  	:wq! 强制保存文件,并退出vi
	:q 不保存文件,退出vi
    :q! 不保存文件,强制退出vi
	:e! 放弃所有修改,从上次保存文件开始再编辑
​

PATH

注意事项: PATH中的环境变量有顺序,如果你添加的变量需要优先被搜索出,
         需要添加在变量首,否则放在尾部
echo $PATH   // 查看环境变量

export PATH=/usr/local/mongdb/bin:$PATH   //临时修改环境变量
	优点:立即生效
	缺点:临时改变,只针对当前终端,退出就恢复原样

针对用户修改PATH变量:
	vim ~/.bashrc 
	在最后一行添加
	export PATH=/usr/local/mongodb/bin:$PATH
	保存关闭
	读取该文件让其生效
	source ~/.bashrc  
	优点:针对当前用户,永久有效
	缺点:仅限当前用户

全局修改PATH变量:
	编辑该文件
	vim /etc/profile
	在文件尾添加,
	export PATH=/usr/local/mongodb/bin:$PATH
	保存退出,重启生效

PS1 设置命令提示符显示的内容

echo $PS1   //查看

内部变量:
	\d  日期
	\H  完整主机名
	\h  主机名第一个名字
	\t  时间24小时制HHMMSS
	\T  时间12小时制
	\A  时间24小时制HHMM
	\u  当前用户账号名
	\v  BASH的版本
	\w  完整工作目录
	\W  利用basename取得工作目录名
	\#  下达的第几个命令
	\$  提示字符,root为#,普通用户为$

全局修改
	vim /etc/profile 
	文件尾添加
	PS1='[\u@\h \W\t]\$'    # 针对上述变量自行更改
	重启生效

临时修改
	export PS1='[\u@\h \W\t]\$' 

| 管道命令

Linux提供的管道符“|”将两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入。
eg:
ps -ef|grep "python"   检查python程序是否启动
ls /tmp|grep '.txt'    找到/tmp目录下所有txt文件
netstat -tunlp |grep nginx    检查nginx的端口是否存活

转载至:https://www.cnblogs.com/yuncong/p/10247583.html#autoid-0-0-0.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值