Linux基本命令(逐渐更新完善)

目录

一:基本命令操作 

(0):如何查看当前进程

(1):怎么清屏

(2):ll 和 ls 的使用方法

(3):目录创建,文件创建,复制文件

(4):find命令

(5):mv命令

(6):cp命令

(7):rm命令

(8):tree命令

二:文件操作

(1)find和rm

1:删除目录下所有exe文件

2:递归删除指定大小的文件(145800)

3.递归删除.pyc格式的文件 

(2) split拆分文件 

1.使用split命令将上面创建的date.file文件分割成大小为10KB的小文件:

2.使用-l选项根据文件的行数来分割文件,例如把文件分割成每个包含10行的小文件:

(3)文件内容的操作 

        1.修改内容文件

2.文件内容查看 

3.查看文件最后几行**

(4)文件内部搜索指定的内容 grep

 1.查找/etc/passwd文件中是否存在quail用户信息 

2.ifconfig看到网卡信息,只查看IP地址所在行信息

3.统计list.text中root 字符总行数

 4.不区分大小写查找RoOt所有行

5.打印www行以及行号 

6.不打印root行 

7.以168.开头的接3 5的行 

8.匹配字母紧跟w 的行

(5)awk

1.逐行打印第二列

2. 将email.out进行切分,打印出第1/3列内容 

3. 将email.out进行切分,当第1列为tcp,第2列为1的列,全部打印 

4、查看第三行内容 

5.显示第一列和第二列内容  (指定分隔符 -F)

6.ARGV使用 

7.自定义变量  -v

8.打印前三行的文本内容 

9. 根据逗号,切分数据,并将第一列存在文件test01.txt中

(6)sed 内容替换

1.打印文件内容 ‘p’  打印出匹配的内容,通常与-n选项和用

2. ’a‘  在指定内容后面插入

3. ’i‘  在指定行之前插入内容

4.'c' 替换指定的整行内容 

5. 'd' 删除文件内容 

(7)压缩和解压缩 

1.zip

2.zip/unzip 

(8)文件权限 chmod

三:用户权限操作 

(1)用户操作 useradd  userdel

1.新创建一个oracle用户,这初始属于oinstall组,且同时让他也属于dba组。

2.建立一个新用户账户testuser1,并设置UID为544,主目录为/usr/testuser1,属于users组 

3.userdel删除用户 

(2)添加,删除 组

1.添加用户组

3.删除组

4.可以看到自己的分组和id

(3)chown 

1.将kibana-8.3.3-linux-x86_64.tar.gz所有者改为用户sum 

2.将kibana-8.3.3-linux-x86_64.tar.gz所有者改为用户sum、所有组改为sum 


一:基本命令操作 

全部记住我觉得是没有太大必要的。记住重要的几个部分即可k

1)/ 根目录
2)/boot 引导程序,内核等存放的目录
3)/sbin 超级用户可以使用的命令的存放目录
4)/bin 普通用户可以使用的命令的存放目录
5)/lib 根目录下的所程序的共享库目录
6)/dev 设备文件目录
在Linux中设备都是以文件形式出现,这里的设备可以是硬盘,键盘,鼠标,网卡,终端,等设备,通过访问这些文件可以访问到相应的设备。
7)/home 普通用户的家目录
8)/root 用户root的$HOME目录
9)/etc 全局的配置文件存放目录
10)/usr 这个目录中包含了命令库文件和在通常操作中不会修改的文件。
11)/proc 特殊文件目录
这个目录采用一种特殊的文件系统格式,有助于我们了解系统内部信息。
12)/opt 可择的文件目录
这个目录表示的是可择的意思,些自定义软件包或者第方工具,就可以安装在这里。
13)/mnt 临时挂载目录
这个目录一般是用于存放挂载储存设备的挂载目录的,比如磁盘,光驱,网络文件系统等,当我们需要挂载某个磁盘设备的时候,可以把磁盘设备挂载到这个目录上去,这样我们可以直接通过访问这个目录来访问那个磁盘了
14)/media 挂载的媒体设备目录
挂载的媒体设备目录,一般外部设备挂载到这里。
15)/var 内容经常变化的目录
此目录下文件的大小可能会改变,如缓冲文件,日志文件,缓存文件,等一般都存放在这里。
16)/tmp 临时文件目录
17)/lost+found 恢复文件存放的位置

