linux基础与命令

1.linux的提示符

        

1 [root@localhost ~]#

        提示符的格式

 [当前用户名@当前的主机名 当前所在位置]身份标识符

        管理员提示符

 [root@localhost ~]#

        普通用户提示符

[zxhk@localhost ~]$

        身份标识有两种

# 表示这个用户是管理员
$ 表示这个用户是普通用户

        当前所在的位置

        ~ 表示的是当前用户家目录

举例1

 [root@localhost etc]#

        1. 当前用户名是root

        2. 当前计算机的主机名是localhost

        3. 当前所在路径是 etc

        4. 当前用户身份是 管理员

2.linux命令格式

 命令 [选项] 参数

        命令:linux中所有的命令,是严格区分大小写

        选项:选项是用于控制命令的执行过程

        参数:参数是指命令的作用对象

        选型:

短选项:-字母
长选项:--单词

        短选项可以进行合并

linux的特点

        命令和文件名都是严格区分大小写

        linux文件的后缀名对于文件的属性没有任何影响

        linux中的核心哲学思想:一切皆为文件

3.linux目录结构

        windows 是多根系统

        linux 是单根系统

windows的目录结构

        1. windows 是一个多根系统

        2. 每个磁盘/分区都是一个根

        3. 你在存储文件的时候,文件一定是存储在某一个根目录之下

        4. 目录结构是倒树状结构

linux的目录结构特点

        1. linux是一个单根系统

        2. 你在linux中存储文件,只会有一个存储位置,就是 /

        3. 目录结构是倒树状结构

linux的核心目录结构

        

   linux根目录下的主要文件

/bin:存放的的是命令
/sbin:存放的的是命令
/tmp:存放临时文件【任何用户都可以在这个目录进行读写操作,但是只能操作自己的文件;这个目录
下的文件30天没有被访问或使用,就会被自动删除】
/etc:存储各种配置文件
/etc/inittab
/etc/rc.local
/etc/httpd/httpd.conf
/etc/sysconfig/network-scripts/ifcfg-eth0
/home:存放普通用户家目录
/root:root用户的家目录
/lib
/lib64
/usr:自定义安装软件保存位置
/usr/bin:存放的的是命令
/usr/sbin:存放的的是命令
/var:存储经常发生改变的文件
/var/log/messages
/var/log/secure
/boot
/sys
/dev:存储设备文件
/proc

4.linux基础命令

4.1pwd

        全称:Print Working Directory

        作用:显示当前所在的路径

        格式:

 pwd

        案例

[root@localhost 桌面]# pwd
/root/桌面

        最左侧的 / 表示的是系统根目录

        /root/桌面 表示 当前所在的位置是 根下的root下的桌面目录中

4.2.cd

        全称:Change Directory

        作用:切换目录的

        格式:

cd 目标位置

案例:切换到根目录下

cd /

        总结

cd / 进入根目录
cd ~ 进入当前用户家目录
cd 进入当前用户家目录
cd - 进入上次执行cd前所在的目录
cd .. 进入上一层目录
4.3clear

        作用:清空屏幕

        格式:

clear

        快捷键:ctrl + l

4.4touch

        作用:新建空白文本文件         

        格式:

格式1:touch 文件名 在当前位置下创建文件
格式2:touch 路径/文件名 在指定的位置下创建文件

        案例:在当前文件下创建文件a1.txt

touch a1.txt
touch a1.txt # 在当前目录下创建a1.txt
touch /a1.txt # 在根目录下创建a1.txt
touch ~/a1.txt # 在当前用户家目录下创建a1.txt
touch /etc/a1.txt # 在/etc下创建a1.txt
touch /etc/sysconfig/a1.txt # 在/etc/sysconfig/下创建a1.txt
touch ../a1.txt # 在当前所在目录的上一级目录中,创建a1.txt
touch ../../a1.txt # 在当前所在目录的上一级的上一级目录中,创建a1.txt
touch ../sysconfig/a1.txt
4.5执行命令报错信息

       执行命令可能成功也可能失败

          /通常执行成功是没有信息的

          /通常执行失败都会有返回信息

导致命令执行失败有几种可能

        第一种:命令写错了,报错信息格式

 bash: 命令 command not found ...

        第二种:文件路径错误,报错信息格式

