Linux命令+基础知识

Linux常用终端快捷键

Ctrl + a:将光标移到行头;

Ctrl + e:将光标移到行尾;

option + 方向键(wiondows: Alt + B/Alt + F):以单词为单位移动光标;backward/forward

Ctrl + u:擦除光标到行首的所有命令;

Ctrl + k:擦除光标到行尾的所有命令;

Ctrl + w:擦除光标前一个单词;

Ctrl + y:粘贴Ctrl + u/Ctrl + k/Ctrl + w删除的命令;

Ctrl + p:(up)查看上一个命令。相当于pageUp键;

Ctrl + n:(down)查看下一个命令。相当于pageDown键;

Ctrl + r:(research)搜索历史命令。

Linux远程操作——使用ssh和scp

终端利用ssh登录远程服务器

ssh -p 21316 root@218.21.247.142
/**
-p 后面时端口号
root 是服务器用户名
218.21.247.142  是服务器ip
*/

使用scp上传本地文件到远程服务器

scp -P 21316 /Users/jiaohailong/Desktop/PU/PU-GCN-master.zip root@218.21.247.14:/home/jhl

-P 这里的P是大写 后加端口号
/Users/jiaohailong/Desktop/PU/PU-GCN-master.zip  是本地文件的绝对路径
/home/jhl  将本地文件上传到服务器的路径

使用scp( secure copy )下载远程服务器上的文件到本地

scp -P 21316 root@218.21.247.14:/home/jhl/PU-GCN-master.zip /Users/jiaohailong/Desktop/PU

-P 这里的P(Port)是大写 后加端口号
-r 递归复制整个文件夹
-q 不显示传输进度条
/home/jhl 远程服务器文件地址
/Users/jiaohailong/Desktop/PU 要复制到的本地地址

Linux远程操作——使用Xshell和Xftp

远程操作Linux的操作工具(软件):

  • Xshell(Linux的模拟终端软件)仅仅模拟终端,不能向Linux系统传文件

    查看Linux系统的ip地址:ifconfig

  • Xftp(本地操作系统和远程Linux之间进行文件传输)

Linux包管理工具「 yum和apt(Mac中有Home-brew)」

Linux系统大致分为两类:

  • RedHat系列:Redhat、Centos、Fedora等

    1. 常见安装包格式:.rpm(Red hat package manager)包

    2. 常用的包管理工具:

      rpm(RedHat Package Manager,RPM)

      yum(Yellowdog Update Modifie):改进版的rpm包管理工具

  • Debian系列:Debian、Ubuntu等

    1. 常见安装包格式:.deb包

    2. 常用的包管理工具:

      dpkg:Debian包管理系统(Debian Package Management System)

      apt(Advance package tool高级包管理工具)

      apt-get

      apt-cache

yum(Redhat中的包管理工具):查找、安装、删除软件包

apt(Ubuntu中的包管理工具):查找、安装、升级、删除软件包

​ apt需要root(超级管理员权限)

Home-brew(Mac中的包管理工具):安装、卸载、更新、查看、搜索等操作软件包

​ 命令是:brew

Linux文件与目录管理

绝对路径

由根目录 / 写起。例如:/usr/share/doc

相对路径

不是由 / 写起。例如:/usr/share/doc 跳到/usr/share/man目录底下。可以写:cd …/man这就是相对路径的写法。

处理目录的命令

ls(list flie):列出目录及文件名
	-a:查看所有文件包括隐藏文件(以.开头的也会显示)
	
cd(change directory):切换目录
	若路径省略,则切换至使用者的home目录。~也代表home目录	 
	(base) MacBook-Pro / % cd
	(base) MacBook-Pro ~ %
	(base) MacBook-Pro / % cd ~ 
	(base) MacBook-Pro ~ % 
	
pwd(print working directory):显示当前目录
mkdir(make directory):创建一个新目录
rmdir(remove directory):删除一个空目录
cp(copy file):复制文件或目录
	-r:递归复制
rm(remove):删除文件或目录
	-r:递归删除
mv(move file):移动文件或目录,⚠️或修改文件或目录
touch:创建一个空文件

