软件测试工程师进阶时需要知道的一些linux知识

1、了解yum软件包管理器

基于centos操作,使用的软件包管理器yum
1、yum简介:

yum(全称 Yellowdog Updater, Modified)是一种基于 RPM 包管理器的软件包管理器,主要用于管理 Red Hat 及其衍生发行版(如 CentOS、Fedora 等)的软件包。yum 基于命令行使用,可以轻松下载、安装、更新和删除软件包及其依赖关系。

2、命令格式:

yum [选项] [参数]

比如下载安装一个Apache web服务器命令:
yum install httpd
更新所有已安装软件包:
yum update
更新指定软件:
yum update openssl
删除软件包:
yum remove httpd
清除所有缓存:
yum clean all
查询软件:
yum search php

还有很多参数可以选择。如 list、deplist、check-update等

3、yum源管理
进入/etc/yum.repos.d目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8A7kJCoD-1680438374310)(en-resource://database/1113:1)]

目录下CentOS-Base.repo,它会根据机器所在的ip提供一个最近的服务器供下载软件。

配置源
这个源有时会略慢,影响工作效率,这样我们可以下载一个国内的镜像源

阿里云开源镜像站:https://mirrors.aliyun.com/repo/Centos-7.repo
网易开源镜像站:https://mirrors.163.com/repo/Centos-7.repo
中科大开源镜像站:https://mirrors.ustc.edu.cn/repo/Centos-7.repo
清华开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/repo/Centos-7.repo

下载一个源。然后替换/etc/yum.repos.d目录下的CentOS-Base.repo

wget https://mirrors.aliyun.com/repo/Centos-7.repo

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RHPnGiiQ-1680438374311)(en-resource://database/1115:1)]

备份默认的源,将下载的镜像源替换为yum源

mv CentOS-Base.repo CentOS-Base.repo.bat
mv Centos-7.repo CentOS-Base.repo

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HE990Dwv-1680438374312)(en-resource://database/1117:1)]

2、文件管理系统相关

2.1、磁盘(硬盘)

2.1.1 df 命令:

df(disk free) 是Linux系统中常用的一个查看命令。它用于显示磁盘分区使用情况,包括文件系统类型、磁盘分区大小、已用空间,可用空间和挂载点等信息

命令格式 :

 df [选项] [文件或目录]

常用的选项包括:

-h:展示可读的格式显示磁盘空间;
-T:显示文件系统类型;
-i:显示 inode 使用情况。(inode 是指索引节点,是 Linux 文件系统中的一个重要概念)
-a:显示特殊文件系统

比如如果要查看当前系统中所有的文件系统使用情况,可以直接在终端中输入:

df -h
[root@localhost /]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G   12M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root   36G   11G   25G  31% /
/dev/sda1               1014M  150M  865M  15% /boot
tmpfs                    378M     0  378M   0% /run/user/0

这个命令将显示所有文件系统的使用情况,其中包括文件系统类型、磁盘分区大小、已用空间、可用空间和挂载点等信息

如果只想查看某个特定的文件系统的使用情况,可以指定文件或目录作为参数,在终端输入:

df -h /dev/sda1

[root@localhost /]# df -h /dev/sda1
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1      1014M  150M  865M  15% /boot

这个命令将显示/dev/sda1 文件系统的使用情况

2.1.2 文件incode查看命令

incode是什么?

Linux 文件系统中的每个文件都有一个 inode,用来存储文件的元数据信息。inode 是文件系统中的一个数据结构,它包含了文件的大小、创建时间、所有者、权限等信息,同时也包含了指向文件实际数据存储位置的指针。

可以使用stat (最详细)或者ls -i或者df -i查看文件incode信息

[root@localhost bin]# stat /usr/bin/znew
  File: ‘/usr/bin/znew’
  Size: 5343            Blocks: 16         IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 100984133   Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-04-11 08:01:18.000000000 +0800
Modify: 2018-04-11 08:01:18.000000000 +0800
Change: 2020-11-29 23:18:31.407000707 +0800
 Birth: -
[root@localhost bin]# ls -i /usr/bin/znew
100984133 /usr/bin/znew
[root@localhost bin]# df -i /usr/bin/znew
Filesystem                Inodes  IUsed    IFree IUse% Mounted on
/dev/mapper/centos-root 18411520 257359 18154161    2% /

2.1.3、du命令

du(disk usage)命令是Linux系统中常用的一个磁盘空间查看命令。它用于显示指定文件或目录占用的磁盘空间大小。

命令格式:

du [选项] [文件或目录]

常用选项包括:

-h:显示文件或目录的磁盘空间占用情况;
-s:只显示总计信息;
-a:显示每个文件或目录的磁盘空间占用情况;
-c:同时显示所有文件或目录的磁盘空间占用总计信息。

 
如果要查看当前目录下所有文件和目录的大小,可以直接在终端中输入:

du -h
[root@localhost /]# du -h
0       ./boot/efi/EFI/centos
0       ./boot/efi/EFI
0       ./boot/efi
2.4M    ./boot/grub2/i386-pc
3.2M    ./boot/grub2/locale
2.5M    ./boot/grub2/fonts
8.0M    ./boot/grub2
4.0K    ./boot/grub
118M    ./boot
0       ./dev/net
0       ./dev/vfio
0       ./dev/snd
0       ./dev/hugepages
0       ./dev/mqueue
0       ./dev/centos
0       ./dev/disk/by-uuid
0       ./dev/disk/by-id
.....内容太多展示不完

这个命令将显示当前目录下所有文件和目录的磁盘空间占用情况

 
如果只想查看某个特定的文件或目录的大小,可以指定文件或目录作为参数,可以直接在终端中输入:

du -h /var/log
[root@localhost /]# du -h /var/log
40K     /var/log/tuned
12M     /var/log/audit
0       /var/log/chrony
1.9M    /var/log/anaconda
0       /var/log/rhsm
1.4M    /var/log/sa
84K     /var/log/jenkins
18M     /var/log

这个命令将显示 /var/log 目录的磁盘空间占用情况

 
如果想同时查看多个文件或目录的大小,可以指定多个参数,可以直接在终端中输入:

du -h /var/log /etc
[root@localhost /]# du -h /var/log /etc
40K     /var/log/tuned
12M     /var/log/audit
0       /var/log/chrony
1.9M    /var/log/anaconda
0       /var/log/rhsm
1.4M    /var/log/sa
84K     /var/log/jenkins
18M     /var/log
72K     /etc/grub.d
60K     /etc/pki/rpm-gpg
164K    /etc/pki/ca-trust/extracted/java
260K    /etc/pki/ca-trust/extracted/openssl
396K    /etc/pki/ca-trust/extracted/pem
824K    /etc/pki/ca-trust/extracted
0       /etc/pki/ca-trust/source/anchors
0       /etc/pki/ca-trust/source/blacklist
4.0K    /etc/pki/ca-trust/source
836K    /etc/pki/ca-trust
0       /etc/pki/java
12K     /etc/pki/tls/certs
24K     /etc/pki/tls/misc

个命令将同时显示 /var/log 和 /etc 目录的磁盘空间占用情况

 
如果想查看所有文件或目录的磁盘空间占用总计信息,可以使用 -s 和 -c 选项,可以直接在终端中输入:

du -sh /var/log /etc
du -sch /var/log /etc

第一个命令将显示 /var/log 和 /etc 目录的磁盘空间占用总计信息,第二个命令将同时显示每个目录的磁盘空间占用情况和总计信息。

2.1.4 fdisk命令

fdisk 命令是Linux系统中用于对磁盘进行分区和管理 分区的命令之一,它可以创建、删除、移动和调整磁盘分区,同时也能查看硬盘的分区信息

格式

fdisk [选项] [设备文件]

其中,选项包括:

-l:列出所有可用的磁盘分区信息;
-s:显示指定分区的大小(单位:扇区);
-t:更改指定分区的文件系统类型;
-n:创建一个新分区;
-d:删除一个分区;
-p:显示当前分区表的信息;
-w:将分区表写入磁盘。

 
1、显示磁盘分区信息

fdisk -l
[root@localhost /]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000a8f52

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    83886079    40893440   8e  Linux LVM

Disk /dev/mapper/centos-root: 37.7 GB, 37706792960 bytes, 73646080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-swap: 4160 MB, 4160749568 bytes, 8126464 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

 
2、创建、删除、修改分区
命令:

fdisk /dev/sda

输入后会进入 fdisk 命令的交互式界面

可以使用 n 命令创建新的分区,然后输入分区的起始扇区和结束扇区来指定分区的大小。创建完毕后可以使用 w 命令将分区表写入磁盘。

可以使用 d 命令删除指定的分区。删除完毕后可以使用 w 命令将分区表写入磁盘。

可以使用 t 命令修改指定分区的文件系统类型。修改完毕后可以使用 w 命令将分区表写入磁盘。


上述三个操作完成,都要输入w 保存退出,才能真正的保存到磁盘

fdisk 命令是 Linux 系统中非常重要的磁盘分区和管理命令之一,它可以帮助管理员对磁盘进行分区和管理分

 
3、新增分区实战
本地虚拟机增加了一个20G的硬盘,在新地硬盘上作分区
使用fdisk -l查询信息

[root@localhost ~]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000a8f52

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    83886079    40893440   8e  Linux LVM

Disk /dev/mapper/centos-root: 37.7 GB, 37706792960 bytes, 73646080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-swap: 4160 MB, 4160749568 bytes, 8126464 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

从上面可以看出,硬盘1是Disk /dev/sda,硬盘2是Disk /dev/sdb

在Linux中,我们不断强调“一切皆为文件”,一般的硬盘设备都会是以“/dev/sd”开头的。而一台主机上可以有多块硬盘,因此系统采用a~p来代表16块不同的硬盘(默认从a开始分配)所以第一块是/dev/sda,第二块是/dev/sdb

使用fdisk命令对/dev/sdb新增分区

 [root@localhost ~]# fdisk /dev/sdb            
Welcome to fdisk (util-linux 2.23.2).                //欢迎使用

Changes will remain in memory only, until you decide to write them.                                               
Be careful before using the write command.   //会更改硬盘,使用请三思

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x78b3ca53.

Command (m for help): n                       //对话,请输入,输入n表示新增分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)      //主分区(0主分区,0扩展分区,4空闲)表示可以扩展4个分区
   e   extended                              //扩展分区
Select (default p): p                         //对话:选择p,主分区
Partition number (1-4, default 1): 1          //对话:选择1,分出一个分区
First sector (2048-41943039, default 2048):    //对话:设置第一个扇区大小,没输入,默认2048
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +1G        //对话:设置分区大小,设置了1G
Partition 1 of type Linux and of size 1 GiB is set

Command (m for help): p      //对话:p 打印分区表

Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x78b3ca53

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

上面内容分区了分区 /dev/sdb1/,主分区或扩展分区的编号从1开始,到4结束。逻辑分区从编号5开始。
记住,如果是直实的分区的话,应该加上对话,w : 保存退出

再使用fdisk -l查询一次

[root@localhost ~]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000a8f52

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    83886079    40893440   8e  Linux LVM

Disk /dev/mapper/centos-root: 37.7 GB, 37706792960 bytes, 73646080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-swap: 4160 MB, 4160749568 bytes, 8126464 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xe8606b69

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   83  Linux

 
 

2.1.5 mkfs命令

在 Linux 中,mkfs 命令用于创建文件系统。mkfs 命令可以根据指定的文件系统类型,对指定的设备进行格式化并创建相应的文件系统。
注意,mkfs 命令会将指定设备上的所有数据都清除,所以在使用 mkfs 命令之前,需要备份设备上的所有数据,以免造成数据丢失。

格式:

mkfs [选项]
#指定文件类型,格式化
mkfs -t [文件系统类型] [设备名]

选项有:

-t :选项指定要创建的文件系统类型。
-f :强制格式化设备,即不进行任何确认提示,直接执行格式化操作。
-n :不进行实际的格式化操作,而是模拟操作并显示格式化后的文件系统信息。
-c :对设备进行坏块检查,即检查设备是否有坏道,并在格式化过程中跳过坏道。
-b :块大小:指定文件系统中的块大小,默认为 4096 字节。
-i :inode 大小:指定文件系统中 inode 的大小,默认为 256 字节。
-L :卷标:为文件系统指定一个卷标,方便识别和管理。

举例:

[root@localhost bin]# mkfs -t xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

 
 

2.1.6、mount命令

1、mount命令介绍

monut命令是Linux系统中常用的命令之一,用于将一个文件系统连到系统的目录结构中的一个目录上,以例在该目录下访问该文件系统中的文件。本质上,mount命令会将一个文件系统添加到Linux文件系统树中。

格式:

mount [-t 文件系统类型] [-o 挂载选项] 设备文件名 挂载点

常用选项

-t:指定文件系统类型;例如 ext4、ntfs、nfs
-o:指定挂载选项,例如 ro(只读)、rw(可读可写)、noexec(不允许运行程序文件)、nosuid(不允许设置 setuid 位)、noatime(不更新文件的访问时间)等等;
-a:将 /etc/fstab 文件中列出的所有文件系统挂载到挂载点;
-r:以只读方式挂载文件系统;
-w:以可读可写方式挂载文件系统。

设备文件名指定要挂载的设备,例如 /dev/sdb1、/dev/cdrom 等等;挂载点指定要将设备挂载到的目录,例如 /mnt、/media 等等。除了常规挂载方式外,mount 命令还可以用于挂载网络文件系统,例如 NFS(Network File System)和 CIFS(Common Internet File System)。

在使用 mount 命令时,需要注意以下几点:

在挂载前需要创建挂载点,即一个目录用来挂载文件系统;
挂载点不能是一个已经存在的非空目录;
可以将挂载命令写入 /etc/fstab 文件中,这样系统启动时会自动进行挂载。

 
2、mount命令实战

实战内容:将前面新分区 /dev/sdb1 挂在到 /sdb1目录下),下面分为临时挂载与永久挂载