命令  : 报错提示                      : 产生错误的原因
touch: cannot touch /taaaa/aaa.txt : no such file or directory

        第三种:没有权限

命令 : 报错提示                    : 产生错误的原因
touch: cannot touch /taaaa/aaa.txt : permission denied
4.6mkdir

        全称:MaKe DIRectory

        作用:新建文件夹/目录

        格式:

格式1:在当前位置下直接创建目录:mkdir 目录名
格式2:在指定位置下直接创建目录:mkdir [选项] 路径/目录名

        选项

                选项 -p:在父目录不存在的情况,会自动的创建父目录

案例1:在当前位置下创建目录dir1

mkdir dir1

案例2:在tmp下,创建目录a1,在a1里面创建a2,在a2,里面创建a3

 mkdir -p /tmp/a1/a2/a3
4.7相对和绝对路径

        绝对路径:

                就是完整路径

                在写绝对路径的时候,是从根目录开始写

        相对路径:

                不是完整的路径

                在相对路径的时候,是从当前录开始写

案例:切换到home下

相对路径写法:cd ../../home
绝对路径写法:cd /home
 4.8cp

        全称:copy

        作用:复制文件或者是目录

        格式:

 cp [选项] 源文件 目的路径

选项

        -a:在复制文件的过程中,保持文件的属性不变,另外,也可以实现复制目录【cp默认无法直 接复制目录】

         -r:递归复制。这个选项就是单纯的用来实现复制目录。

        -f ;复制过程中如需覆盖,则不需要询问

        -v; 显示复制过程

4.9mv

        全称:move

        作用:移动文件或者是目录

        格式:

mv 源文件 目的路径

        总结

将home下的a.txt移动到tmp下
mv /home/a.txt /tmp
将home下的a.txt移动到tmp下,改名成b.txt
mv /home/a.txt /tmp/b.txt
将home下的a.txt移动到根
mv /home/a.txt /
将home下的a.txt移动到根下,改名成b.txt
mv /home/a.txt /b.txt
将home下的a.txt移动到当前位置下
mv /home/a.txt ./
将home下的a.txt移动到当前位置下,改名成b.txt
mv /home/a.txt ./b.txt
将当前位置下的a.txt 移动到home下
mv ./a.txt /home
mv a.txt /home
将当前位置下的a.txt 移动到home下,改名成b.txt
mv ./a.txt /home/b.txt
mv a.txt /home/b.txt
将当前位置下的a.txt 移动到 当前位置下,改名成b.txt [文件改名]
mv a.txt b.txt
mv ./a.txt ./b.txt

下面命令的执行效果

mv /home/a.txt /aaa

这个命令有三种可能

        第一种:/aaa不存在的,那么这个命令就是将a.txt移动到根下,并且名字修改为aaa

        第二种:/aaa存在,而且是目录,那么这个命令就是将 a.txt 移动到 /aaa下面,文件名不变

        第三种:/aaa存在,而且是一般文件,那么这个命令就是将 a.txt 移动到 /下,并且改名成 aaa 将原有文件覆盖

4.10 rm

        全称:ReMove

        作用:删除文件或者是目录的

        格式:

rm -rf 要删除的文件或者目录

        选项

                -r:这个选项是专用于删除目录【在删除文件的时候,也可以加这个选项】

                -f:这个选项是强制删除【删除过程不会进行询问】

4.11通配符

        通配符就是一些具有特殊的含义的符号

*:表示任意个任意字符
?: 表示任意一个字符
|:前后可以分别写一个命令,通过管道符,可以见前面命令的执行结果传递给后面的命令,让后面的
命令再处理一次

        1)删除所有文件

1)删除所有文件

        2)删除所有文件名以a为开头的文件

rm -rf a*

        3)删除所有文件名以a为结尾的文件

rm -rf *a
4.12 ls

        作用:查看当前位置或者是指定的位置下,有什么文件

        格式:

格式1:ls # 查看当前位置下文件
格式2:ls ./ # 查看当前位置下文件
格式3:ls 路径 # 查看指定的路径下有什么文件

选项

        -a 显示所有文件,包括隐藏文件【linux中的隐藏文件是文件名前面是一个 . 】

        -l 显示文件的属性信息

        -h 以人类易读的方式显示文件的大小

        -d 显示目录本身

        -r 倒序排序

        -t 根据修改的时间来排序

