zsh、vim、Bash Shell使用教程

zsh简介

  • 官网:Zsh
  • Zsh 属于 Shell 的一种,和 Bash 一样,但比 Bash 更好用,Zsh 完全兼容 Bash,拥有极其丰富的插件,其强大的自动补全参数、文件名以及自定义功能,可以大大提高我们使用 Linux 的效率。
  • 查看 Linux 支持哪些 shell

    cat /etc/shells

查看 Linux 当前使用 shell

echo $SHELL

Bash简介

bash(GNU Bourne-Again Shell)是最常用的一种shell,是当前大多数Linux发行版的默认Shell。

Shell简介

shell是一个命令语言解释器,是用户和Linux内核之间的运行在终端中的文本互动接口程序。

Shell相当于是一个翻译,把我们在计算机上的操作或我们的命令,翻译为计算机可识别的二进制命令,传递给内核,以便调用计算机硬件执行相关的操作;同时,计算机执行完命令后,再通过Shell翻译成自然语言,呈现在我们面前;

当用户成功登入系统后shell就启动了,并始终作为你与系统内核的交互手段直至你退出系统;

其他的shell还有:sh、bash、zsh、ksh、rsh、csh等。

shell命令可以分为以下三类:

  • 内建函数(built-in function):shell自带的功能
  • 可执行文件(executable file):保存在shell之外的脚本,提供了额外的功能。
  • 别名(alias):给某个命令的简称

vim 简介

  • 官网:welcome home : vim online
  • Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

Vim其实是vi的功能增强版,vim = vi + IMproved。.vimrc文件为Vim的配置文件,默认在home目录下,相关配置可见文件描述;

zsh 与 vim 基本配置

1.安装zsh和vim,安装后对zsh和vim进行配置使用;如下复制安装好的目录到home根目录

2.执行配置文件替换

./LINUX_TOOL/install.sh

脚本配置如下:

# 为原来文件备份
mv $HOME/.vim						$HOME/.vim_backup
mv $HOME/.vimrc						$HOME/.vimrc_backup
mv $HOME/.oh-my-zsh					$HOME/.oh-my-zsh_backup
mv $HOME/.zshrc						$HOME/.zshrc_backup
mv $HOME/.tmux.conf					$HOME/.tmux.conf_backup
# 在$HOME下创建快捷方式
tool_path=$(cd "$(dirname "$0")"; pwd)
ln -s $tool_path/vim/.vim					$HOME/
ln -s $tool_path/vim/.vimrc					$HOME/
ln -s $tool_path/zsh/.oh-my-zsh				$HOME/
ln -s $tool_path/zsh/.zshrc					$HOME/
ln -s $tool_path/zsh/.tmux					$HOME/
ln -s $tool_path/zsh/.tmux/.tmux.conf		$HOME/
# 在$HOME下创建tmux工作区间保存目录
rm -rf	$HOME/.tmux_workspace_save
mkdir 	$HOME/.tmux_workspace_save
# 在$HOME下创建undo历史保存目录
rm -rf	$HOME/.undo_history
mkdir 	$HOME/.undo_history
#自动安装zshell autojump插件
python $HOME/.oh-my-zsh/custom/plugins/autojump/install.py

 3. Zsh主题应用(根据个人喜好)

source ~/.zshrc 

zsh使用介绍

主题切换

不同的主题可以自行切换。甚至可以将 ZSH_THEME 的值写为 random 。这样每次打开都会是一款随机主题,总有一个适合你。

//显示当前主题名
echo $ZSH_THEME

自动补全

    虽然 Bash 下,tab 是一个好用的命令补全键,但 oh-my-zsh 提供了更加强大的命令补全工具,很多时候,只需要输入一条命令,然后按 tab,oh-my-zsh 就可以自动给你补全该条命令其他的参数。

也可以使用 alias 命令设置别名(.zshrc中加入)。
示例:

alias vi="vim"
alias s="source ~/.zshrc"

目录穿越