注意⚠️:可以使用man cp查看cp命令的使用文档。
-i 表示确认命令是否执行

Linux文件内容查看

cat:从第一行显示文件内容

tac:从最后一行显示

nl:显示文件的同时,显示行号

more:一页、一页显示文件内容

less:与more类似,可以翻页

head:只显示前几行

tail:只显示后几行

注意⚠️:-n:默认想要显示的行数

文件解压和压缩

tar(Tape Archive,TAR)包管理工具(打包和压缩)

-c(create):创建新的tar包

-x(eXtract提取或–get):从tar包中解压文件(同名文件,会覆盖)

-C:解压到指定路径

-f(或–file):从指定文件读取(解压)文档或将存档写入(压缩)指定文件

-v(或–verbose 冗余):显示指令执行过程

注意:⚠️在打包备份或解压缩文件过程中,可以指定压缩算法。

-z,–gunzip,–gzip(仅限于压缩):使用gzip指令处理文件。

-j:bz2属性的

# 压缩 使用组合-zcvf
(base) MacBook-Pro test % ls -l
total 0
-rw-r--r--  1 jiaohailong  staff  0  6 25 08:50 1.txt
-rw-r--r--  1 jiaohailong  staff  0  6 25 08:50 2.txt
(base) MacBook-Pro test % tar -zcvf test.tar 1.txt 2.txt
a 1.txt
a 2.txt
(base) MacBook-Pro test % ls -l
total 16
-rw-r--r--  1 jiaohailong  staff  112  6 25 08:56 1.txt
-rw-r--r--  1 jiaohailong  staff    0  6 25 08:50 2.txt
-rw-r--r--  1 jiaohailong  staff  256  6 25 08:56 test.tar

# 解压 使用组合-zxvf
(base) MacBook-Pro test % ls
1.txt		2.txt		test.tar
(base) MacBook-Pro test % tar -zxvf test.tar -C ../test02 
x 1.txt
x 2.txt
zip/unzip命令

-q:不显示压缩/解压过程,quiet

-r:压缩文件夹,递归执行(文件夹下的所有文件)

-d:指定解压后我呢就爱你存放路径

# 解压 使用 unzip 解压 .zip 文件到当前目录
~ % unzip -q compress.zip

# 压缩 将文件和文件夹压缩成 .zip 文件
~ % zip -q -r compress.zip file directory
7z命令

x(eXtract with full paths) : 表示解压文件(按原始目录树解压。参数e是将所有文件解压至根下,不是自己原有的文件夹下)

a(Add):表示添加文件/文件夹到压缩包(压缩文件)

-r(Recurse subdirectories):表示递归解压缩所有子文件

-o(Set Output directory):表示解压至指定目录(注意⚠️-o后没有空格,直接接目录)

# zip 或 rar 推荐使用 7z 命令
# 安装p7zip
~ % apt-get update
~ % apt-get install p7zip-full -y

# 压缩 将 ./new_excel.xlsx目录下的所有文件打压缩成new_excel.7z压缩文件
(base) MacBook-Pro Desktop % 7z a new_excel.7z ./new_excel.xlsx 

# 解压 如果 zip 超过 1GB 推荐使用 7z 命令解压,-o后直接加解压缩路径
~ % 7z x compress.zip -o/hy-nas

# 解压 .rar 文件到当前目录
~ % 7z x compress.rar

文件基本属性

  • chown(change owner):修改所属的用户与组
  • chmod(change mode):修改用户权限
    chmod [ugoa…] [±=] [rwxX…] …
    其中u(user文件拥有者)、g(group表示与文件拥有者在同一个用户组的)、o(other其他)、a(以上三者都是);+表示增加权限;-表示减少权限;=表示唯一设定权限