(0):如何查看当前进程

查看当前进程:ps
执行退出:exit
查看当前路径:pwd

(1):怎么清屏

清屏:clear
退出当前命令:ctrl+c 彻底退出

(2):ll 和 ls 的使用方法

ll  罗列出当前文件或目录的详情信息,含有时间、读写权限、大小等信息

ls 只会罗列出文件名和目录

  • -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
  • -l :长数据串列出,包含文件的属性与权限等等数据;(常用)

(3):目录创建,文件创建,复制文件

创建目录:mkdir

  • -p:若目录原本不存在,则建立一个

创建文件:touch  用于修改文件。若文件不存在,系统会建立一个新的文件

                  vim 建立一个空文档,进入编辑模式

复制文件:cp

(4):find命令

find   path  -option  【 -print 】  【 -exec   -ok   |xargs  |grep  】 【  command  {} \;  】

find命令的参数:

1)path:要查找的目录路径。 

  •       ~ 表示$HOME目录
  •        表示当前目录
  •        / 表示根目录 

2)option:查找方式

-name   filename               #查找名为filename的文件
-perm                                #按执行权限来查找
-user    username             #按文件属主来查找
-group groupname            #按组来查找
-mtime   -n +n                   #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime    -n +n                   #按文件访问时间来查找文件,-n指n天以内,+n指n天以前
-ctime    -n +n                  #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup                          #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser                            #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-type    b/d/c/p/l/f             #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size      n[c]                    #查长度为n块[或n字节]的文件
-mount                            #查文件时不跨越文件系统mount点
-follow                            #如果遇到符号链接文件,就跟踪链接所指的文件
-prune                            #忽略某个目录

(3)-exec : find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。

find / -name 'b'        查询根目录下(包括子目录),名以b的目录和文件;
find / -name 'b*'        查询根目录下(包括子目录),名以b开头的目录和文件; 

(5):mv命令

用来对文件或目录重新命名

# 将文件test1改名为test2

mv test1 test2


mv  /aaa /bbb            将根目录下的aaa目录,移动到bbb目录下(假如没有bbb目录,则重命名为bbb);
mv  bbbb usr/bbb      将当前目录下的bbbb目录,移动到usr目录下,并且修改名称为bbb;
mv  bbb usr/aaa        将当前目录下的bbbb目录,移动到usr目录下,并且修改名称为aaa;
 

(6):cp命令

cp -r /aaa /bbb 将/目录下的aaa目录复制到/bbb目录下,在/bbb目录下的名称为aaa             cp -r /aaa /bbb/aaa 将/目录下的aa目录复制到/bbb目录下,且修改名为aaa;

(7):rm命令

 rm -rf /bbb          

 强制删除/目录下的bbb目录。如果bbb目录中还有子目录,也会被强制删除,不会提示;

rm -r /bbb 普通删除。会询问你是否删除每一个文件

rmdir test01 目录的删除

(8):tree命令

查看树状目录结构

tree test01/

二:文件操作

(1)find和rm

1:删除目录下所有exe文件

find . -name '*.exe' -type f -print -exec rm -rf {} \;

(1) “.”  表示从当前目录开始递归查找

(2) “ -name ‘*.exe’ “ 根据名称来查找,要查找所有以.exe结尾的文件夹或者文件

(3) ” -type f “查找的类型为文件

(4) “-print” 输出查找的文件目录名

