Linux笔记

3.4脚命令和重要按键

显示日期与时间的命令:date
显示日历的命令:cal
简单好用的计算器:bc

1.[+%Y%m%d][+%H:%M]就是date命令的-一些年月日时分参数功能。
redhat@localhost ~]date
2022年08月14日星期日11:33:57CST
redhat@localhost ~]date +%/%m/%d
2022/08/14
redhat@localhost ~]date +%H/%M
11/34
redhat@localhost ~]date +%%M
11:34
redhat@localhost ~]

1.显示日历的命令:cal
2.cal命令的语法:cal【月份】【年份】

1.bc命令
如果在命令行模式当中,突然想要作一些简单的加减乘除,偏偏叉没有计算器。这个时候不需要笔算,
我们的Linux有提供一个计算程序,那就是bc.
2.+加法:-减法;*乘法;除法;指数;%余数。

10/100会变成0?这是因为bC默认仅输出整数,如果要输出
小数点下位数,那么就必须要执行scale-=number,.number就
是小数点位数。
注意,要离开bc回到命令行界面时,务必要输入[quit]来
离开bc的软件环境。

2.man page
虽然[-hlp]已经相当好用,不过,通常[-help]用在协助你查询“你曾经使用的命令所具备的选项与参
数”,如果你要使用的是从来没有用过的命令,或是你要查询的根本就不是命令,而是文件的格式时,那就得要通过[man page]命令了。例如输入命令man date出现的这个屏幕界面,我们称呼它为man page,你可以在里面查询它的用法与相关的参数说明。
通常,info文档的内容更加深入。
pinfo命令比原始的命令更加高级。
用法:pinfo命令或文档

超级用户,即具有系统全部权限的用户,在红帽企业中为O0t用户。要执行安装或删除软件以及管理文件系统或目录
时候,必须将特权升级到r00t用户。建议大家以普通用户登陆系统,仅在需要时升级到oot用户。
Linux.上的root用户相当于windows的Administrator用户。

切换用户:
S命令可让用户切换到另外一个用户,如果以普通用户运行su,系统会提示输入密码,如果以oot用户运行su时,无
需输入密码。
如果省略用户名,则默认情况下su(仍为原始环境shell)或su-命令(目标用户shell)会尝试切换到root。

Sudo命令:有时为安全起见,Oot用户可能没有有效的密码,在这种情况下,用户无法使用密码直接以root用户登录,此时可用sud0命令,Sudo通常要求其输入自己的密码进行身份验证。
使用sudo的好处在于,执行的所有命令都默认为将日志记录到var/log/secure中。

修改文件属性和权限
重要命令
chgp:修改文件所属用户组:
用法:chgrp【组名】【文件或目录名】
chown:修改文件拥有者;
用法:chown【用户名】【文件或目录名】
chmod:修改文件的权限。
用法:数字法chmod[xyz]【文件或目录名】或符号法chmod[ugoa±/=wx]【文件或目录名】

chgrp是change group的缩写,修改一个文件的用户组,直接使用chgrp命令来修改即可。
不过,注意要被修改的组名必须要在/tc/group文件中存在,否则就会显示错误。
所以对于-个陌生的组名,你可以先新建组,使其在/tc/group中存在,再修改文件所属这个新
组。

chown:是change owner的缩写,修改一个文件的用户,直接使用chown命令来修改即可。
不过,注意要被修改的组名必须要在/etc/passwd文件中存在,否则就会显示错误。
所以对于-个陌生的用户名,你可以先新建用户,使其在/etc/passwd中存在,再修改文件所属这
个新用户。

chmod:修改文件的权限
文件权限的修改使用的是chmod这个命令(change mode的缩写),但是,权限的设置方法有两种,
分别可以使用数字法或符号法进行修改。
Linux.文件的基本权限就有9个,分别是拥有者(owner)、所属群组(group)、其他人(others)
三种身份各有读(read)、写(write)、执行(execute)权限,先复习-下刚刚上面提到的数据;
文件的权限字符:[wXIWXrW吸],这九个权限是三个三个一组。其中,我们可以使用数字来代表
各个权限,各权限的数字对照表如下:
r:4,W:2,X:1

