Linux基础(更新中)

linux基础​

随手记录

配置SSH公钥
ssh-keygen -t rsa 会让你输入东西,不用输入,一直按回车,直到出现新的输入时等于公钥生成
复制虚拟机公钥到主机
ssh-copy-id ~/.ssh/id_rsa.pub root@master(我的主机名为master,@后为自己修改的主机名)
此步需要输入一个yes和root用户的密码。

查看是否有定时任务:

crontab -l

yum源定义文件存放位置:

/etc/yum.repos.d

将光驱挂载到/mnt/cdrom中:

mount /dev/cdrom /mnt/cdrom

查看系统的默认运行级别:

systemctl get-default

列出系统中所有可用的yum源:

yum repolist

测试当前用户是否对/etc/passwd文件具有读写权限,如果是则显示"yes":

[ -w(r) /etc/passwd ] && echo "yes"

从/etc/passwd文件中找出所有以"nologin"结尾的行,并写入到/root/nologin.txt问价中:

grep "nologin$" /etc/passwd > /aa.txt

测试当前系统中登录的用户数量:

who

判断当前系统中登录的用户数量是否小于10(小于输出yes,否输出no):

[ $(who | wc -l) -le 10 ] && echo "yes" || echo "no"

将/var/ftp目录打包压缩为/root/var.tar.gz:

tar -zvcf /root/var.tar.gz /var/ftp

编写一个shell脚本,脚本执行后会输出提示信息"Localtino:",提示用户输入一个文件路径,然后判断用户输入的路径是否是"etc/inittab",如果是则输出"yes".

#!/bin/bash
read -p "Location:" path
[ $path == /etc/inittab ] && echo "yes"

远程拷贝(将127.22的文件拷贝到当前目录):

scp root@192.168.127.22:/root/anaconda-ks.cfg ./

遗忘的命令(Centos6、7 不同)

1.centos6 7的网卡重启方式
#centos6 重启网卡
service net work restart  #重启网卡
#centos7 重启网卡
systemctl restart network

2.DNS配置文件: cat /etc/resolv.conf
设置主机和ip绑定信息: cat /etc/hosts
设置主机名: cat /etc/hostname

3.关闭防火墙并重新设置开机不启动(Centos7)
查看防火墙状态: systemctl status firewalld.service
关闭: systemctl stop firewalld
开启: systemctl start firewalld
开机自关闭: systemctl disable firewalld
开机自启动: systemctl enable firewalld
查看开机是否启动: chkconfig --list | grep network

安装系统分区

共三个分区:

​ boot:引导分区(1G) 设备类型:标准分区 文件系统:ext4

​ swp: 交换分区(2G) 设备类型:标准分区 文件系统:swap

​ /: 根分区 (All) 设备类型:标准分区 文件系统:ext4

三种网络模式

  1. 桥接模式:虚拟系统可以和外部系统相互通讯,但是每个主机都会占用一个ip,最大容量255个,会造成ip冲突。
  2. NAT模式:网络地址转换模式,虚拟系统可以和外部系统通讯,外部系统无法访问虚拟系统,单方向的,不会造成ip冲突问题。
  3. 主机模式:单独的一个系统。

具体的目录结构

/bin:【常用】Binary 的缩写,存放经常使用的命令

/sbin:Super User的意思,存放系统管理员使用的系统管理程序

/home:【常用】存放普通用户的主目录

/root:【常用】系统管理员的主目录

/lib:系统开机所需要最基本的动态链接共享库,类似于Windows的DLL文件,几乎所有应用程序都需要用到这些共享库

/lost+found:这个目录一般情况下为空,当系统非法关机之后,这里就会存放一些文件

/etc:【常用】常用的系统管理所需要的配置文件和子目录,比如安装mysql数据库,my.conf

/usr:【常用】这是非常重要的目录,用户很多应用程序和文件都放在这个目录下,类似于Windows下的program files目录

/boot:【常用】存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件

/proc:【不能动】这个目录是一个虚拟目录,是系统内存的映射,访问这个目录来获取系统信息

/srv:【不能动】service缩写,该目录存放一些服务启动之后需要提取的数据

/sys:【不能动】这是linux2.6内核的一个很大的变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs

/tmp:这个目录用来存放一些临时文件的

/dev:类似于Windows的设备管理器,把所有的硬件用文件的形式存储

/media:【常用】Linux系统会自动识别一些设备,例如:U盘、光驱等等,识别之后,Linux会把识别的设备挂载到这个目录下