4.13cat

        作用:查看文本文件的内容【可以将多个文件的内容一块显示出来】

        格式:

 cat 文件名 [文件名]

案例:用cat查看文件中的内容

 cat /home/passwd

        注意:用cat只能查看一般文件的内容,不能查看目录

4.14 more

        作用:查看文件的内容【比较适合查看大文件】

        格式:

 more 文件名

        more的操作

                敲回车:显示下一行

                f:显示下一屏

                敲空格:显示下一屏

                b:显示上一屏

                q:退出查看

4.15 less

        作用:查看文件的内容【比较适合查看大文件】

        格式:

 less 文件名

        less的操作

                敲回车:显示下一行

                f:显示下一屏

                敲空格:显示下一屏

                b:显示上一屏

                q:退出查看

4.16 head

        作用:查看文件的内容【默认是看文件的前10行】

        格式:

head -N 文件名

案例:查看文件/etc/passwd的前10行

格式1:
head /etc/passwd
格式2:
head -n10 /etc/passwd

案例:查看文件/etc/passwd的第一行

 head -n1 /etc/passwd
4.17 tail

        作用:查看文件的内容【默认是看文件的最后10行】

        选项

1 -f: 动态监控文件内容变化,常用于监控日志文件变化

案例:查看文件/etc/passwd的最后10行

格式1:
tail /etc/passwd
格式2:
tail -n10 /etc/passwd
4.18 wc

        作用:统计文件中有多少行、单词、字符

        格式:

 wc [选项] 文件

        选项:

                -w 统计单词

                -c 统计字符

                -l 统计行

案例:

wc passwd
26 36 1159 passwd

        26 行数 36 单词数 1159 字符数

统计passwd有多少行

cat passwd | wc -l
wc -l passwd
4.19vi

        作用:创建或者是编辑一个文本文件

        格式:

vi 文件名
vi 路径/文件名

        1)如果这个文件是存在的,而且是文本文件,那么vi就会直接打开这个文件

        2)如果这个文件是存在的,而且是目录文件,那么vi也可以打开这个文件,但是无法正常的保存

        3)这个文件不存在 ,vi会自动的创建一个新的空文件

注意:

        cat、head、tail、more、less 和vi 都可以查看文件中的内容

        但是vi,主要是用于对文件内容进行修改

        而其他的命令是查看文件的内容

vi打开后,退出的方法

先按键盘的 ESC 键
然后 按 shift 和 : 两个键【一块按】
最后在左下角的冒号后面输入 q! ,然后敲回车

        :或者 ! 只能是英文的,不能是中文

vi是一个模式化的工具

        模式1:查看模式

                功能:

                        1. 查看文件的内容

                        2. 在文件中,搜索指定的内容

                        3. 复制行或者是删除行

                表现

                        进入到输入模式的时候,在屏幕的最下角没有任何内容

        模式2:输入模式

                功能:

                        1. 可以在文件中进写入或者修改操作

                表现

                        进入到输入模式的时候,在屏幕的最下角出现 INSERT 字样

        模式3:末行模式

                功能

                        1. 主要是用于执行各种的命令

                        2. 显示行号

                        3. 保存、退出

                        4. 行跳转

                表现

                        在屏幕的左下角出现 冒号和一个闪烁的光标

模式转换图

查看模式下的操作

        nG:跳转到第n行

        dd:删除光标所在的行【剪切】

        yy:复制光标所在的行

        p - 小:将剪切/复制的内容,粘贴到当前所在的行的下一行

        P - 大:将剪切/复制的内容,粘贴到当前所在的行的上一行

        u:撤销操作

        /要搜索的内容:在/后面输入要搜索的内容,就可以直接开始搜索了,

                n:继续向下搜索

                N:继续向上搜索

        按 dd 删除一行

        按 4dd 删除连续的四行

        按 yy 复制一行

        按 15yy 复制连续的十五行

输入模式下的操作

        输入模式没有操作

末行模式下的操作

        数字:直接跳转到指定的行的行首

                1 就是跳转到第一行

                500 就是跳转到第500

                $ 就是跳转到最后一行

        set nu:在每一行的前面,显示一个行号

        set nonu:取消每行前面的行号

        nohl:取消高亮

        w:保存

        q:退出

        !:强制执行