每种身份(owner、group、others)各自的三个权限(r、w、x)数字是需要累加的,例如当权限
为:[-wxwx-]数字则是:
owner rwx 4+2+1 =7
group rwx 4+2+1 7
others=-=0+0+0=0
所以我们设置权限时,该文件的权限数字就是770,修改权限的命令chod的语法是:

chmod:修改文件的权限。
chmod xyz文件或目录名
还有一个修改权限的方法。从之前的介绍中
我们可以发现,基本上就九个权限分别是usr、
group、others.三种身份,那么我们就可以借
由u、g、o来代表三种身份的权限。此外,a
则代表ll亦即全部的身份。那么读写的权限
就可以写成r、w、x,也就是可以使用下面的
方式来看,注意用符号法若没有权限,请为
空,而不是为0。

Linux文件种类
Liux文件总类大体上分为以下几种:
1.常规文件[-]
2.目录文件[d]
3.链接文件[1]
4.设备与设备文件:块设备[b]和字符设备[c]
5.数据接口文件(套接字文件)[s]
6.数据输送文件[p]

绝对路径
绝对路径是一个完全限定的名称,用于指定文件在文件系统中的确切位置。
以根目录/开始,并指定为到达特定文件所必须遍历的每个子目录。文件系统中每个文
件都有唯一的绝对路径名称。
例如:系统消息日志文件的绝对路径名是/var/log/messages.

相对路径
相对路径:相对于目前路径的文件名写法,即不以根目录/开始的路径。例如./home/redhat:或/.home/redhat-等。
举例来说,你目前在home这个目录下,如果想要进入war/l1og这个目录时,可以怎么写?
1.绝对路径写法:cd/var/log(absolute)
2.相对路径写法:cd./var/log(relative)
普通用户家目录是home/redhat。。

绝对路径:cd/home/redhat//a
相对路径:ed redhat/a(当前在home)
相对路径:cd./redhat/a(当前在home)
相对路径:cd.…

.代表此层目录。
..代表上一层目录。
-代表前一个工作目录。
~代表目前使用者身份所在的家目录。

ls:查看目录内容
cd:切换目录
pwd:显示当前完整目录
mkdir:建立一个新目录
rmdir:删除一个空目录

ls-_____
1s:文件和目录的查看,目标为文件名或目录名
选项:
-d:仅列出目录本身,而不是列出目录内的文件数

-a:
包括隐藏文件在内的全部文件都列出来
-l:详细的信息展示,包括文件的属性与权限等数

重要命令:
[ls]查看当前目录下内容
[1s-1]查看当前目录的内容及属性
[ls-al]包含隐藏文件在内的文件详细列出

cd:回到自己的家目录,即home/redhat
Su-:切换身份到root
cd~redhat::回到redhat家目录,即home/redhat
cd:回到上一级目录,即home
cd.:回到上一级目录,即/
cd-:回到上一-个工作目录,即home

pwd:显示当前目录,即root
cd~redhat:回到redhat家目录,即home/redhat并pwd打印
目录
cd.:回到上一级目录,即home并pwd打印目录
cd.:回到上一级目录,即/并pwd打印目录

目录需一层一层地建立。
例如:假如你要建立一个目录为/home/szpt/website/test1,那么首先/home、home/szpt、
home/szpt/website都必须要存在,才可以建立/home/szpt/website/testl这个目录。
不过,加上-p这个选项,可以逐级建立目录,直接执行[mkdir-p /home/.szpt/website/testl]
则系统会自动将/home、home/Szpt、home/szpt/website依序地建立起目录。并且,如果该目录本
来就已经存在时,系统也不会显示错误信息。加上-V选项,可以把过程显示出来。

如果想要删除旧有的目录时,就使用r mdir.
例如将刚刚建立的home/szpt/website/.testl删掉,使用【rmdir
home/szpt/website/testl】即可。注意:此时只是删除testl目录,szpt和website-并没有
删除。
请注意,目录需要一层一层的删除,而且被删除的目录里面必定不能存在其他的
目录或文件,其实就是所谓的删除空目录(empty directory)的意思。
若想把上层目录删除
加上-p洗项:显示讨程,加上-v选项。