(5) 最主要的是是-exec了,-exec选项后边跟着一个所要执行的命令,表示将find出来的文件或目录执行该命令。
exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个,最后是一个分号

  • -exec rm -rf {} \; 递归删除(前面查询出来的结果)

2:递归删除指定大小的文件(145800)

find . -name '*' -size 145800c -print -exec rm -rf {} \;

3.递归删除.pyc格式的文件 

find . -name '*.pyc' -exec rm -rf {} \;

(2) split拆分文件 

b:值为每一输出档案的大小,单位为 byte。
-C:每一输出档中,单行的最大 byte 数。
-d:使用数字作为后缀。
-l:值为每一输出档的行数大小。
-a:指定后缀长度(默认为2)。

1.使用split命令将上面创建的date.file文件分割成大小为10KB的小文件:

[root@localhost split]# split -b 10k date.file

[root@localhost split]# ls date.file

xaa xab xac xad xae xaf xag xah xai xaj

2.使用-l选项根据文件的行数来分割文件,例如把文件分割成每个包含10行的小文件:

 split -l 10 date.file

(3)文件内容的操作 

1.修改内容文件

vim  a. java   进入一般模式

i                    进入编辑模式

ESC             退出

:wq               保存退出

:q!                 不保存退出(强制退出)(shift+:调起输入框)

:q                  不保存退出(shift+:调起输入框)

2.文件内容查看 

cat a.java         查看a.java文件的最后一页内容;
more a.java      从第一页开始查看a.java文件内容,按回车键一行一行进行查看,
                         按空格键一页一页进行查看,q退出;
less a.java        从第一页开始查看a.java文件内容,按回车键一行一行的看,
                         按空格键一页一页的看,支持使用PageDown和PageUp翻页,q退出;

总结下more 和 less的区别:

(1)less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示
(2)less不必读整个文件,加载速度会比more更快
(3)less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容.
(4)more不能后退.
 

3.查看文件最后几行**

tail -n 1000:显示最后1000行

tail -n +1000:从1000行开始显示,显示1000行以后的   +k的意义是从第k行开始,输出所有行

head -n 1000:显示前面1000行

head- n +1000:显示前面 1000行

从第1000行开始,显示1000行。即显示1000~1999行

cat filename | tail -n 1000 | head -n 1000

.

显示1000行到3000行

cat filename |head -n | taiil -n 1000

.

sed -n '5,10p' filename

这样你就可以只查看文件的第5行到第10行。

(4)文件内部搜索指定的内容 grep

grep的语法格式:

grep -option(参数) ‘word’(关键词) file(文本文件);

-a 不要忽略二进制数据。
-b 在显示符合范本样式的那一行之外,并显示该行之前的内容。
-c 计算符合范本样式的列数。
-d<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。
-e<范本样式> 指定字符串作为查找文件内容的范本样式。
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-f<范本文件> 指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。
-F 将范本样式视为固定字符串的列表。
-G 将范本样式视为普通的表示法来使用。
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H 在显示符合范本样式的那一列之前,标示该列的文件名称。
-i 忽略字符大小写的差别。
-l 列出文件内容符合指定的范本样式的文件名称。
-L 列出文件内容不符合指定的范本样式的文件名称。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-q 不显示任何信息。
-R/-r 此参数的效果和指定“-d recurse”参数相同。
-s 不显示错误信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-y 此参数效果跟“-i”相同。
-o 只输出文件中匹配到的部分。

-A  n:显示匹配到的字符串所在的行及其后n行,after

-B  n:显示匹配到的字符串所在的行及其前n行,before

-C  n:显示匹配到的字符串所在的行及其前后各n行,context

 1.查找/etc/passwd文件中是否存在quail用户信息 

[root@www sed]# grep "quail" /etc/passwd
quail:x:1000:1000:quail:/home/quail:/bin/bash
[root@www sed]# grep -w "quail" /etc/passwd
quail:x:1000:1000:quail:/home/quail:/bin/bash
[root@www sed]# grep -i quail /etc/passwd
quail:x:1000:1000:quail:/home/quail:/bin/bash