组合

        wq   保存退出

        wq!强制保存退出

        q      退出

        q!  强制退出【不对输入的内容进行保存,而进行输出】-不保存强制输出\

4.20 date

        作用:显示和修改日期时间

        格式:

date [MMDDhhmm[[cc]][.ss]]

        MM.月

        DD.日

        hh:小时

        mm:分钟

        cc:年

        ccyy:年

        .ss:秒

        

格式化输出控制方法:
        %d:显示天(日)
                例子:date +%d
        %m:月
        %F:完整的年月日
        %y:年(俩位)
        %Y :年(四位)
        %H:小时
        %M:分钟
        %S:秒
例子:用格式显示年 / / - 小时:分:秒
date +%Y/%m/%d-%H:%M:%S
        系统中的时间有俩个:
                硬件时间:是在主板上有纽扣电池维护一个震荡电路
                软件时间:系统中看到的那个时间
                        开机的时候系统会从硬件时间中读取时间
                        hwclock
hwclock命令
        作用:显示或者修改系统中硬件的时间
        选项:
                -s:将软件的时间修改成和硬件时间一致
                -w:将硬件的时间修改成和软件时间一致

5.三剑客

5.1简介

        其实就是三个命令

        处理文本文件的三个命令

        grep:过滤文件中的符合指定内容的行

        awk:从文件中的每行内容中截取指定的部分/字段

        sed:对文件中的内容进行替换

5.2 grep

        grep也是一模式化的工具

        在grep的时候,是针对每一行进行一次过滤,判断这行是否有满足条件的内容,如果有就显示这 行;否则不显示

        格式:

grep [选项] "匹配的内容" 目标文件
cat 目标文件 | grep [选项] "匹配的内容"

        选项

        -v:取反

        -o:显示匹配的内容

5.3 sed

        sed 在处理文本的时候,会将文本加载到内存中,然后对内存中的文件的副本进行处理【也就是文件 的原始内容不受影响】

        格式:

 sed [选项] 操作 目标文件

        选项

        -i:修改原始文件【如果不加-i,那就是仅仅修改内存中的文件副本】

        案例:将new.txt中的name=tom修改成jerry

sed -i "s/name=tom/name=jerry/g" new.txt
5.4 awk

        截取文件中每行的指定的字段

        概念

        记录:文件中的每一行都是一条记录

        分隔符:分割每一行的符号

        字段:一条记录被分隔符分割后的每一块都是一个字段

格式:

awk -F "分隔符" '{print $数字}' 文件名
cat 文件名 | awk -F "分隔符" '{print $数字}'

        补充

0 输出整条记录
NF 输出最后一个字段

6.正则表达式

6.1正则简介

        正则,正则表达式

        就是一些具有特殊含义的符号:? . * + ^ $ () {}

建议这样记

        通配符:针对文件名进行匹配查找的

        正则表达式:针对文件的内容进行匹配查找的

6.2匹配位置

        匹配行首

^

        匹配行尾

$

        匹配单词首部

\<

        匹配单词尾部

 \>

        案例1:找到包含root的行

 grep "root" a.txt

        案例2:找到以root为开头的行

grep "^root" a.txt

        找到以root为结尾的行

 grep "root$" a.txt

        案例:找到包含root单词的行

grep "\<root\>" a.txt
6.3匹配范围
[] 表示限定一个范围
[0-9] 表示0-9之间的任意一个数字
[a-z] 表示任意一个小写字母
[A-Z] 表示任意一个大写字母
[0-9a-zA-Z] 表示任意一个数字或者字母
[a-zA-Z] 表示任意一个字母 = [a-Z]
[acd39] 表示这五个字符中的任意一个字符
[[:space:]] 表示一个空格
[[:digit:]] 表示任意一个数字
[[:lower:]] 表示任意一个小写字母
[[:upper:]] 表示任意一个大写字母
[[:alnum:]] 表示任意一个数字或者字母
[[:punct:]] 表示任意一个符号
[[:digit:][:space:]] 表示一个空格或者任意一个数字

案例:匹配以字母a或c或f为开头的行

 grep "^[acf]" new1.txt