新建空文件
touch命令用的最多的就是新建空白文件
root@localhost ~]
root@localhost ~]cd /tmp
root@localhost tmp]touch testtouch
root@localhost tmp]ll testtouch
rwr.r-·.1 rootroot08月2211:30 testtouch
root@localhost tmpl

通配符
目的:通配符筛选满足某种条件的文件
概念:特殊的字符,不具有字符本身的含义,而是能够匹配符合特定特征的字符。
1.*,代表任意长度的字符。
2.?,代表任意单个字符。
3.【】,代表指定范围单个字符。
4.【】,代表范围区间的任意字符。
5.【】,反向选择,非,排除的意思。
6.[:space:],代表空格
7.[:lower:],代表小写字母
[:upper:],代表大写字母
9.:alpha:],代表英文字母

复制文件和目录-cp
用法:
复制单个文件:cp【源文件】【目标位置】
复制多个文件:cp【源文件】【源文件】【目标位置】
注意:
1.可以复制多个文件到目标文件,可以使用通配符
2.选项-i,别名alias
3.递归复制目录r
4.保留文件或目录权限a或-p
5.可复制并重命名

cp-:若目标文件已经存在,执行时候会先询问操作是否进行
root@localhost ~]cp ~/bash
bash_history.bash_logout bash_profile.bashrc
root olocalhost ~]cp ~/bashrc /tmp/bashrc
rootolocalhost ~]cp -i~/.bashrc /tmp/bashrc
cp:是否覆盖"/tmp/bashrc"?n
root@localhost ~]
cpp或cp-a:
直接用cp命令会连同属性一起复制,若复制时候保留原有文件属性,加上p或-选项。
例如:以下范例复制文件/var/log/wtmp到当前目录,因此复制过来的wtmp文件拥有者与用户组
就改变成了root所有。加上选项-a或-p,则会保留原有权限。
root@localhost tmp]cp /var/log/wtmp.
root@localhost tmp]#ls-l /var/log/wtmp wtmp
rw-rw-r--.1 root utmp 6912 8 20 22:16 /var/log/wtmp
.wr-r-.1 rootroot69128月2111:20wtmp
root@localhost tmp]cp-a /var/log/wtmp wtmp1
root@localhost tmp]ls -1 /var/log/wtmp wtmp1
·wrwr-.1 root utmp69128月2022:16/var/1og/wtmp
.wrwr-,1 root utmp69128月2022:16wtmp1
root@localhost tmp]

复制整个目录需要加-r选项
cpr:复制目录,注意文件属性会改变。若不想复制时候属性改变,加选项-才能成功。