2.ifconfig看到网卡信息,只查看IP地址所在行信息

 [root@www sed]# ifconfig |grep -w inet
        inet 192.168.249.132  netmask 255.255.255.0  broadcast 192.168.249.255
        inet 127.0.0.1  netmask 255.0.0.0
[root@www sed]# ifconfig |grep netmask
        inet 192.168.249.132  netmask 255.255.255.0  broadcast 192.168.249.255
        inet 127.0.0.1  netmask 255.0.0.0
[root@www sed]# ifconfig |grep -w 255
        inet 192.168.249.132  netmask 255.255.255.0  broadcast 192.168.249.255
        inet 127.0.0.1  netmask 255.0.0.0
[root@www sed]# ifconfig |grep -E "192|127"
        inet 192.168.249.132  netmask 255.255.255.0  broadcast 192.168.249.255
        inet 127.0.0.1  netmask 255.0.0.0
[root@www sed]# ifconfig |grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}"
        inet 192.168.249.132  netmask 255.255.255.0  broadcast 192.168.249.255
        inet 127.0.0.1  netmask 255.0.0.0

3.统计list.text中root 字符总行数

grep -c root list.text

 4.不区分大小写查找RoOt所有行

grep -i RoOt list.text

5.打印www行以及行号 

grep -n www list.text

6.不打印root行 

gper -v root list.text

7.以168.开头的接3 5的行 

[root@www sed]# grep "168.[35]" list.txt 
192.168.3.11 root 123456
192.168.5.11 root 123456

8.匹配字母紧跟w 的行

[root@www sed]# grep -E "[a-Z]w " list.txt 
172.0.0.1 www 123456

(5)awk

awk [选项] ‘条件{动作}  条件{动作} ... ...’  文件名

1.逐行打印第二列

awk '{print $2}' email.out

2. 将email.out进行切分,打印出第1/3列内容 

awk '{print $1,$3}' email.out

3. 将email.out进行切分,当第1列为tcp,第2列为1的列,全部打印 

awk '$1==top && $2==1{print $0}' email.out

4、查看第三行内容 

awk 'NR==3{print $0}' email.out

awk默认的字段分隔符为空格,但下面这样的文本,以 # 为分隔符,就需要用到自定义分隔符;

在这里插入图片描述

5.显示第一列和第二列内容  (指定分隔符 -F)

awk -F '#'  '{print $1,$2}' email.out

6.ARGV使用 

awk 'NR==1,NR==3{print ARGV[0],ARGV[1],$0}' alx.txt

在这里插入图片描述

 可以发现,在输出的每一行记录前面,拼上了 awk 和 alx.txt这两个字段,这两个字段就是这行命令整体解析出来的2个内置参数;

7.自定义变量  -v

 awk -v myname="zcy" 'BEGIN{print "我的名字是?" ,myname}'

在这里插入图片描述

8.打印前三行的文本内容 

awk 'NR<=3{print $0}' alx.txt

9. 根据逗号,切分数据,并将第一列存在文件test01.txt

awk -F  ","  'print $1 >> "test01.txt"'

(6)sed 内容替换

sed是一行一行读取文件内容并按照要求进行处理,把处理后的结果输出到屏幕

sed [options] ‘处理动作’ 文件名 

  • 常用选项
选项说明备注
-e进行多项(多次)编辑可以编辑多个匹配参数
-n取消默认输出不自动打印模式空间
-r使用扩展正则表达式
-i原地编辑会修改源文件
-f指定sed脚本的文件名
  • 常见处理动作
    以下所有的动作都要在单引号里
动作说明备注
‘p’打印
‘i’ 在指定行之前插入内容类似vim里的大写O
‘a’在指定行之后插入内容类似vim里的小写o
‘c’替换指定行所有内容很常用
‘d’删除指定行