案例:匹配以数字或者空格或者#为开头的行

grep "^[[:space:][:digit:]#]" new1.txt
grep "^[[:digit:]# ]" new1.txt

案例:匹配以#为开头,后面是空格,空格后是非空字符

grep "^#[[:space:]][[:alnum:][:punct:]]" new1.txt

匹配范围以外的字符

[^xxxx]
6.4次数匹配
. 表示任意一个字符
* 表示其前面的字符出现任意次数【任意次可以是 0次 1次 无数次】
\{m,n\} 其前面的字符出现最少m次,最多n次
\{3,7\} 表示其前面的字符出现最少3次,最多7次
\{3,\} 表示其前面的字符出现最少3次
\{,7\} 表示其前面的字符出现最多7次
\{3,3\} 表示其前面的字符出现3次
? 表其前面的字符出现0次或者1次[最多一次] - 扩展正则的选项
+ 表其前面的字符出现最少一次 - 扩展正则的选项

案例:过滤去文件a.txt中,a前面至少有3个b的行

grep "b\{3,\}a" a.txt

案例:过滤去文件a.txt中,a前面最多有1个b的行

grep -E "b?a" 4.txt
grep "b\{,1\}a" 4.txt

案例:过滤去文件a.txt中,a前面最少有1个b的行

grep -E "b+a" 4.txt

常用的组合

.* 可表示任意个任意字符
6.5分组
\( 定位分组的位置 \)
\1 引用第一个分组的内容
\2 引用第二个分组的内容

        案例:匹配出现两个相同数字的行

grep "\([0-9]\).*\1" 4.txt
6.6 | 或

测试对象

sadfa cat asfasdf Cat a asdf

        案例:匹配cat Cat

grep -E "(c|C)at" 6.txt
grep -E "(cat|Cat)" 6.txt

7.用户管理

用户:标识计算上的资源的归属

保存账号或者密码的数据库文件:
        /etc/passwd <<<< 保存系统中全部的用户名
        /etc/shadow <<<< 保存各个用户的密码
        /etc/group <<<<保存系统中全部的用户组名
        /etc/gshadow <<<<保存各个用户组的密码
用户和用户组:
        用户:登录系统的用户名
        用户组:多个用户的集合
用户组的作用:
        方便多个用户的批量管理
用户身份标识:
        计算机每个用户设置一个唯一 数字
        当计算机识别用户的时候,是通过该数字识别的
        数字是:uid
用户组的身份标识:
        gid
/etc/passwd 文件详解
root:x:0:0:root:/root:/bin/bash
        这个文件每一行都是一个用户