/mnt:【常用】系统提供该目录是为了让用户临时挂载别的文件系统的,可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的内容了。D:/myshare

/opt:给主机额外安装软件所拜访的目录,如安装ORACLE数据库就可以放在该目录下面,默认为空。

/usr/local:【常用】这是另一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序。

/var:【常用】这个目录存放着不断扩充着的东西,习惯将经常被修改的目录放在这个目录下,包括各种日志文件。

/selinux [security-enhanced linux]:【没有启动看不到】SELinux是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置。

🎅:某些目录没有特殊的启动设置看不到

vi和vim常用快捷键

  1. 拷贝当前行 yy,拷贝当先行向下的5行 5yy,粘贴 p。
  2. 删除当前行 dd,删除当前行向下的5行 5dd。
  3. 在文件中查找某个单词 – 命令行下 /关键字,回车查找,输入 n 查找下一个
  4. 设置文件的行号 命令行下:set nu 和 set nonu
  5. 编辑 /etc/profile 文件,G 定位在最末行,gg 定位在首行
  6. 撤销操作 – 一般模式下 u
  7. 定位指定行:一般模式下命令行:50 回车,直接写数字行 回车
  8. ctrl+f:屏幕向下移动一页,相当于 page down 按键
  9. ctrl+b:屏幕向上移动一页,相当于page up 按键
  10. 0 或者 Home 键:移动到当前行第一个字符
  11. $ 或者 End 键:移动到这一行最后字符处

关机注意事项

shutdown -h now 立刻进行关机

shutdown -h 1 “hello, 1分钟后会关机了” 其中 单独的 shutdown 执行 就是这句话

shutdown -r now 立刻重启

halt 关机

reboot 重启

sync 把内存的数据同步到磁盘

细节:不管是重启还是关机,首先要运行sync命令,把内存数据写入磁盘防止丢失

目前的 /shutdown/reboot/halt 等命令均已经在关机前进行 sync 建议:手动执行sync 小心驶得万年船!

Centos7查看端口

  1. 安装netstat工具
yum install net-tools
  1. 查看服务器所有被占用的端口
netstat -ant
  1. 验证某个端口是否被占用
netstat -tunlp|grep 123456
  1. 查看所有监听端口号
netstat -lntp

用户注销(Logout)

logout 指令可以注销用户

使用细节:logout 注销指令在图形运行级别无效,在运行级别3下有效

----否则报错----