(base) MacBook-Pro ~ % ls -l
total 856
drwxr-xr-x    5 jiaohailong  staff     160  4  7 09:10 Go学习
drwxr-xr-x@  22 jiaohailong  staff     704  4 25 16:00 Java笔记
drwxr-xr-x    5 jiaohailong  staff     160  4  7 20:33 Lecodeshuati
drwx------@ 106 jiaohailong  staff    3392  4  3 12:59 Library
-rwxr-xr-x    1 jiaohailong  staff     314  4 25 18:02 Linux.sh
drwx------   11 jiaohailong  staff     352  4  3 13:02 Movies
drwx------+   5 jiaohailong  staff     160 12 28 12:41 Music
lrwxr-xr-x    1 jiaohailong  staff      55  3 29 09:50 OneDrive -> /Users/jiaohailong/Library/CloudStorage/OneDrive-个人
drwx------+   6 jiaohailong  staff     192  4 24 11:37 Pictures
drwxr-xr-x+   4 jiaohailong  staff     128 12 28 12:41 Public
-rw-r--r--    1 jiaohailong  staff     143  4 20 16:40 dump.rdb
-rw-r--r--@   1 jiaohailong  staff  423853 11 25 10:49 requests库的基本用法.ipynb
drwxr-xr-x   18 jiaohailong  staff     576  4 25 11:16 springboot-pre
-rw-r--r--    1 jiaohailong  staff      20  4 25 18:16 test.sh
......

在这里插入图片描述

每个文件的基本属性,由左边第一部分的10个字符表示,第1个字符表示文件类型;之后3个表示主权限;接着3个字符表示组权限;再接着3个字符表示其他用户权限。
r:readable可读

w:writeable可写

x:executable可执行

第一个字符代表这个文件是:文件、目录、

d表示是目录

-表示是文件

l表示是链接文档(link file)

vi/vim使用(vim是vi的增强版本)

三种模式:命令模式(一般模式)、输入模式、底线命令模式

​ 用户刚刚输入vi/vim就进入了命令模式(一般模式,可以执行一些命令)

​ 三种模式之间互相切换:

在这里插入图片描述

一般模式可用的命令

​ x:删除当前光标所在字符;nx(连续删除n个字符)

​ dd:删除游标所在行;ndd(删除光标所在的向下n行)

​ yy:复制游标所在行;nyy(复制游标所在的向下n行)

​ p,P:p粘贴数据在光标的下一行(Ctrl + v);P粘贴数据在光标的上一行

​ u:复原前一个动作(相当于Ctrl + z)

​ [Ctrl] + r:重做上一个动作。

​ gg:光标跳至第一行,G光标跳至最后一行

​ nG:光标跳至第n行

​ r、R进入替换模式:r只是替换光标所在字符;R一直替换光标所在字符。

​ h、j、k、l(nh、nj、nk、nl):左、下、上、右移动光标

​ :切换到底线命令模式

​ /word:搜索word字符串,按n搜索下一个word字符,N搜索上一个word字符。

一般模式切换至输入模式

​ i(o\a都可以):切换到输入模式,输入字符

[Esc]:切换到一般模式(在底线命令模式下,或者在输入模式下)

一般模式切换至底线命令模式

​ :set nu/:set nonu:显示行号/取消行号

保存、退出指令

​ :w 将编辑的数据写入硬盘档案中

​ :q 离开vi/vim

​ :wq 将编辑的数据写入硬盘文件,并离开vi/vim

​ :w! 若文件属性为「只读」时,强制写入。【是否可以写入到底还是跟该文档的权限有关】⚠️「 !」在vi中,具有强制的意思。

​ :q! 强制退出

Linux系统目录结构(重点)

使用以下命令,显示Linux目录。“/”表示根目录。“.”表示当前目录。“..”表示上级目录。

(base) jiaohailong@jiaohailongdeMacBook-Pro ~ % ls /
Applications	Volumes		etc		sbin
Library		bin		home		tmp
System		cores		opt		usr
Users		dev		private		var

在这里插入图片描述

1、系统启动必须

/boot:

Boot(启动)存放启动Linux时使用的核心文件

/etc:‼️

Etcetera(等等)存放系统管理所需要的配置文件和子目录(/etc/profile:系统配置文件)

/lib:

Library(库)存放系统最基本的动态连接共享库

/sys

(虚拟档案系统)与pro很类似。记录与核心相关的资讯。

2、指令集合

/bin:

Binaries(二进制文件),存放经常使用的命令

/sbin:

s是Super User的意思。Super User Binary(超级用户二进制文件),存放的是系统管理员使用的系统管理程序。

3、外部文件管理

/dev:

Device(设备)存放Linux的外部设备。Linux访问设备和文件的方式相同。

/media:

(媒体),存放可移除装置。例如软碟、光碟、DVD等都可暂时挂载在这里

4、临时文件

/tmp:

temporary(临时)存放临时文件(一般使用者,或者正在执行的程序暂时放置档案的地方)

/run:

临时文件系统,存储系统启动以来的信息。系统重启时,这个目录下的文件应该被删除或清除。

5、账户

/home:

用户主目录。一般为用户名,比如:bob

/root:

系统管理员目录,超级权限者的用户主目录。

/usr:

unix shared resources(共享资源)用户的很多应用程序和文件存放在该目录下

运行过程中要用

/proc:

Processes(进程)管理内存空间。伪文件系统(虚拟文件系统),存储当前内核运行状态的特殊文件,这个目录时一个虚拟目录,是系统内存的映射,可以通过访问这个目录获取系统信息

这个目录的文件不在硬盘上,而是在内存上。

/var:

variable(变量)存放经常修改的数据。存放着不断扩充着的东西,习惯将不断被修改的目录放在这个目录下。包括各种日志文件。

扩展用的

/opt:

optional(可选)给主机额外安装软件的目录。比如安装一个ORACLE数据库,就在这个目录下。默认是空的

/srv:

(service)存放服务器启动后需要取用的数据(不存在服务器就是空的)

‼️重要的几个目录:

/home;每一个用户的根目录(默认目录名和用户名相同)保存用户私人数据。

/etc:系统中的配置文件(如果更改了某个文件,可能导致系统不能启动)

/bin,/sbin,/usr/bin,/usr/sbin:系统预设的执行文件放置目录。比如:ls就是在/bin/ls目录下。

其中/bin,/usr/bin:是给系统用户使用的指令(除root用户)。/sbin,/usr/sbin:是给root用户使用的指令。

/var:系统上跑了很多程序,每个程序的相应日志被记录在这个目录下,具体在/var/log目录下。

Linux与windows的区别

  • linux中一切皆文件(无论盘符、视频、音频、游戏等都是文件),即操作文件的命令可以操作所有(盘符、视频,音频,文件,文件夹等)

  • Linux中不靠扩展名区分文件类型,但是有一些约定俗称的扩展名

    ​ 压缩包: * .gz、* .bz2、 * .tar.bz2、* *.tgz

    ​ 二进制文件:*.rpm

    ​ 网页文件:*html、 *jsp、 *.php

    ​ 脚本文件:*.sh

    ​ 配置文件:*.conf

grep命令

Linux grep(Global Regular Expression Print)命令用于查找文件里符合条件的字符串,可使用正则表达式搜索文本,匹配的行显示出来。

shell相关(我们使用bash shell)

shell是一种应用程序。用于解释用户输入的命令,将命令传递给内核,也可以在其中进行编程

查看shell类型,使用命令:echo $SHELL

输出是:

  • csh/tcsh,使用的是C shell(csh)
  • zsh, sh, bash, 使用的是Bourne shell的变种

常见的shell类型:

  • sh(Bourne shell是个人名,第一个流行的shell。UNIX版本都配有)、
  • csh(第二个流行起来的shell,类似于C,得名C shell)、
  • tcsh(csh的增强版,加入了命令补全功能)、
  • ash(轻量级的Shell)、
  • bash(Bourne Again Shell。Linux默认的shell,兼容sh「即sh编写的代码可以不加修改的在bash中运行」也有些区别,不影响使用)等。

shell的echo命令

和PHP指令类似,用于字符串输出

(base) jiaohailong@jiaohailongdeMacBook-Pro ~ % echo "It is a test"
It is a test

(base) jiaohailong@jiaohailongdeMacBook-Pro ~ % echo It is a test
It is a test

echo显示变量