第一段:用户名
第二段:密码占位符,为了安全,放到了另一文件( /etc/shadow
第三段:用户的 uid
第四段: gid
第五段:用户描述信息
第六段:用户的家目录
第七段:用户的 shell 类型
常见的 shell
        /bin/bash <<< 默认 shell 类型,可以登录系统
        /sbin/nologin <<<无法登入系统
用户的分类:
        管理员用户
        uid: 0
特点:
        默认只有一个,就是root
        root用户是没有任何权限约束
系统用户
        uid: 1-999
        特点:在Linux 安装完成后或者安装了某个程序自动生成的用户
        这类用户是默认不能登入系统的
普通用户
        uid: 1000+
        特点:
        需要运行命令来创建
        普通用户权限非常小的,通常仅仅能在自己的家目录下进行操作
        默认该用户的家目录是在/home 下的和用户同名的目录
用户组分类:
        用户的基本组
                在/etc/passwd中第四段 gid ,所指的就是用户的基本组
        用户的附加组
                除了主组以外的组,就是附加组
7.1创建用户

useradd 命令:
作用:创建新用户
        格式:useradd [ 选项 ] 用户名
        选项:
                -c “string” :设置新用户的描述信息
                -d /path/to/dir :设置用户的家目录
                -g gid :设置用户的gid
                -G gid:指定用户的附加组
                -m:在创建用户的时候,如果家目录不存在,则创建用户的家目录(默认使用该选项)
                -M:不自动创建家目录
                -r:创建系统用户
                        用此选项创建用户特点:
                                默认该用户能登录系统
                                默认用户无家目录
                                默认用户uid<999
                                默认shell类型是/bin/bash
                -s shType :指定用户的shell 类型
                        /bin/bash
                        /sbin/nologin
                -u uid:指定用户的uid
7.2新建用户组 groupadd

        格式:groupadd 组名

        选项:

                -g:指定用户组的id

                        groupadd -g 1080 a2

7.3 id命令

作用:显示指定用户的id信息

格式:id 【选项】 用户名

选项:

        -u:显示用户的 uid
                例子:显示aa2的 uid
                id -u aa2
        -g:显示用户的 gid
                例子:显示aa2的 gid
                id -g aa2
        -G:显示用户的全部组 id

        

7.4passwd命令
作用:修改用户的密码(给用户设置密码)
格式: passwd [ 选项 ] 用户名
        passwd 用户 -- 修改指定用户的密码
        passwd --修改当前用户的密码
        默认root 能修改其他用户的密码,其他用户只能修改自己的密码
选项:
        -l:锁定用户(只有 root 用户才能进行操作)
        -u:解锁用户

7.5userdel 删除用户
格式: userdel [ 选项 ] 用户名
选项:
        -r:在删除用户的时候,同时删除用户的家目录

        

7.6 chsh修改shell类型
格式: chsh [-s type] 用户名
例子:
chsh -s /bin/bash tom
7.7usermod修改用户的基本信息
格式:usermod [ 选项 ] 用户名
选项:
        -g:修改基本组(组不存在,现创建组)
                例子:usermod -g 1080 aa2
        -G:修改附加组
                例子:usermod -G 1070 aa2
        -u:修改 uid
                例子:usermod -u 0 aa2
        -c:修改用户的描述信息
                例子:usermod -c "aaaaaaaaaaaa2" aa2
        -d:修改用户的家目录
                例子:usermod -d /tmp/a666 aa2
        -s:修改用户的 shell 类型
                例子:usermod -s /sbin/nologin aa2
        -l:修改用户名
                例子:usermod -l a66 aa2
7.8su命令
作用:切换用户
        选项:
        -c:普通用管理员身份执行命令
                例子:su -c "mkdir /a66" root
注意:
        su切换用户后,返回需要输出命令: exit
7.9权限
        r:读
        w:写
        x:执行
文件的权限:
        r:可以执行 cat head tail 等命令读取文件中的内容
        w:可以用 vi/vim 或者重定向等操作向文件中写入内容或着修改内容
        x:可以执行文件
目录的权限:
        r:可以执行 ls 命令,来查看目录下有哪些文件
        w:可以在目录执行文件创建和删除等操作
        x:可以执行 cd 命令
用户的角色:
        属主用户(u
        属组用户(g
        其他用户(o
        全部用户(a
文件的权限位:
-rw-r--r--
- rw- r-- r--
一般文件 属主:读写权限 属组:读权限 其他用户:读权限

  

第一位:表示文件的类型
        -:一般文件
        d:目录文件
        l:链接文件
第二位 - 第四位:表示文件属主所有具有的权限
第五位 - 第七位:表示文件的属组所具有的权限
第八位 - 第十位:表示系统中其他的用户所具有的权限
注意:
        每一类用户的权限顺序都是:读、写、执行
        如果相对应的权限,就会出现字符,没有就会显示
7.10chown修改文件的属主
格式: chown userName [-R] fileName
选项:
        -R:在修改目录的时候,将目录的目录中的文件一并修改

      

7.11chgrp修改文件的属组
格式: chgrp 用户名 [-R] 文件名
选项:
        -R:在修改目录的时候,将目录的目录中的文件一并修改
7.12修改文件的权限
作用:修改文件的权限
格式: chmod 赋权 文件名
方式:
        +:增加权限(在原有的基础上修改)
                例子:chmod o+w 11.txt 给其他用户增加写的权限
        -:去除权限(在原有的基础上修改)
                例子:chmod g-r 11.txt
        =:将权限修改位指定的权限(和原权限无关)
                例子:chmod u=rwx,g=rw,o=r 11.txt
例子:将 11.txt 文件全部用户的权限去掉
chmod a=--- 11.txt
数字表示权限:
        0 无权限
        1 执行
        2 写
        4 读
例子:把 11.txt 文件的属主的全改为可读可写可执行
chmod 700 11.txt

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值