删除文件和目录一rm(remove)
删除常规文件:m【文件名】
删除目录内所有常规文件:m[目录名/*]
删除目录内的目录和常规文件但不删除目录本身:m-r[目录名/*]
删除目录内的目录和常规文件包含目录本身:-【目录名】
强制删除不询问:rm-f【文件名】或m-rf【目录名】
询问是否删除:rm-i,别名alias

m-i:删除前会询问是否操作?
root@localhost ~]cd /tmp
root@localhost tmp]rm-i bashrc
rm:是否删除普通文件"bashrc"?y
root@localhost tmp]
rmdir不能删除非空目录,用rm-r才行。root身份删除时候会自动询问。按
ctrl+c可以中止会话。
root@localhost ~]rmdir /tmp/etc
rmdir:到除"/tmp/etc"失败:目录非空
root@localhost ~]rm -r /tmp/etc
rm:是否进入目录"/tmp/etc"?y
rm:是否删除普通文件"/tmp/etc/fstab"?y
rm:是否删除普通空文件"/tmp/etc/crypttab"?y
rm:是否删除符号链接"/tmp/etc/mtab"?C

移动文件和目录-mV
移动或重命名单个文件或目录:v【源文件或目录】【目标目录】
移动多个文件:v【源文件】【源文件】【目标目录】
询问是否移动:mv-i,别名alias

查看文件内容
ls命令只能列出文件内容,查看文本内容,最常使用的命令是cat、more及less.
此外,如果我们要查看一个很大的文件(几百M时),但是我们只需要后面或前面的几
行,用tail或head即可。关于文件内容有以下命令:
l.cat由第一行开始显示文件内容。
2.tac从最后一行开始显示,可以看出tac是cat的倒着写。
3.nl显示的时候,同时输出行号。
4.more一页一页地显示文件内容。
5.less与more类似,但是可以查找内容。
6.head只看前面几行。
7.tail只看后面几行。

直接查看文件内容cat/tac/nl
cat是concatenate(串联)的简写,主要的功能是将一个文件的内容连续打印在屏
幕上面。
cat-n打印行号,连空白行也会有行号。
cat-E有换行符。
tac则是由最后一行到第一行反向在屏幕上显示出来。
nl添加行号打印。
8.0d以二进制的方式读取文件内容。

翻页查看more、less
cat/tac/nl是将文件一口气显示出来,不便于翻页和观看。more/less提供了翻页查看的功能。
more:
enter:向下翻一行;
b:返回上一个页面:
空格键(space):向下翻一页;
q:立刻离开more,不再显示该文件内容;

less:
enter:向下翻一行:
空格键(space):向下翻一页;
方向上键和下键:向上向下翻一行
b:返回上一个页面:
/字符或?字符:查找字符内容(比较方便的用法)
q:立刻离开more,不再显示该文件内容:
less命令比more命令强大

4种模式用法
vim【文件名】:打开或创建文件进行编辑
1.命令模式:vm打开文件之后即是命令模式,此时可移动光标、查找字符串内容、
复制粘贴删除文件内容,但是不能编辑文件内容。
2.插入模式:命令模式按i后是插入模式,可编辑文件内容:按E$C退出插入模式进入
命令模式。
3.扩展命令模式:命令模式输入:后进入扩展命令模式,按Enter键进入命令模式。
4.可视模式:命令模式按V进入可视模式,按V退出可视模式进入命令模式。

1.命令模式
命令模式常用按键
(1)复制粘贴删除:
1.复制光标所在的那一行:yy.
2.复制光标所在的向下n行:yy;例如3yy表示复制光标所在的向下3行。
3.将已复制的数据在光标下一行开始粘贴:卫。
4.恢复前一个操作:Ⅱ。
5.重做前一个操作:ctl+r(和u搭配使用)。
6.往后删除一个字符:x
7.往前删除一个字符:X
8.删除(剪切)光标所在行:dd
9.删除(剪切)光标所在向下n行:ndd

命令模式常用按键
(2)移动:
1.光标上下左右移动:上下左右方向键。
2.
移动到这个文件的第一行:gg.
3.移动到文件的最后一行:G.
(3)查找:
/word:查找名称为word的字符串。

2.插入模式3.扩展命令模式
插入模式
l.命令模式按i后进入插入模式,此时会提示插入(insert字样)。
扩展命令模式
1.按:键进入扩展命令模式;w保存;q退出;!强制;
2.w将编辑后的数据写入文件:
3.:w!将编辑后的数据强制写入:
4.:wq保存并退出:
5.:wq!强制保存后退出;
6.
q退出;
7.q!已修改的内容不保存强制退出:

4.可视模式
可视模式
前三种模式都是按行进行编辑,可视模式可以按区块进行编辑。
1.可视V:字符选择,会将光标经过的地方反白选择(出现可视标识);
2.可视行V/shift+-v:字符选择,会将光标经过的行反白选择(出现可视行标识):
3.可视块Ctr+V:可视区块,可以用矩形的方式选择数据(出现可视块标识):
4.y:将反白的地方复制下来:
5.d或x:将反白的地方删除掉:
6.p:将复制的区域粘贴:
vim编辑内容后可以使用cat命令查看文件内容

新建空文件
touch命令:新建空白文件或更新已存在文件的时间戳
touch-命令新建文件
[redhat@localhost -]S touch 1.txt
[redhat@localhost-]S ll 1.txt
-rw-w-r-.1 redhat redhat010月1617:081.txt
touch-命令更改已存在文件的时间戳
[redhat@localhost-]S touch 1.txt
[redhat@localhost ~]S ll 1.txt
-w-w-r-.1 redhat redhat010月1617:091.txt
echo命令:打印字符并在终端显示出来
[redhat@localhost~]S echo beautiful china
beautiful china

重定向和管道
管道操作符号“”连接左右两个命令,
将左侧的命令的标准输出,作为右侧命
令的标准输入
可以想象成:数据通过管道从一个进程
流向另外一个进程。
用法:cmd1|cmd2
示例:head-5/etc/passwd|tail-l
用grep过滤输出ls-l/etc|grep pass

管理磁盘三部曲步骤
新安装一块磁盘(已有标签),步骤(三部曲)如下:
1.磁盘分区:对磁盘进行划分,以建立可用的磁盘分区:
2.格式化为文件系统:对该硬盘分区进行格式化,以建立系统可用的文件系统:
3.挂载:在Liux系统上,需要建立挂载点,并挂载起来。

Isblk:list block device,.列出系统上所有磁盘列表,即列出指定块设备或所有设备的详细信息。
NAME:设备的文件名,会省略/dev等前导目录:
MAJ:MN:主要与次要设备代码,用于内核识别设备
RM:removable device,是否为可卸载设备
SIZE:容量
R0:是否为只读设备
TYPE:是磁盘disk,分区partition,vm逻轻卷,还是只读存储器rom等输出

2.磁盘标签,也就是指出分区方案,用MBR还是GPT分区表。
parted命令将MBR或GPT磁盘写入分区表,打标签用mklabel
parted /dev/sdb mklabel msdos
parted/dev/sdb mklabel gpt
注意:mklabel-子命令可以擦除现有的分区表,仅当想重复使用磁盘而不考虑现有数据时,才应该
使用mklabel。
MOUNTPOINT:挂载点

parted管理磁盘分区
parted分区编辑器管理分区:创建、删除分区和更改分区类型。
用法:parted命令将整个磁盘的设备名称作为第一个参数,后可接一个或多个子命令。
子命令如下:
l.print.显示分区表
2.mkpart创建分区
3.quit
退出编辑器
4.rm number删除分区
5.mklabel打标签,会擦除现有分区表
注意:使用如果不提供子命令,parted就会打开交互式会话,输入quit(q)退出会话。

1.磁盘分区步骤

  • 1.parted,指定设备名称
  • 2.mkpart命令,创建新的主分区和扩展分区
  • 注意在MBR磁盘上超过四个分区的情况,可创建3个主分区和1个扩展分区,在扩展分区上创建多个逻辑分区。
  • 3.指定在分区上的文件系统类型,如xfs或ext4.
  • 4.指定磁盘上新分区开始的扇区,一般第-个分区为2048s
  • 5.指定应结束新分区的磁盘扇区
  • 6.使用quit退出parted
  • 7.运行udevadm settle命令,等待系统检测新分区并在/dev目录下创建关联的设备文件
  • 作为交互模式的替代方法,也可以按照如下方式创建新分区:parted/dev/sdb mkpart primary xfs2048s lG

2.格式化为文件系统
红帽企业支持不同的文件系统类型,最常见的是xfs和ext4,默认的是xfs.
用法:mkfs+分区(make filesystem);对于xfs,使用mkfs.xfs命令;对于ext4,使用
mkfs.ext4进行格式化。

3.手动挂载文件系统
三部曲最后一步:挂载到目录上,用户即可访问设备上的文件或写入文件。
注意:在可移动设备上的文件系统需要挂载后才能访问,挂载点必须是一个目录。m0ut命令允许root用
户手动挂载文件系统。
用法:mout命令第一个参数指定要挂载的文件系统,第二个参数指定在文件系统层次结构中用作挂载点
的目录。
mount【设备名称】【挂载点】
有两种常用方法可以为mount命令指定磁盘分区的文件系统:
l.在/dev的块设备文件名称中包含文件系统
2.将UUD(一个通用唯一标识符)写入文件系统
相似的概念在windows中也有运用,比如一个U盘连接到我们的笔记本时,系统会检测到F盘:但是如果
连接到学校的机房时,会检测到H盘。

文件系统有稳定且通用的唯一标识符,是一个非常长的十六进制数字,名为UUID,只要文件
系统没有重新建立过,UUD就不会变化。
lsbk-印命令会列出设备的完整路径,UUD和挂载点,以及分区中文件系统的类型,如果未挂
载文件系统,挂载点将为空。

卸载文件系统,用umount命令后接挂载,点即可
例如:umount
挂载点


持久挂载文件系统
前面两种方法手动挂载文件系统,当服务器重启时,系统不会自动挂载到目录上:
所以为了确保系统在启动时自动挂载文件系统,需要在/etc/fstab文件中添加条目,此配置文件列出了系
统启动时需要挂载的文件系统,系统开机时会主动读取/etc/fstab的内容,根据文件里面的配置自动挂载
磁盘,我们就不需要每次开机启动之后手动进行挂载了。
/etc/fstab.是以空格分隔的文件,每行具有六个字段,非常重要,请务必熟练并记住。
[root@localhost-]#cat /etc/fstab

第一个字段:指定设备,建议用UUD指定设备,因为UUID一直保持不变。
第二个字段:目录挂载点,请注意挂载点必须存在:如果不存在,使用mkdir新建目录挂载点。
第三个字段:文件系统类型,如xfs、swap、ext4等。
第四个字段:文件系统参数,默认是defaults
第五个字段:能否被dump命令备份使用,用0就好。


第六个字段:是否以fsck检查扇区,xfs不用检查,因为它会自行检查,设置为0:ext4文件系统,如果
是根文件系统,该字段为1,如果是其他xt4文件系统,设置为2。
在/etc/fstab中添加条目
[root@localhost-]#vim /etc/fstab
使用mount-a检查语法是否有误
[root@localhost-]#mount -a
运行systemctl daemon-reload命令或reboot重新启动服务器,让systemd注册新配置
[root@localhost-]#systemctl daemon-reload
重启启动reboot/后,可看到桂载点依旧存在
[root@localhost-]#reboot
[redhat@localhost-]S Isblk

添加磁盘打标签parted设备名mklabel标签
parted磁盘分区parted设备名print mkpart primary xfs起止后udevadm settle
格式化为文件系统mkfs.xfs mkfs.swap
挂载;vim/etc/fstab mount-a systemctl daemon-reload

虚拟内存(分页文件)
1.Linux中叫交换分区,硬盘上的一块区域当作内存
使用
2.应用程序运行当中,工作在内存上。当物理内存
空间不够时,操作系统用虚拟内存技术,将内存上
的部分数据拷贝到硬盘,让活跃数据在内存正常工
作。若硬盘上的数据需要用时,再拷贝到内存上。
3.操作系统若使用虚拟内存,应用服务的性能差。
因为内存读写速度>固态硬盘>机械硬盘
4.物理内存不能太小,否则会导致磁盘的经常性读
写;虚拟内存过小也会导致数据在物理内存和虚拟
内存之间的频繁交换。虚拟内存的大小建议为物理
内存的1.0至1.5倍

Linux中的交换分区和windows的虚拟内存一样;
由于交换空间位于磁盘上,所以与内存相比,磁盘会比较慢,虽然是用于增加系统内存,
但对于内存不足以满足工作负载需求的问题,不应该将交换空间视为可持续性的解决方
案。

创建交换分区
1.parted命令创建交换分区,文件系统类型为Linux-swap
2.创建分区后,运行udevadm settle命令等待系统监测新分区并在/dev中创建关联的设备文件。
3.格式化设备用mkswap命令,后接分区名称
4.启动/etc/fstab用swapon-a命令
5.用free-lm命令或swapon-s检查可用的交换空间
若要持久激活交换空间,需在/etc/fstab中放置一个条目,和前文一样:
第一个字段为UUiD
第二个字段为挂载点,由于交换空间无法通过目录结构访问,所以这里一般为占位符swp
第三个字段为文件系统类型swp
第四个字段为选项defaults,表示在系统启动时自动激活交换空间。
第五个字段和第六个字段为0,交换空间不需要dump备份,也不需要fsck文件系统检查。
条目更改后,请运行systemctl daemon-reload命令或reboot?重新启动服务器,重新加载systemd管理配置

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

哈哈七

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

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

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

打赏作者

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

抵扣说明:

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

余额充值