echo "$name It is a test variable"			# echo显示变量name
文件test.sh
```
your_name="JC"		  # 注意⚠️,=前后不能有空格
echo $your_name
echo ${your_name}		# 变量名外面的花括号加不加都可以,只是为了增加边界感
```

执行输出:
JC
JC


文件test.sh
for skill in Ada Coffe Action Java;do
        echo "I am good at ${skill}Script"
done

执行结果:
I am good at AdaScript
I am good at CoffeScript
I am good at ActionScript
I am good at JavaScript

执行命令(sh/bash/sourse/.)

作为可执行程序执行
# cd到test.sh所在路径下。
  ~ % chmod +x ./test.sh  # 给脚本添加执行权限
  ~ % ./test.sh		  # 作为可执行脚本
  Hello World!!
作为解释器参数执行
# .命令和sourse命令是同一个命令。是sourse命令的缩写
# cd到test.sh所在路径下
1)~ % source test.sh		# 作为解释器参数
Hello World!!
2)~ % bash test.sh	# 作为解释器参数
Hello World!!
3)~ % sh test.sh 
Hello World!!

shell变量

your_name="Jack"
# shell变量类型
# 1)局部变量;2)环境变量;3)shell变量。

shell字符串

# 单引号
str1='this is a string'
# 限制
  1)单引号中的变量无效;
  2)单引号中的字符串中不能出现单独的单引号,需成对出现。


# 双引号
your_name="World"
str2="Hello, I know you are \"$your_name\"!/n"
# 好处
	1)可以有变量
	2)可以有转义字符

shell传递参数

# test.sh文件
echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数:$1";
echo "第二个参数:$2";
echo "第三个参数:$3";

# 执行命令
~ % chmod +x ./test.sh
~ % ./test.sh 1 2 3
# 执行结果
Shell 传递参数实例!
执行的文件名:./test.sh
第一个参数:1
第二个参数:2
第三个参数:3

shell命令行展开

(base) MacBook-Pro Desktop % echo minglinghangzhankai{001..100..10}
minglinghangzhankai001 minglinghangzhankai011 minglinghangzhankai021 minglinghangzhankai031 minglinghangzhankai041 minglinghangzhankai051 minglinghangzhankai061 minglinghangzhankai071 minglinghangzhankai081 minglinghangzhankai091

shell命令别名

# 查看别名
(base) jiaohailong@jiaohailongdeMacBook-Pro Desktop % alias
run-help=man
which-command=whence
cls=clear.  # 表示cls命令和clear命令是一样的,只是起了另一个名字而已。

# 设置别名
(base) MacBook-Pro Desktop % alias rm='echo 你这个大笨 蛋,别瞎用rm别名'   
(base) MacBook-Pro Desktop % rm hello.py 
你这个大笨蛋,别瞎用rm别名 hello.py

shell历史命令记录

# 显示历史命令
(base) MacBook-Pro Desktop % history
 1044  ls
 1045  unalias
 1046  unalias
 1047  alias rm='echo 你这个大笨蛋,别瞎用rm别名'
 
 # 执行1044行的命令
(base) MacBook-Pro Desktop % !1044
ls
Basic-Transformer-Demo
PU-GCN
PointAttN-main
bash_test.txt
test_involution

(base) MacBook-Pro Desktop % pwd
/Users/jiaohailong/Desktop

# 执行上一条命令
(base) MacBook-Pro Desktop % !!
pwd
/Users/jiaohailong/Desktop

Linux命令

Linux进程管理命令:ps (process statue)

# 查看ps命令的帮助信息
man ps 

ps支持的三种语法格式:

​ 1)UNIX风格:选项前必须有“-”一个连字符,且可以组合。常用组合-ef

​ 2)BSD风格:选项前不能有“-”一个连字符,但可以组合。常用组合aux

​ 3)GNU风格的长选项:选项前有“–”两个连字符

Linux上进程的五种状态:

​ 1)R运行(Runnable)

​ 2)S中断(Sleeping)

​ 3)D不可中断()

​ 4)Z僵死(“zombie”)

​ 5)T停止(Traced of stoped)

显示当前系统中的进程信息,当前(执行ps命令时)进程的快照。动态显示可以使用top命令