先查用df -h 查看文件系统情况,发现/dev/sdb1没有挂载
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M5B1Y5l7-1680438374313)(en-resource://database/1123:1)]

 
a、临时挂载
新增/sdb1目录
mkdir /sdb1
将/dev/sdb1/挂到/sdb1目录下
mount -t xfs /dev/sdb1/ /sdb1/
操作如下:

[root@localhost /]# mkdir /sdb1
[root@localhost /]# ls
bin   data  etc   lib    media  opt   root  sbin  srv  tmp  var
boot  dev   home  lib64  mnt    proc  run   sdb1  sys  usr
[root@localhost /]# mount -t xfs /dev/sdb1/ /sdb1/
[root@localhost /]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 4.2G     0  4.2G   0% /dev
tmpfs                    4.2G     0  4.2G   0% /dev/shm
tmpfs                    4.2G   12M  4.2G   1% /run
tmpfs                    4.2G     0  4.2G   0% /sys/fs/cgroup
/dev/mapper/centos-root   36G   11G   25G  31% /
/dev/sda1               1014M  150M  865M  15% /boot
overlay                   36G   11G   25G  31% /var/lib/docker/overlay2/070d915273c8c170211c7946f30d6c377fd3915988be1a7a65332aeebf945568/merged
tmpfs                    844M     0  844M   0% /run/user/0
/dev/sdb1               1014M   33M  982M   4% /sdb1
[root@localhost /]#

挂载成功后,使用df -h查看了文件系统 ,发现/dev/sdb1挂载到了/sdb1下了,这便挂载成功了,但这个是临时的,只要重启系统,这个挂载便不在了,如果需要开启后也生效。可以使用永久挂载

在学习永久挂载前先,reboot(重启)下系统,让临时挂载失效

 
b、永久挂载
前面的注意的第三点里面说明了,可以将挂载命令写入 /etc/fstab 文件中,这样系统启动时会自动进行挂载。所以永久挂载便是将挂载命令写入/etc/fstab文件中,这类似windows的启动项

操作如下:

vim /etc/fstab

在里面添加

/dev/sdb1   /sdb1      xfs        defaults      0 0

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IebCBYiG-1680438374313)(en-resource://database/1125:1)]

:wq退出后,reboot重启系统,重启成功后再使用df -f命令检查
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WbWpwiBU-1680438374314)(en-resource://database/1127:0)]

3、用户管理

3.1、用户简介

用户是指使用系统的人或程序。在系统中,每个用户都被分配了一个唯一的用户 ID(UID),用于标识用户的身份。同时,每个用户还被分配了一个组 ID(GID),用于标识用户所属的组。系统管理员可以通过创建、修改和删除用户和组来管理系统的访问控制和资源分配。

1、用户分类
Linux 系统中的用户分为两类:系统用户、普通用户、程序用户。

系统用户是系统内部使用的用户,通常用于运行系统服务和守护进程等,这些用户的 UID 一般较小,例如 root 用户的 UID 为 0。系统用户的账户信息保存在 /etc/passwd 文件中,密码信息保存在         /etc/shadow 文件中。

 普通用户是指系统中的一般用户,用于执行日常任务和使用系统资源。这些用户的 UID 一般较大,例如从第 1000 开始。普通用户的账户信息也保存在 /etc/passwd 文件中,密码信息保存在 /etc/shadow 文件中。  
  
程序用户的账户信息通常保存在 /etc/passwd 文件中,但是不需要为其设置登录 Shell,因为它们不需要交互式地登录到系统中。程序用户通常被用来运行服务和守护进程,这些进程需要访问某些系统资源,例如网络端口、文件和设备等,因此程序用户需要相应的权限和访问控制。

2、管理用户与用户组的命令:

useradd:创建新用户账户;
usermod:修改已有用户账户;
userdel:删除用户账户;
groupadd:创建新用户组;
groupmod:修改已有用户组;
groupdel:删除用户组。

3、管理用户的文件
文件:/etc/passwd
它包含了一个 Linux 系统中所有用户的账户信息。每一行都代表一个用户账户,这些账户的信息以冒号 :分隔,格式如下:

username:password:UID:GID:comment:home_directory:shell

各字段的含义如下:

username:账户名,用于登录系统;
password:密码占位符,现在已经不再使用,因为密码信息已经移动到 /etc/shadow 文件中;
UID:用户 ID,是一个数字,唯一标识了该用户;
GID:用户所属组的组 ID;
comment:注释信息,可以为空;
home_directory:用户的主目录,通常是 /home/username;
shell:用户的默认 Shell 程序,用于交互式登录时使用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MnpW4EOx-1680438374314)(en-resource://database/1129:0)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魂尾ac

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值