[root@hdfs001 lwx]# logout
bash: logout: 不是登录shell: 使用 `exit’

用户管理

1.添加用户

  • 基本语法
  • useradd 用户名
  • 自定义家目录
  • 也可以通过 useradd -d 指定目录 新的用户名,即给新建用户指定一个家目录
  • 细节说明
  • 当创建用户成功后,会自动的创建和用户同名的家目录,实际工程中,不能一样,要自定义。
[root@hdfs001 home]# useradd -d /home/test lsz
[root@hdfs001 home]# ls
lwx  test
[root@hdfs001 home]# su lsz
[lsz@hdfs001 home]$ cd ~
[lsz@hdfs001 ~]$ pwd
/home/test
[lsz@hdfs001 ~]$ 

2.修改用户密码

  • 基本语法 (不写用户名默认给当前用户修改)
  • passwd 用户名

3.删除用户

  • 基本语法
  • userdel 用户名 – (删除用户,家目录还在)
  • userdel -r 用户名 – (连同家用户目录一同删除)

4.查询用户信息

  • 基本语法
  • id 用户名
[root@hdfs001 home]# id root
uid=0(root) gid=0(root) 组=0(root)
  • 查自己
  • who am i (可以看到登录时间和登录的ip)
[root@hdfs001 home]# who am i
root     pts/0        2021-09-27 22:00 (192.168.241.1)

细节:who am i 查询的是第一次登录到系统的用户信息,并不是执行这个命令的用户信息

[lwx@hdfs001 home]$ who am i
root     pts/0        2021-09-27 22:00 (192.168.241.1)

5.切换用户

  • 基本语法
  • su 用户名
  • 注意细节
  • 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要
  • 当需要返回到原来用户时,使用exit/logout指令,别su来su去。
  • 当之后一个用户登录的时候,使用 logout 会关机

用户组

1.组基本操作

  • 介绍
  • 类似于角色,系统可以对有共性/权限的多个用户进行统一的管理
  • 增加组
  • groupadd 组名
  • 删除组
  • groupdel 组名
  • 增加用户时直接加上组 (前提是这个组要提前存在)
  • useradd -g 用户组 用户名
[root@hdfs001 home]# groupadd testzu
[root@hdfs001 home]# useradd -g testzu lsz
[root@hdfs001 home]# su lsz
[lsz@hdfs001 home]$ id lsz
uid=1001(lsz) gid=1001(testzu) 组=1001(testzu)
  • 注意细节
  • 如果添加用户没有指定组,那么会自动生成一个与用户名相同的组,将自己放进去,一人一个组。
  • 修改用户的组 (权限也会随着改,入乡随俗)
  • usermod -g 用户组 用户名
[root@hdfs001 home]# id lsz
uid=1001(lsz) gid=1002(testzu2) 组=1002(testzu2)
[root@hdfs001 home]# usermod -g testzu lsz
[root@hdfs001 home]# id lsz
uid=1001(lsz) gid=1001(testzu) 组=1001(testzu)

2.用户和组相关文件

  • /etc/passwd 文件
  • 用户(user)的配置文件,记录用户的各种信息
  • 每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
[root@hdfs001 home]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash

Linux分区

1.原理介绍

​ Linux无论有几个分区,归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分

​ Linux采用了叫 载入 的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来,这时要载入的一个分区将使它的存储空间在一个目录下获得。

2.硬盘说明

  1. Linux硬盘分 IDE 硬盘 和 SCSI 硬盘,目前基本上是 SCSI 硬盘

  2. 对于 IDE 硬盘,驱动器标识符为 “hdx~”, 其中 “hd” 表明分区所在设备的类型,这里是指 IDE 硬盘了

    “x” 为盘号(a为基础盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),"~" 代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。

    例子:hda3表示为 第一个 IDE 硬盘上的第三个主分区或扩展分区,hdb2 表示为第二个IDE硬盘上的第二个主分区或扩展分区

  3. 对于 SCSI 硬盘则标识为 “sdx~”, SCSI硬盘使用 “sd” 来表示分区所在设备的类型的,其余则和 IDE 硬盘的表示方法一样。

3.查看所有设备挂载情况

#查看所有设备挂在情况
[root@master ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk    #分区情况
├─sda1   8:1    0    1G  0 part /boot   #sda1是sda的第一个分区,挂在道 /boot文件目录下
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0   47G  0 part /
sr0     11:0    1  4.4G  0 rom  
#详细信息
[root@master ~]# lsblk -f
NAME   FSTYPE  LABEL           UUID                                 MOUNTPOINT
sda                                                                 
├─sda1 ext4                    afe6a3bc-1137-4385-9ea8-87e264e151d9 /boot
├─sda2 swap                    e384eaa5-c79f-4d5f-8be2-24e17524e6e9 [SWAP]
└─sda3 ext4                    7ad59111-70fa-4f7d-b227-22955ab24fae /
sr0    iso9660 CentOS 7 x86_64 2020-11-04-11-36-43-00

#说明:
	UUID:每个分区的一个40位的唯一不重复的标识符
	MOUNTPOINT:挂载点

4.挂载经典案例

说明:下面我们以增加一块硬盘为例,熟悉硬盘相关指令,理解分区,挂载,卸载的概念

大致步骤分几步:
  1. 虚拟机增加硬盘(通过vm软件,界面化增加一个硬盘)

  2. 分区

  3. 格式化

  4. 挂载

  5. 设置可以自动挂载

步骤2:分区
#查看当前电脑硬盘的分区情况
[root@master ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0   47G  0 part /
sdb      8:16   0    5G  0 disk 
sr0     11:0    1  4.4G  0 rom  
#进入分区命令行 开始执行分区操作
[root@master ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xa1192e43 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):m
命令操作
a   toggle a bootable flag
b   edit bsd disklabel
c   toggle the dos compatibility flag
d   delete a partition
g   create a new empty GPT partition table
G   create an IRIX (SGI) partition table
l   list known partition types
m   print this menu
n   add a new partition
o   create a new empty DOS partition table
p   print the partition table
q   quit without saving changes
s   create a new empty Sun disklabel
t   change a partition's system id
u   change display/entry units
v   verify the partition table
w   write table to disk and exit
x   extra functionality (experts only)

切换可引导标志
 b 编辑 bsd 磁盘标签
 c 切换 dos 兼容性标志
 d 删除一个分区
 g 创建一个新的空 GPT 分区表
 G 创建一个 IRIX (SGI) 分区表
 l 列出已知的分区类型
 m 我打印这个菜单
 n 添加一个新分区
 o 创建一个新的空 DOS 分区表
 p 打印分区表
 q 退出而不保存更改
 s 创建一个新的空 Sun 磁盘标签
 t 更改分区的系统 ID
 u 更改显示/输入单位
 v 验证分区表
 w 将表写入磁盘并退出
 x 额外功能(仅限专家)
#增加一个新分区
命令(输入 m 获取帮助):n
Partition type:
p   primary (0 primary, 0 extended, 4 free)
e   extended
#选择分区类型   p:主分区   e:逻辑分区
Select (default p): p
#这里输入几 就是分几个分区   默认 我们就用1吧
分区号 (1-4,默认 1):1  
#默认回车 把空间全给这个分区
起始 扇区 (2048-10485759,默认为 2048):
将使用默认值 2048
#继续回车 默认
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):
将使用默认值 10485759
分区 1 已设置为 Linux 类型,大小设为 5 GiB
#最后 键入w 保存退出
命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
#查看 增加分区的硬盘情况  可以看到 sdb下面有一个sdb1分区了
[root@master ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0   47G  0 part /
sdb      8:16   0    5G  0 disk 
└─sdb1   8:17   0    5G  0 part 
sr0     11:0    1  4.4G  0 rom 
步骤3:格式化

​ 注意:分区之后 如果不进行格式化和挂载 ,是没办法使用的。

#先查看一下sdb1的类型  这里显示是 ext4  注意:这里sdb1 没有 UUID编号
[root@master ~]# lsblk -f
NAME   FSTYPE  LABEL           UUID                                 MOUNTPOINT
sda                                                                 
├─sda1 ext4                    afe6a3bc-1137-4385-9ea8-87e264e151d9 /boot
├─sda2 swap                    e384eaa5-c79f-4d5f-8be2-24e17524e6e9 [SWAP]
└─sda3 ext4                    7ad59111-70fa-4f7d-b227-22955ab24fae /
sdb                                                                 
└─sdb1 ext4                    
sr0    iso9660 CentOS 7 x86_64 2020-11-04-11-36-43-00

#接下来运行 格式化的命令
[root@master ~]# mkfs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310464 blocks
65523 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

#通过查看硬盘分区详细信息可以看到 sdb1 经过格式化之后 产生了 UUID 编号。
[root@master ~]# lsblk -f
NAME   FSTYPE  LABEL           UUID                                 MOUNTPOINT
sda                                                                 
├─sda1 ext4                    afe6a3bc-1137-4385-9ea8-87e264e151d9 /boot
├─sda2 swap                    e384eaa5-c79f-4d5f-8be2-24e17524e6e9 [SWAP]
└─sda3 ext4                    7ad59111-70fa-4f7d-b227-22955ab24fae /
sdb                                                                 
└─sdb1 ext4                    7f45c57f-dcaa-4d20-9527-fff0d0949348 
sr0    iso9660 CentOS 7 x86_64 2020-11-04-11-36-43-00
步骤4:挂载

注意:使用命令行挂载重启之后会失效,这里临时挂载

#挂载之前先看一下 sdb1 挂载在哪里 ,这里看到 sdb1 没有挂载点
[root@master ~]# lsblk -f
NAME   FSTYPE  LABEL           UUID                                 MOUNTPOINT
sda                                                                 
├─sda1 ext4                    afe6a3bc-1137-4385-9ea8-87e264e151d9 /boot
├─sda2 swap                    e384eaa5-c79f-4d5f-8be2-24e17524e6e9 [SWAP]
└─sda3 ext4                    7ad59111-70fa-4f7d-b227-22955ab24fae /
sdb                                                                 
└─sdb1 ext4                    7f45c57f-dcaa-4d20-9527-fff0d0949348 
sr0    iso9660 CentOS 7 x86_64 2020-11-04-11-36-43-00

#然后新建一个文件夹
[root@master /]# mkdir newdisk
[root@master /]# ls
bin   data  etc   lib    lost+found  mnt      opt   root  sbin  sys  usr
boot  dev   home  lib64  media       newdisk  proc  run   srv   tmp  var
#将 sdb1 挂载 到 newdisk 文件夹中
[root@master /]# mount /dev/sdb1 /newdisk/
[root@master /]# lsblk -f
NAME   FSTYPE  LABEL           UUID                                 MOUNTPOINT
sda                                                                 
├─sda1 ext4                    afe6a3bc-1137-4385-9ea8-87e264e151d9 /boot
├─sda2 swap                    e384eaa5-c79f-4d5f-8be2-24e17524e6e9 [SWAP]
└─sda3 ext4                    7ad59111-70fa-4f7d-b227-22955ab24fae /
sdb                                                                 
└─sdb1 ext4                    7f45c57f-dcaa-4d20-9527-fff0d0949348 /newdisk
sr0    iso9660 CentOS 7 x86_64 2020-11-04-11-36-43-00
#进入 /newdisk的文件夹
[root@master /]# cd /newdisk/
#瞄一眼 有啥
[root@master newdisk]# ls
lost+found
#新建一个文件
[root@master newdisk]# touch my.txt
#这里 my.txt 这个文件就创建在 sdb1 这块硬盘上面了
[root@master newdisk]# ls
lost+found  my.txt
步骤4.2:永久挂载

说明:通过写入文件的方式,实现永久挂载,类似于环境变量

#编辑以下文件
[root@master ~]# vim /etc/fstab
#这里已经写入了,我就直接查看了 可以看到 第15行(最后一行),是我写上去的,这样就可以实现永久挂载了
[root@master ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Oct 19 05:53:04 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=7ad59111-70fa-4f7d-b227-22955ab24fae /                       ext4    defaults        1 1
UUID=afe6a3bc-1137-4385-9ea8-87e264e151d9 /boot                   ext4    defaults        1 2
UUID=e384eaa5-c79f-4d5f-8be2-24e17524e6e9 swap                    swap    defaults        0 0
/dev/sdb1				                  /newdisk		          ext4	  defaults	      0 0

注意:这里写完,保存退出,重启系统可以生效,也可以运行 mount -a 命令生效
[root@master ~]#mount -a
步骤5:卸载
#卸载 sdb1 挂载
[root@master /]# umount /dev/sdb1
#可以看到 挂载点没了
[root@master /]# lsblk -f
NAME   FSTYPE  LABEL           UUID                                 MOUNTPOINT
sda                                                                 
├─sda1 ext4                    afe6a3bc-1137-4385-9ea8-87e264e151d9 /boot
├─sda2 swap                    e384eaa5-c79f-4d5f-8be2-24e17524e6e9 [SWAP]
└─sda3 ext4                    7ad59111-70fa-4f7d-b227-22955ab24fae /
sdb                                                                 
└─sdb1 ext4                    7f45c57f-dcaa-4d20-9527-fff0d0949348 
sr0    iso9660 CentOS 7 x86_64 2020-11-04-11-36-43-00

5. 磁盘及具体文件夹情况查询

查看磁盘使用情况
#查看磁盘使用情况
[root@master ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
devtmpfs        895M     0  895M    0% /dev
tmpfs           910M     0  910M    0% /dev/shm
tmpfs           910M   11M  900M    2% /run
tmpfs           910M     0  910M    0% /sys/fs/cgroup
/dev/sda3        47G  5.8G   39G   14% /
/dev/sdb1       4.8G   20M  4.6G    1% /newdisk
/dev/sda1       976M  152M  758M   17% /boot
tmpfs           182M   12K  182M    1% /run/user/42
tmpfs           182M     0  182M    0% /run/user/0
查看文件夹及文件使用情况

基本语法:du -h

查询指定目录的磁盘占用情况,默认为当前目录

-s 指定目录占用大小汇总

-h 带计量单位

-a 含文件

–max-depth=1 子目录深度 等于1 就是1层

-c 列出明细的同时,增加汇总值

[root@master ~]# cd /home/hadoop001/
[root@master hadoop001]# ls
hadoop-3.1.3  jdk1.8.0_212  公共  模板  视频  图片  文档  下载  音乐  桌面
#查看当前目录使用情况
[root@master hadoop001]# du -h --max-depth=1 ./
4.0K	./音乐
393M	./jdk1.8.0_212
12K	./.mozilla
4.0K	./模板
4.0K	./文档
4.0K	./图片
4.0K	./视频
4.0K	./桌面
4.0K	./公共
3.9M	./.cache
20K	./.ssh
12K	./.dbus
866M	./hadoop-3.1.3
4.0K	./下载
500K	./.local
164K	./.config
1.3G	.
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小透明y3000

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

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

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

打赏作者

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

抵扣说明:

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

余额充值