ps参数:

-A 列出所有进程(等价-e)

-a 显示一个终端的所有进程,除了会话引线(utility)[代表all]

-e 显示所有进程

-f 全部列出(全格式),通常和其他选项联用

-h 不显示标题(第一行)

**-u 显示进程属于指定的用户名⚠️(这是一个改变,导致-aux不能使用,如果想使用,可以使用aux)**之前含义是:显示有效的进程id和用户名。

-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)

-w 显示加宽,可以显示较多资讯

au 显示较详细咨询

aux 显示包含其他使用者的行程

​ 注意⚠️:The biggest change is in the interpretation of the -u option, which now displays processes

belonging to the specified username(s). Thus, “ps -aux” will fail (unless you want to know about

user “x”). As a convenience, however, “ps aux” still works as it did in Tiger.

​ au(x)输出格式:

USERPID%CPU%MEMVSZRSSTTSTATSTARTEDTIMECOMMAND
进程拥有者进程ID占用CPU使用率进程内存占用率所用虚存大小占用记忆体大小与进程关联的终端进程状态进程开始时间进程使用的总CPU时间正在执行的命令行命令
# 常用
#  ⚠️" | " 符号,是一个管道符。表示将前一个命令的处理结果输出传递给后面的命令处理。
# -ef显示所有进程连带命令行
/ % ps -ef | grep redis
  501 38532 37061   0  7:58上午 ttys000    0:00.01 grep redis

# 
/ % ps au 
USER          PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND

# 常用
/ % ps aux
USER               PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND

/ % ps -A
  PID TTY           TIME CMD
  
  
/ % ps -u jiaohailong 
  UID   PID TTY           TIME CMD

Linux进程管理命令:top

用于动态显示进程信息。

Linux命令:kill

kill向进程发送信号,不是杀死。

参数:

-1 (HUP):重新加载进程。

-9 (KILL):无条件退出一个进程,由进程自行决定是否退出。(这是-9不能终止系统进程和守护进程的原因)

-15(TERM):正常停止一个进程。

Linux命令:wget

wget命令是Linux从Web下载文件的命令行工具。支持HTTP、HTTPS、FTP协议下载文件。

# 语法格式
wget [选项] [URL]
# 选项
# -O 其他名称保存文件
# -P 将文件下载至指定目录
wget -P /Users/jiaohailong/Desktop https://spring.io/projects/spring-framework
  • 在下载中会出现报错:
错误: 无法验证 spring.io 的由 “CN=DigiCert TLS RSA SHA256 2020 CA1,O=DigiCert Inc,C=US” 颁发的证书:
  无法本地校验颁发者的权限。
要以不安全的方式连接至 spring.io,使用“--no-check-certificate”。

使用这个选项,以不安全方式下载:–no-check-certificate

ping(Packet Internet Groper)因特网包探索器

作用:

  • 判断网络是否连通,帮助分析网络故障。
  • 根据域名得到服务器IP
  • 根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量。
(base) MacBook-Pro ~ % ping baidu.com
PING baidu.com (220.181.38.148): 56 data bytes
64 bytes from 220.181.38.148: icmp_seq=0 ttl=49 time=29.971 ms
64 bytes from 220.181.38.148: icmp_seq=1 ttl=49 time=31.327 ms
64 bytes from 220.181.38.148: icmp_seq=2 ttl=49 time=31.195 ms
64 bytes from 220.181.38.148: icmp_seq=3 ttl=49 time=29.347 ms
64 bytes from 220.181.38.148: icmp_seq=4 ttl=49 time=39.480 ms
64 bytes from 220.181.38.148: icmp_seq=5 ttl=49 time=37.757 ms
^C
--- baidu.com ping statistics ---
6 packets transmitted, 6 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 29.347/33.179/39.480/3.937 ms

# 结果说明:
# bytes值:数据包大小(字节)
# time值:响应时间【往返时间/往返时延RTT】(时间越小,说明所连接地址速度越快)
# TTL值(Time To Live):表示DNS记录在DNS服务器上存在的时间
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值