1.打印文件内容 ‘p’  打印出匹配的内容,通常与-n选项和用

sed -n  'p'     a.text   打印每一行,并取消默认输出

sed -n '1p'    a.text   打印第一行

sed -n ’1,5p‘ a.text   打印1~5行

sed -n  ’$p‘   a.text   打印最后一行

2. ’a‘  在指定内容后面插入

sed    '$a23333'   a.txt 在最后一行下面增加内容

sed    ’a999999‘   a.txt 在文件的每一行后面增加下面内容

sed    '5a99999'   a.txt 文件第5行下面增加内容

3. ’i‘  在指定行之前插入内容

sed   '$i99999'   a.txt 文件最后一行上一行增加内容

sed   'i99999'     a.txt 文件每行上一行增加内容 sed '6i99999' a.txt 文件第6行上一行增加内容

sed   '/^adm/ihello' 以adm开头行的上一行插入内容

4.'c' 替换指定的整行内容 

sed   '5chello world' a.txt    替换文件第5行内容

sed   'chello world' a.txt      替换文件所有内容

sed   '1,5chello world' a.txt 替换文件1到5行内容为hello world

5. 'd' 删除文件内容 

sed '1d' a.txt       删除文件第1行

sed '1,5d' a.txt    删除文件1到5行

sed '$d' a.txt       删除文件最后一行

(7)压缩和解压缩 

tar包和gz包是两个不同的文件包,有三种不同后缀。.tar .gz .tar.gz

tar包:使用tar命令,打包文件或者文件夹,只打包,不压缩

gz包:使用gzip命令,只压缩文件,不打包,所以gz包操作不能对文件夹直接操作,如果要对文件夹下所有文件进行压缩,使用-r参数,gzip -r 文件夹路径

1.zip

tar -cvf [文件名].tar [文件目录]                //打包成.tar文件
tar -jcvf [文件名].tar.bz2 [文件目录]         //打包成.bz2文件
tar -zcvf [文件名].tar.gz [文件目录]          //打包成.gz文件