我们经常会遇到这样一个场景:先进入一个很深的目录,然后又换到另一个目录下的,如果要返回之前的某个目录,通常我们会使用 cd - 返回最近一次目录,或者使用 history 去查找更早之前的目录,不过 oh-my-zsh 给我们提供了强大的 d 命令,有了它,可以简化以上步骤。
    d 命令会列出我们最近进入的目录历史,并且会给这些目录加上序号,只需要输入对应目录的序号,即可重新进入该目录,如下图所示,d 命令列出了我最近进入的几个目录,其中序号为 2 的目录是我的 LINUX_TOOL目录,直接输入 2,立马跳回到 LINUX_TOOL 所在目录。

 也可以使用 hash -d 设置路径别名,进入相应路径只需要 cd ~xxx

注意:

修改.zshrc配置文件后,需要重新加载( source ~/.zshrc )或重新启动才会生效

Bash Shell使用介绍

基本命令

cd命令:

用于切换当前工作目录。

cd /home/user1将当前工作目录切换到/home/user1。
cd ../user2:切换到当前目录的上一级目录并进入user2。
 cd ./代表当前目录
ls命令:用于列出指定目录中的文件和子目录。ls /home/user1将列出/home/user1目录下的所有文件和子目录。
   
 ls -l:以详细列表的方式显示目录内容。
 ls -a:显示全部文件,包括隐藏文件。
 ls -h:以人类可读的格式显示文件大小。
cp命令:用于复制文件或目录。cp file1 file2将文件file1复制为file2。
cp -r dir1 dir2将目录dir1及其内容复制到dir2。
mv命令:用于移动或重命名文件或目录。mv file1 file2将文件file1移动到file2。
mv file1 dir1将文件file1移动到目录dir1中。
 rm命令:用于删除文件或目录。rm file1将删除文件file1。
rm -r dir1将删除目录dir1及其内容。
rm -f dir2:强制删除文件,不进行确认。
rm file1?前缀一个字符的被删除
rm file1*删除匹配的
rm -r dir?
rm -rf* 删除目录下所有文件
 mkdir命令:用于创建目录。mkdir dir1将创建一个名为dir1的目录。
touch命令:用于创建空文件或更改文件的时间戳。touch file1将创建一个名为file1的空文件。
touch -t 202012310000.00 file1将更改文件file1的时间戳为2020年12月31日00:00。
cat命令:用于查看或连接文件。cat file1将查看文件file1的内容。
cat file1 file2 > file3将文件file1和file2的内容连接起来,并将结果保存到file3。
less命令:用于查看文件内容,并提供翻页浏览功能。less file1将以交互方式查看文件file1的内容。
echo命令:用于向终端输出文本。echo “Hello World!”将输出Hello World!到终端。
pwd:显示当前工作目录的路径。echo $HOME主目录pwd:显示当前工作目录的路径。echo $HOME主目录
chmod:chmod命令用于更改文件或目录的权限。它可以接受一个参数,指定要更改权限的文件或目录名。可以使用不同的权限标记来指定要更改的权限。
 chmod 777 file_name:将文件的权限设置为rwxrwxrwx(读r 写w 执行x)。
chown:修改文件所有者。chown owner_name file_name:将文件的所有者修改为owner_name。
 du:查看文件或目录的磁盘使用情况。du -h file_name:以人类可读的方式显示文件大小。

history 命令

clear 清屏

history命令用于显示最近执行过的命令历史记录。它不需要参数,并且会打印出所有先前执行过的命令。
tar 归档命令tar -czvf xxx.gz dir4 dir5 file*  压缩
tar -zxvf xxx.gz 解压缩
解压缩到指定目录:tar -zxvf xxx.gz -C /root
ifconfig 查看IPifconfig eth0 192.168.1.123修改IP
ping www,baidu.com

系统用户相关命令

  • su - root 普通超级
  • su - xxx  超级普通
  • useradd XXX  增加用户
  • passwd    密码
  • who         查看用户
  • userdel xxx 注销才能删除
  • ps - aux 显示打开的进程,相当于任务管理器
  • uptime 显示系统运行时间
  • shutdown -r now 重启系统
  • shutdown -h now 关机

批量处理命令

1. grep命令:用于在文件中查找指定模式的字符串。
   示例:grep “pattern” file1将在文件file1中查找包含指定模式的字符串。
         grep “pattern” file.txt

2. sed命令:用于根据指定规则对文件进行文本替换。
   示例:sed ‘s/pattern/replace/g’ file1将文件file1中的pattern字符串替换为replace字符串。

3. awk命令:用于以指定规则对文件进行流式处理。
   示例:awk ‘{print $1}’ file1将输出文件file1中每行的第一个字段。
 
4. find:根据特定条件查找文件。
   find /path/to/dir -name “file_name”:在指定目录中查找名为”file_name”的文件。
   
find / -name file1根目录查找
find ./ -name file1\?;
find ./ -name file1\*;
find ./ -name \*file\*中间相同
find ./ -name file1\*;
find ./ -name \*file后缀相同

管道和重定向

1. 管道:通过管道符(|)将一个命令的输出作为另一个命令的输入。
   示例:command1 | command2将command1的输出作为command2的输入。

2. 重定向:用于将命令的输入或输出重定向到文件。
   示例:command > file1将命令的输出重定向到文件file1。
         command < file1将命令的输入重定向为文件file1。

条件判断和循环

1. 条件判断:通过if语句进行条件判断。   
示例:

if [ condition ];
    then command1
elif [ condition ];
then
    command2
else
command3
fi


2. 循环:通过for和while语句进行循环操作。   
示例:

for var in list;
do command1
$var done
while [ condition ];
do command1
done

脚本编写

1. 创建脚本:用文本编辑器创建一个扩展名为.sh的文件。
示例:vi script.sh
2. 添加执行权限:使用chmod命令为脚本文件添加执行权限。   
示例:chmod +x script.sh
3. 编写脚本内容:在脚本文件中编写要执行的命令和逻辑。   
示例:

#!/bin/bash
echo "Hello World!"

4. 运行脚本:使用./命令运行脚本文件。
示例:./script.sh将执行脚本内容并输出Hello World!到终端。

vim使用介绍

vim工作模式

1 . 命令模式(command Mode):
    用户刚刚启动vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下 i ,并不会输入一个字符, i 被当作了一个命令。
    以下是常用的几个命令:

  • i 从当前光标处进入插入模式
  • I 进入插入模式,并置光标于行首
  • a 追加模式,置光标于当前光标之后
  • A 追加模式,置光标于行末
  • o 在当前行之下新加一行,并进入插入模式
  • O 在当前行之上新加一行,并进入插入模式
  • Esc 退出插入模式

2 . 输入模式(Insert Mode)
    在命令模式下按下 i 就进入了输入模式。在输入模式中可进行文本的编辑。按ESC回到命令模式。

3 . 底线命令模式(Last Line Mode)
    在命令模式下按下 : (英文冒号)就进入了底线命令模式。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。在底线命令模式中,常用命令如下,按ESC键可随时退出底线命令模式。

  • :w 将缓冲区写入文件,即保存修改
  • :wq 保存修改并退出
  • :x 保存修改并退出
  • :q 退出,如果对缓冲区进行过修改,则会提示
  • :q! 强制退出,放弃修改

vim基本操作

https://zhuanlan.zhihu.com/p/683883778

基本操作

插入

  • i 从当前光标处进入插入模式
  • I 进入插入模式,并置光标于行首
  • a 追加模式,置光标于当前光标之后
  • A 追加模式,置光标于行末
  • o 在当前行之下新加一行,并进入插入模式
  • O 在当前行之上新加一行,并进入插入模式
  • Esc 退出插入模式

删除

  • dd 删除光标所在行
  • dw 删除一个字(word)
  • d/D 删除到行末
  • x 删除当前字符
  • X 删除前一个字符
  • 单行删除:dd;  删除到单词尾dw;  删除到行尾d$; 删除到行首d^
  • 全部删除:按esc键后,先按gg(到达顶部),然后dG
  • 不用输入模式:shift+d   从右到左一个一个字符删除;
  • 按V,按上下左右箭头,选中块进行复制删除
  • 直接按delete:从左删除到右的一个一个字符