tar -cvf start.tar a.java b.java        //将当前目录下a.java、b.java打包
tar -cvf start.tar ./*                        //将当前目录下的所欲文件打包压缩成haha.tar文件

tar -zcvf start.tar.gz a.java b.java    //将当前目录下a.java、b.java打包 start.tar.gz文件
tar -zcvf start.tar.gz ./*                //将当前目录下的所欲文件打包压缩成start.tar.gz文件

tar -xvf [文件名].tar                                  //解压到当前文件
tar -xvf [文件名].tar -C [文件目录]            //将.tar文件解压到指定目录
tar -jxvf [文件名].tar.bz2 -C [文件目录]     //解压.bz2文件到指定目录
tar -zxvf [文件名].tar.gz -C [文件目录]      //解压.gz文件到指定目录

 

2.zip/unzip 

zip lib.zip tomcat.jar                            //将单个文件压缩(lib.zip)
zip -r lib.zip lib/                                //将目录进行压缩(lib.zip)
zip -r lib.zip tomcat-embed.jar xml-aps.jar        //将多个文件压缩为zip文件(lib.zip)    
 

unzip file1.zip                                  //解压一个zip格式压缩包
unzip -d /usr/app/com.lydms.english.zip      //将`english.zip`包,解压到指定目录`/usr/app/`
 

(8)文件权限 chmod

在这里插入图片描述

在这里插入图片描述

chmod u+x web.xml (---x------)        为文件拥有者(user)添加执行权限;
chmod g+x web.xml (------x---)        为文件拥有者所在组(group)添加执行权限;
chmod 111 web.xml  (---x--x--x)    为所有用户分类,添加可执行权限;
chmod 222 web.xml (--w--w--w-)        为所有用户分类,添加可写入权限;    
chmod 444 web.xml (-r--r--r--)        为所有用户分类,添加可读取权限;
 

三:用户权限操作 

(1)用户操作 useradd  userdel

useradd

[-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name

主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。

-d:指定用户登入时的主目录,替换系统默认值/home/<用户名>

-D:变更预设值。

-e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。

-f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.

-g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。

-G:指定用户所属的附加群组。

-m:自动建立用户的登入目录。

-M:不要自动建立用户的登入目录。

-n:取消建立以用户名称为名的群组。

-r:建立系统账号。

-s:指定用户登入后所使用的shell。默认值为/bin/bash。

-u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。
 

1.新创建一个oracle用户,这初始属于oinstall组,且同时让他也属于dba组。

#useradd oracle -g oinstall -G dba

新创建一个oracle用户,这初始属于oinstall组,且同时让他也属于dba组。

2.建立一个新用户账户testuser1,并设置UID为544,主目录为/usr/testuser1,属于users组 

useradd -u 544 -d /usr/testuser1  -g users -m  testuser1
备注: 加-m 如果主目录不存在则自动创建

3.userdel删除用户 

[root@ptr228 ~]# userdel tmp_3452              删除用户命令

[root@ptr228 ~]# userdel -f tmp_3452          或者连同用户目录一并删除

(2)添加,删除 组

1.添加用户组

groupadd groupname

2.修改用户组

groupmod 选项 用户组 groupmod -n new-usergroup usergroup 

3.删除组

groupdel groupname

4.可以看到自己的分组和id

cat /etc/group 

(3)chown 

chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID

chown [-R] 所有者 文件或目录

chown [-R] 所有者:所属组 文件或目录

1.将kibana-8.3.3-linux-x86_64.tar.gz所有者改为用户sum 

chown -R sum /usr/sum/kibana-8.3.3-linux-x86_64.tar.gz

2.将kibana-8.3.3-linux-x86_64.tar.gz所有者改为用户sum、所有组改为sum 

chown -R sum:sum /usr/sum/kibana-8.3.3-linux-x86_64.tar.gz  

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Rocky Linux是一款基于RHEL(Red Hat Enterprise Linux)的开源Linux发行版。以下是一些常用的Rocky Linux基本命令: 1. 查看版本信息:`cat /etc/os-release` 2. 更新系统:`sudo yum update` 3. 安装软件包:`sudo yum install 软件包名称` 4. 卸载软件包:`sudo yum remove 软件包名称` 5. 查找软件包:`sudo yum search 软件包名称` 6. 清理缓存:`sudo yum clean all` 7. 查看已安装的软件包:`sudo yum list installed` 8. 启动或停止服务:`sudo systemctl start 服务名称` 或 `sudo systemctl stop 服务名称` 9. 开机自启动服务:`sudo systemctl enable 服务名称` 10. 取消开机自启动服务:`sudo systemctl disable 服务名称` 11. 查看系统资源使用情况:`top` 12. 查看磁盘使用情况:`df -h` 13. 查看内存使用情况:`free -m` 14. 查看进程列表:`ps aux | grep 关键词` 15. 杀死进程:`sudo kill 进程ID` 16. 查看网络连接:`netstat -tuln` 17. 查看防火墙状态:`sudo firewall-cmd --state` 18. 开启/关闭防火墙:`sudo systemctl start firewalld` 或 `sudo systemctl stop firewalld` 19. 添加用户:`sudo useradd 用户名` 20. 修改密码:`sudo passwd 用户名` 21. 切换用户:`su - 用户名` 22. 查看文件内容:`cat 文件路径` 23. 编辑文件:`nano 文件路径`(或其他文本编辑器,如vi、vim等) 24. 查看帮助信息:`man 命令名称`(例如:`man ls`) 这些命令只是Rocky Linux中常用命令的一部分,更多命令可以通过查阅官方文档或使用`man`命令查看。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值