复制粘贴

  • 单行复制:yy; 复制到单词尾yw;  复制到行尾y$; 复制到行首y^;y/Y 复制到行末
  • 全部复制:按esc键后,先按gg,然后ggyG;
  • p 粘贴粘贴板的内容到当前行的下面
  • P 粘贴粘贴板的内容到当前行的上面
  • 按V,按上下左右箭头,选中块进行复制删除
  •  使用鼠标滚动复制:

:set mouse=a   打开鼠标功能

:set mouse-=a 关闭鼠标功能

:set nonu     如果要复制多行而不使用行号禁用数字:

:set nu        则可以在复制完成后重新启用它们

撤销与重做

撤销:u   ;恢复撤销:ctrl+r   ;跳转后执行回退:ctrl+o;前进ctrl+i

编辑

  • J 将下一行和当前行连接为一行
  • cc 删除当前行并进入编辑模式
  • cw 删除一个单词(光标以后的字符,包括光标)进入插入模式
  • c$ 擦除从当前位置至行末的内容,并进入编辑模式
  • s 删除当前字符并进入编辑模式
  • S 删除光标所在行并进入编辑模式
  • xp 交换当前字符和下一个字符
  • u 撤销
  • ctrl+r 重做
  • ~ 切换大小写,当前字符
  • >> 将当前行右移一个单位
  • << 将当前行左移一个单位(一个tab符)
  • == 自动缩进当前行
  • 注释: mm  为//注释

window复制到linux

:set paste #进入全格式粘贴模式,shift+insert全格式粘贴 :set nopaste #取消全格式粘贴模式

ctrl+c复制外面的,shift+inster粘贴到linux的vim编辑器中

linux复制到window

移动光标

  • h j k l 上 下 左 右
  • ctrl-y 上移一行
  • ctrl-e 下移一行
  • ctrl-u 上翻半页(up)
  • ctrl-d 下翻半页(down)
  • ctrl-f 上翻一页(forward)
  • ctrl-b 下翻一页(backward)
  • w 跳到下一个字首,按标点或单词分割
  • W 跳到下一个字首,长跳,如end-of-line被认为是一个字
  • e 跳到下一个字尾
  • E 跳到下一个字尾,长跳
  • b 跳到上一个字
  • B 跳到上一个字,长跳
  • 0 跳至行首,不管有无缩进,就是跳到第0个字符
  • ^ 跳至行首的第一个字符
  • $ 跳至行尾
  • gg 跳至文首
  • G 调至文尾
  • 5gg/5G 调至第5行
  • gd 跳至当前光标所在的变量的声明处
  • fx 在当前行中找x字符,找到了就跳转至
  • ; 重复上一个f命令,而不用重复的输入fx
  • * 查找光标所在处的单词,向下查找
  • # 查找光标所在处的单词,向上查找
  • 光标所在的窗口切换

光标在左侧树形目录:ctrl+w+h

光标在右侧窗口显示:ctrl+w+l

光标左右切换           :ctrl+w+w

树显示左右切换       :ctrl+w+r

查找和搜索

  • 查找快捷键
  • /pattern 向后搜索字符串pattern
  • ?pattern 向前搜索字符串pattern
  • "\c" 忽略大小写
  • "\C" 大小写敏感
  • n 下一个匹配(如果是/搜索,则是向下的下一个,?搜索则是向上的下一个)
  • N 上一个匹配(同上)

  • 命令行查找

grep介绍,如果你想在当前目录下 查找"hello,world!"字符串,可以这样:  

grep -rn "hello,world!" *
  •  全局搜索文件的字符串:cscope find t xxx
  • ctrl+f    按ctrl+j 和ctrl+k上下选择文件
  • 查找函数:|+f+s      |+f+t       |+f+c

替换

  • :%s/old/new/g 搜索整个文件,将所有的old替换为new
  • :%s/old/new/gc 搜索整个文件,将所有的old替换为new,每次都要你确认是否替换
  •  vim 中可用 :s 命令来替换字符串,具体如下:

:s/str1/str2/       替换当前行第一个 str1 为 str2
:s/str1/str2/g     替换当前行中所有 str1 为 str2


:m,ns/str1/str2/    替换第 n 行开始到最后一行中每一行的第一个 str1 为 str2
:m,ns/str1/str2/g  替换第 n 行开始到最后一行中所有的 str1 为 str2
(注:m和n 为数字,若m为 .,表示为当前行开始;若n为$,则表示到最后一行结束)

如果使用 # 作为分隔符,则中间出现的 / 不会作为分隔符,比如:
:s#str1/#str2/#    替换当前行第一个 str1/ 为 str2/
:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/

:%s/str1/str2/(等同于 :g/str1/s//str2/) 替换每一行的第一个 str1 为 str2
:%s/str1/str2/g(等同于 :g/str1/s//str2/g 和 :1,$ s/str1/str2/g ) 替换文中所有 str1 为 str2

从替换命令可以看到,g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索

窗口操作

一、切分窗口

1. 水平切分

命令::sp file

快捷键:<Ctrl-W> + S

2. 垂直切分

  命令: :vsp file

   快捷键:<Ctrl-W> + V

二、关闭窗口

1. 关闭活动窗口

  命令: :clo 或者 :q

  快捷键:<Ctrl-W> + C

2. 关闭其他窗口

  命令: :on

  快捷键:<Ctrl-W> + O

三、切换窗口

1. <Ctrl-W> + W 窗口间循环切换

2. <Ctrl-W> + H 切换到左边窗口

3. <Ctrl-W> + J   切换到上边窗口

4. <Ctrl-W> + K   切换到下边窗口

5. <Ctrl-W> + L   切换到右边窗口

四、调整窗口

1. <Ctrl-W> + _   最大化活动窗口的高度

2. <Ctrl-W> + |    最大化活动窗口的宽度

3. <Ctrl-W> + = 使所有窗口等宽等高

4. [N] + <Ctrl-W> + _ 设置活动窗口高度为N行

5. [N] + <Ctrl-W> + | 设置活动窗口宽度为N列

6. :res +10 增加活动窗口高度

7. :vertical res +10 增加活动窗口宽度

五、移动窗口

1. <Ctrl-W> + Shift + K 当前窗口移到最上边

2. <Ctrl-W> + Shift + H 当前窗口移到最左边

3. <Ctrl-W> + Shift + J 当前窗口移到最下边

4. <Ctrl-W> + Shift + L 当前窗口移到最右边

可视操作

跳转声明

  • 打开头文件:光标放置头文件出,按|+F+F
  • 跳转到文件行首:gg;跳转到行末shift+g

挂起操作

(1)基本使用如下

(2)其它操作说明 

鼠标操作

(1)基本使用如下

(2)其它操作说明 

编译

(1)基本使用如下

1.编译apps:make
2.清理apps:make clean
3.编译全部libg:make libs
4.清理全部libg:make clean libs
5.编译单独lib:make lib target
6.清理单独1ib:make clean lib target
7.GDB 调试   :make debug
8.组合编译命令:make clean_libs && make clean && make libs && make -j

环境设置

(1)基本使用如下

目录与多文件操作

  • 打开的文件切换:按1,2左右切换;或者按空格进入命令窗口:bn 下一个文件;bp上一个文件;ls列出打开的文件
  • 打开目录:o   ;跳转当前根目录:p

  • vim file1.. 同时打开多个文件
  • :args 显示当前编辑文件
  • :next 切换到下个文件
  • :prev 切换到前个文件
  • **:next!**不保存当前编辑文件并切换到下个文件
  • **:prev!**不保存当前编辑文件并切换到上个文件
  • :wnext 保存当前编辑文件并切换到下个文件
  • :wprev 保存当前编辑文件并切换到上个文件
  • :first 定位首文件
  • :last 定位尾文件
  • ctrl+^ 快速在最近打开的两个文件间切换
  • :split[sp] 把当前文件水平分割
  • :split file 把当前窗口水平分割, file
  • :vsplit[vsp] file 把当前窗口垂直分割, file
  • :new file 同split file
  • :close 关闭当前窗口
  • :only 只显示当前窗口, 关闭所有其他的窗口
  • :all 打开所有的窗口
  • :vertical all 打开所有的窗口, 垂直打开
  • :qall 对所有窗口执行:q操作
  • :qall! 对所有窗口执行:q!操作
  • :wall 对所有窗口执行:w操作
  • :wqall 对所有窗口执行:wq操作
  • ctrl-w h 跳转到左边的窗口
  • ctrl-w j 跳转到下面的窗口
  • ctrl-w k 跳转到上面的窗口
  • ctrl-w l 跳转到右边的窗口
  • ctrl-w t 跳转到最顶上的窗口
  • ctrl-w b 跳转到最底下的窗口

多标签操作

  • :tabedit file 在新标签中打开文件file
  • :tab split file 在新标签中打开文件file
  • :tabp 切换到前一个标签
  • :tabn 切换到后一个标签
  • :tabc 关闭当前标签
  • :tabo 关闭其他标签
  • gt 到下一个tab
  • gT 到上一个tab
  • 0gt 跳到第一个tab
  • 5gt 跳到第五个tab

其他操作

1.常见处理

2.执行shell命令

  1. 在命令模式下输入":sh",可以运行相当于在字符模式下,到输入结束想回到VIM编辑器中用exit,ctrl+D返回VIM编辑器
  2. 可以"!command",运行结束后自动回到VIM编辑器中
  3. 用“Ctrl+Z“回到shell,用fg返回编辑
  4. :!make -> 直接在当前目录下运行make指令

3 自动排版

在粘贴了一些代码之后,vim变得比较乱,只要执行gg=G就能搞定

4.以下操作在操作目录时生效

p,P,t,u,U,x,v,o,r,s

  • c 使当前打开的目录成为当前目录
  • d 创建目录
  • % 创建文件
  • D 删除文件/目录
  • - 转到上层目录
  • gb 转到上一个 bookmarked directory
  • i 改变目录文件列表方式
  • ^l 刷新当前打开的目录

linux命令行搜索

find命令:

1.查找文件:

find -name rule.mk

不区分大小写:

find -iname rule.mk

 2.查找开头,或者结尾的文件

 find -name "rule*"


 find -name "*.ini"  或者指定目录:find ./ -name "*.ini"

 

3.其它按文件修改时间,属性,大小等查找文件;也可以配合grep进行内容查找

grep命令:

1.grep命令结合find命令搜索

 find . -name '*.c' -exec grep -i 'isd_config_rule' {} \; -print

2. 如果只想获取和整个搜索字符匹配的内容,那么可以使用参数w

搜索的是文件:

grep -w "isd_config_rule.c" ./tools/rule.mk

 3.如果我们只想获取那些文件包含搜索的内容,那么可以使用下命令

grep -H -r "v\$temp_space_header" /u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1 

4.递归搜索某个目录以及子目录下的所有文件(显示行号使用-rn)

 grep -r "isd_config_rule" ./

显示行号:

 grep -rn "isd_config_rule" ./      

 5.搜索、查找匹配的行数:

grep -c "isd_config_rule.c" ./tools/rule.mk

 

 6.如果搜索时需要忽略大小写问题,可以使用参数-i

grep -i "V\$TEMP_SPACE_HEADER"  *.sql

7. 如果需要显示搜索文本在文件中的行数,可以使用参数-n

grep  -n "v\$temp_space_header" *.sql

8.如果你想搜索单个、多个文件是否包含某个字符串,可以使用下面方式

grep "ORA" test.c :搜索单个文件

grep "search content" filename1 filename2.... filenamen

grep "search content" *.sql

常用插件

函数跳转插件:ctags

vim树形目录插件:NERDTree

vim+cscope+ctags搭建的IDE

在vim中添加taglist, omnicppcomplete, echofunc, minibufferexplorer等插件

常见问题

1. vim里面 sy 后,部分文件里面的东西用cs find找不到

解决办法:修改~/.vim/tools/sync.sh,将过滤给他去掉。

 vim .vim/tools/sync.sh

原来没注释前:

注释后:

2.xshell无法和windows共用剪贴板

原因:xshell和xmanager版本不兼容,或者xmanager没有授权

解决办法:购买和重新安装xshell和xmanager。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值