之前用的是插件直接在markdown内写相对路径,然后整个将图片文件夹上传到仓库,后来发现在别的网站上发布的时候图片相对路径真是愁死人(不要在意为什么还要在别的网站发hhhh),于是还是使用了比较流行的Typora+PicGo+Gitee一套写文档懒狗必备的插入图片自动上传的方法。
Linux 学习(1)
Linux 学习(1)
一、基础知识
Terminal
终端(termimal)= tty(Teletypewriter, 电传打印机),作用是提供一个命令的输入输出环境,在linux操作系统下使用组合键ctrl + alt + T打开的就是终端,可以认为terminal和tty是同义词。
shell
shell是一种人机交互接口,是一个壳,负责外界与Linux内核的交互。
shell的操作如下:

echo $PATH 输出环境变量内的所有地址
%PATH= 用来添加环境变量的地址
Console
命令是操作系统最常用操作
命令也有自己的语法结构:
和人说话一样,命令的主要结构也可以看做为主谓宾的简单句和复杂句,在命令中,省略主语
举个例子
1 | cp(谓语动词) fileA(宾语) fileB(宾语) |
1 | cp(谓语动词) -ar(方式状语) fileA(宾语) fileB(宾语) |
一般情况下
-后面加选项的缩写,--后面加选项的全程。
命令细节
Linux命令由以下几个部分组成:命令名,分隔符,选项和操作对象组成。
命令名
命令名标识了命令的功能,如cp,rm,mv,rename,fdisk等等,都能很轻易的看出该命令的功能,还有一些命令,有二级子命令,如apt-get install | remove,install和remove就是apt-get的子命令。
分隔符
分隔符通常为空格,连续的多个空格会被视为一个空格。
一些特殊的符号也属于分隔符,例如管道|,重定向>,<<,<,>>,后台运行&,序列执行&&、;都是特殊的分隔符,在使用这些特殊符号的时候,不需要额外加空格,但为了使命令更易读,通常会加上空格。
选项
- 命令的选项通常用
-连接,通常为一个字母,是选项的首字母。大多数命令都可以使用-h来查看该命令的帮助。 - 命令的选项也可以使用
--来引导,接的是选项的全程,效果与—连接单个字母是一样的。
操作对象
操作对象为该命令动作的承受着。
格式约定
- 使用
[]来标记可以选择的选项 - 使用
|来表示不能同时使用的参数 - 选项通常紧跟命令名,当然,在很多时候我们可以省略命令的选项而使用默认参数
二、程序与进程
我们执行命令的时候,每一个命令,其实对应的就是系统中的一个程序。 下图使用
which命令查找cp命令的位置,并使用ll和file命令查看cp命令的具体信息:
通过ll和file命令可以看出文件cp是一个可执行的二进制文件,也就是我们平时所说的程序。
那么什么是程序呢?
计算机程序是指一组指示计算机执行动作或做出判断的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。
什么又是进程呢?
进程是程序在内存中的镜像。
三、路径
绝对路径
绝对路径的起始点为根目录 / ,eg:/user/bin/cp
相对路径
相对路径的起始点为当前路径. ,eg:./a.out
远程路径
用来访问本机以外的资源
协议://用户名:密码@位置/路径/:端口
https://baidu.com
特殊路径符号
~cd ~返回家目录~username返回用户的家目录
-cd -回到上次访问的目录
四、软件
在Linux中,软件并没有像注册表这样的概念。
注册表:是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。
安装软件。理论上只需要拷贝相关文件,并执行其主程序就可以。
通常,一个软件包含的内容会分别被拷贝到同级别的bin lib share 和 /etc目录下。
bin 存放程序的可执行文件。在系统环境变量中将该路径添加进去,就可以直接执行程序.
lib 库文件集中存放,方便共享。
share 存放程序需要的其他资源.
/etc 配置文件存放路径,大部分的程序的配置文件都可以在这个路径下找到。
五、配置方式

六、隐藏文件
所有以.开头的文件都为隐藏文件,使用ls -a就可以显示隐藏文件。
七、文件类型
使用ll命令可以查看当前文件夹下所有文件的详细信息。
ll等效于ls -al
1 | suyelu@HaiZei-Tech:~$ ll |
该命令主要输出了七列内容,分别为:权限、文件数、所属用户、所属群组、文件大小、常见日期、文件名。
第一列权限,主要可以分为以下四个部分:文件类型,所属用户权限,所属组权限,其他用户权限。
以刚才执行ll的结果中的
../目录的权限为例:
文件类型 所属用户权限 所属群组权限 其他用户权限 d rwx r-x r-x
- 第一部分文件类型为
d,代表这个文件是一个目录(directory),目录是一种特殊的文件; - 第二部分所属用户权限为
rwx,代表该文件拥有者拥有可读(read),可写(write),可执行(execute)的权限; - 第三部分所属群组权限为
r-x,代表与该文件拥有者在一个群组的用户具有可读,可执行的权限,在这里-顶替了w的位置,代表没有写权限; - 第四部分其他用户权限同样为可读,可执行。
需要注意的是
rwx的顺序是固定的!
Linux中的文件类型除了目录d之外,总共有7种文件类型,在这里我们做一个简要的了解:
-regular file 普通文件ddirectory 目录llink 链接bblock 块设备 存储数据以供系统存取的接口设备,也就是硬盘 (缓冲机制)ccharacter 字符设备 串口设备,键盘,鼠标等ssocket套接字ppipe 管道
对于普通文件又可以分为以下三种:
- 纯文本文件
纯文本文件使用ASCII编码,这是Linux系统中最常见的一种文件类型,之所以成为纯文本文件,是因为这种类型的文件是我们可以直接读取的内容,在Linux,几乎所有的配置文件都属于这种类型。
- 二进制文件
二进制文件是系统中的可执行文件(不包括脚本),计算机只能认识并执行二进制文件。二进制文件不能使用cat等命令直接读出。
- 数据格式的文件
在一些程序运行过程中,需要读取特定格式的文件,这种文件被称为数据文件(data file)。这种文件通常也不能使用cat命令读出。
例如:/var/log/wtmp文件。
使用ll命令查看文件,可以看到该文件为普通文件
1
2
3 >suyelu@HaiZei-Tech:~$ ll /var/log/wtmp
>-rw-rw-r-- 1 root utmp 8832 Apr 27 11:50 /var/log/wtmp
>
使用file命令查看问价详情,返回为
data
1
2
3 >suyelu@HaiZei-Tech:~$ file /var/log/wtmp
>/var/log/wtmp: data
>
使用cat命令读取该文件为乱码,但是使用last命令则可以读取该文件中的内容。
八、文件权限
在上节我们已经提到了文件的权限包含三组(
u用户,g群组,o其他用户),每一组又都包含三组具体的权限(r读,w写,x执行)。
对于文件权限,我们也可以用下面的方式来表示:
| r | w | x | r | w | x | r | w | x |
|---|---|---|---|---|---|---|---|---|
| (2^2)4 | (2^1)2 | (2^0)1 | (2^2)4 | (2^1)2 | (2^0)1 | (2^2)4 | (2^1)2 | (2^0)1 |
也就是权限的每一组都由三个十进制的数字表示,该组的的权限就可以简单的用着三个十进制的数字相加得到。
一个权限为
rwxr-xr-x的文件,则它的权限可以使用755来表示。
九、用户
使用
su命令来切换用户 eg:su - root
超级管理员:root
普通用户
拥有权限的普通用户
十、bash
通配符
- ***** 任意数量的任意字符
- ? 单个任意字符
除了***和?**这两个通配符之外,Linux中还有下面几种通配符
| 通配符 | 含义 | 举例 |
|---|---|---|
| [list] | 匹配list中的任意单一字符 | a[xyz]b a与b之间有且只有一个字符, 且只能是x或y或z, 如: axb, ayb, azb。 |
| [!list] | 匹配除list中的任意单一字符 | a[!0-9]b a与b之间有且只有一个字符, 但不能是数字, 如axb, aab, a-b等 |
| [c1-c2] | 匹配c1-c2中的任意单一字符 | a[0-9]b a与b之间有且只有一个字符,该字符是0-9之间的数字,如a0b, a1b,… ,a9b。 |
| {string1,string2,…} | 匹配 sring1 或 string2 (或更多)其一字符串 | a{abc,xyz,123}b a与b之间只能是abc或xyz或123这三个字符串之一。 |
任务管理
&在命令的后面加上
&表示后台执行的意思1
command &
;在命令之间以
;相连,表示顺序执行的意思1
command1;command2
&&命令之间以
&&相连时,只有第一个命令成功执行,第二个命令才会执行1
command1 && command2
||命令之间以
||相连时,如果前一个命令执行失败,则执行第二个命令1
command1 || command2
``命令中如果包含另一个命令,则用符号`` 将它包括起来,在执行的时候系统将优先执行``中的子命令,然后将其结果代入父命令继续执行
1
command1 `command2`
ctrl + z在shell中执行命令时,同时按下
ctrl + z可以将暂时挂起1
2
3
4suyelu@HaiZei-Tech:~$ vim helloworld.c
[1]+ Stopped vim helloworld.c
suyelu@HaiZei-Tech:~$什么是挂起?
bg执行
bg命令,可以将挂起的命令后台运行1
2
3
4
5
6
7suyelu@HaiZei-Tech:~$ vim helloworld.c
[1]+ Stopped vim helloworld.c
suyelu@HaiZei-Tech:~$ bg
[1]+ vim helloworld.c &
suyelu@HaiZei-Tech:~$fg执行命令
fg可以将后台执行的命令转为前台执行jobs在Linux系统中,执行
jobs命令可以查看所有在后台执行和挂起的任务以及任务编号1
2
3
4suyelu@HaiZei-Tech:~/code$ jobs
[1]- Stopped vim a.c (wd: ~)
[2]+ Stopped vim b.c (wd: ~)
[3] Running ./a.out &
尝试执行fg和bg加上任务编号,看看是什么效果
管道、重定向
>重定向符
>>作用于>基本相同,不同的是>>将内容追加到文件的末尾,而>内容覆盖原文件
<与>刚好相反,是从文件到命令的重定向。它将文件的内容输出到命令作为输入
<<?
1
2
3cat >> /etc/sysconfig/network << EOF
HOSTNAME=$HOST_NAME
EOF
转义符
在Linux中转义符
\的应用十分广泛,除此之外,转义符还包括“”和‘’。
| 字符 | 说明 |
|---|---|
| ‘’ | 硬转义,硬引用,其内部所有的shell元字符、通配符都会被关掉。注意,硬转义中不允许出现’(单引号)。 |
| “” | 软转义,软引用,其内部只允许出现特定的shell元字符($,`,\):$用于变量值替换、`用于命令替换、\用于转义单个字符 |
| \ | 反斜杠,转义,去除其后紧跟的元字符或通配符的特殊意义。 |
下表是部分转义字符对应表:
| 转义字符 | 意义 | ASCII码值(十进制) |
|---|---|---|
| \a | 响铃(BEL) | 007 |
| \b | 退格(BS) ,将当前位置移到前一列 | 008 |
| \f | 换页(FF),将当前位置移到下页开头 | 012 |
| \n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
| \r | 回车(CR) ,将当前位置移到本行开头 | 013 |
| \t | 水平制表(HT) (跳到下一个TAB位置) | 009 |
| \v | 垂直制表(VT) | 011 |
| \\ | 代表一个反斜线字符’’' | 092 |
| ' | 代表一个单引号(撇号)字符 | 039 |
| " | 代表一个双引号字符 | 034 |
| ? | 代表一个问号 | 063 |
| \0 | 空字符(NULL) | 000 |
| \nnn | 1到3位八进制数所代表的任意字符 | 三位八进制 |
| \xnnn | 1到3位十六进制所代表的任意字符 | 三位十六进制 |
转义符在Shell中的应用
1 | suyelu@HaiZei-Tech:~$ echo -e "\044" |
附录1 Shell元字符
| 字符 | 说明 |
|---|---|
| = | 变量名=值,为变量赋值。注意=左右紧跟变量名和值,中间不要有空格 |
| `` | 取命令的执行结果,与下文的$有相似之处 |
| $ | 变量值替换,$变量名替换为shell变量的值;为避免在文本连接时混淆,请使用${变量名};$0…$9 代表shell文件的参数。$()同``;${}限定变量名的范围;$[]整数计算; |
| > | prog > file 将标准输出重定向到文件。 |
| >> | prog >> file 将标准输出追加到文件。 |
| < | prog < file 从文件file中获取标准输入 |
| << | |
| | | 管道命令,例:p1 | p2 将p1的标准输出作为p2的标准输入 |
| & | 后台运行命令,最大好处是无需等待命令执行结束,就可以在同一命令行下继续输入命令 |
| () | 在子shell中执行命令,在子进程中执行 |
| {} | 在当前shell中执行命令,或用在变量替换的界定范围(例如上面的${变量名}用法)。 |
| [] | 字符通配,匹配括号内之一 |
| ; | 命令结束符。例如p1;p2表示先执行p1,再执行p2 |
| && | 前一个命令执行成功后,才继续执行下一个命令。例:p1 && p2 ;若p1执行成功后,才执行p2,反之,不执行p2; |
| || | 前一个命令执行失败后,才继续执行下一个命令。例:p1 || p2 ;若p1执行成功后,不执行p2,反之,才执行p2; |
| ! | 执行历史记录中的命令!731;匹配最近的一次命令!echo;取非ls /dev/sda[!1];结果取反! echo ok ;echo $? |
| % | % 1相当于fg 1 |
| ^ | 取非,和!雷同;^string1^string2^将上一命令的string1替换为string2 |
| ~ | home目录 |
| # | 注释 |
| * | 通配符,任意字符 |
| ? | 通配符,任一字符 |
| . | 当前目录;source |
| - | 减号;上次工作目录 |
| : | 真值;空命令 |
| \ | 转义 |
| / | 目录分割符 |
附录2 ASCII码 对照表
| Bin(二进制) | Oct(八进制) | Dec(十进制) | Hex(十六进制) | 缩写/字符 | 解释 |
|---|---|---|---|---|---|
| 0000 0000 | 0 | 0 | 00 | NUL(null) | 空字符 |
| 0000 0001 | 1 | 1 | 01 | SOH(start of headline) | 标题开始 |
| 0000 0010 | 2 | 2 | 02 | STX (start of text) | 正文开始 |
| 0000 0011 | 3 | 3 | 03 | ETX (end of text) | 正文结束 |
| 0000 0100 | 4 | 4 | 04 | EOT (end of transmission) | 传输结束 |
| 0000 0101 | 5 | 5 | 05 | ENQ (enquiry) | 请求 |
| 0000 0110 | 6 | 6 | 06 | ACK (acknowledge) | 收到通知 |
| 0000 0111 | 7 | 7 | 07 | BEL (bell) | 响铃 |
| 0000 1000 | 10 | 8 | 08 | BS (backspace) | 退格 |
| 0000 1001 | 11 | 9 | 09 | HT (horizontal tab) | 水平制表符 |
| 0000 1010 | 12 | 10 | 0A | LF (NL line feed, new line) | 换行键 |
| 0000 1011 | 13 | 11 | 0B | VT (vertical tab) | 垂直制表符 |
| 0000 1100 | 14 | 12 | 0C | FF (NP form feed, new page) | 换页键 |
| 0000 1101 | 15 | 13 | 0D | CR (carriage return) | 回车键 |
| 0000 1110 | 16 | 14 | 0E | SO (shift out) | 不用切换 |
| 0000 1111 | 17 | 15 | 0F | SI (shift in) | 启用切换 |
| 0001 0000 | 20 | 16 | 10 | DLE (data link escape) | 数据链路转义 |
| 0001 0001 | 21 | 17 | 11 | DC1 (device control 1) | 设备控制1 |
| 0001 0010 | 22 | 18 | 12 | DC2 (device control 2) | 设备控制2 |
| 0001 0011 | 23 | 19 | 13 | DC3 (device control 3) | 设备控制3 |
| 0001 0100 | 24 | 20 | 14 | DC4 (device control 4) | 设备控制4 |
| 0001 0101 | 25 | 21 | 15 | NAK (negative acknowledge) | 拒绝接收 |
| 0001 0110 | 26 | 22 | 16 | SYN (synchronous idle) | 同步空闲 |
| 0001 0111 | 27 | 23 | 17 | ETB (end of trans. block) | 结束传输块 |
| 0001 1000 | 30 | 24 | 18 | CAN (cancel) | 取消 |
| 0001 1001 | 31 | 25 | 19 | EM (end of medium) | 媒介结束 |
| 0001 1010 | 32 | 26 | 1A | SUB (substitute) | 代替 |
| 0001 1011 | 33 | 27 | 1B | ESC (escape) | 换码(溢出) |
| 0001 1100 | 34 | 28 | 1C | FS (file separator) | 文件分隔符 |
| 0001 1101 | 35 | 29 | 1D | GS (group separator) | 分组符 |
| 0001 1110 | 36 | 30 | 1E | RS (record separator) | 记录分隔符 |
| 0001 1111 | 37 | 31 | 1F | US (unit separator) | 单元分隔符 |
| 0010 0000 | 40 | 32 | 20 | (space) | 空格 |
| 0010 0001 | 41 | 33 | 21 | ! | 叹号 |
| 0010 0010 | 42 | 34 | 22 | “ | 双引号 |
| 0010 0011 | 43 | 35 | 23 | # | 井号 |
| 0010 0100 | 44 | 36 | 24 | $ | 美元符 |
| 0010 0101 | 45 | 37 | 25 | % | 百分号 |
| 0010 0110 | 46 | 38 | 26 | & | 和号 |
| 0010 0111 | 47 | 39 | 27 | ‘ | 闭单引号 |
| 0010 1000 | 50 | 40 | 28 | ( | 开括号 |
| 0010 1001 | 51 | 41 | 29 | ) | 闭括号 |
| 0010 1010 | 52 | 42 | 2A | * | 星号 |
| 0010 1011 | 53 | 43 | 2B | + | 加号 |
| 0010 1100 | 54 | 44 | 2C | , | 逗号 |
| 0010 1101 | 55 | 45 | 2D | - | 减号/破折号 |
| 0010 1110 | 56 | 46 | 2E | . | 句号 |
| 00101111 | 57 | 47 | 2F | / | 斜杠 |
| 00110000 | 60 | 48 | 30 | 0 | 数字0 |
| 00110001 | 61 | 49 | 31 | 1 | 数字1 |
| 00110010 | 62 | 50 | 32 | 2 | 数字2 |
| 00110011 | 63 | 51 | 33 | 3 | 数字3 |
| 00110100 | 64 | 52 | 34 | 4 | 数字4 |
| 00110101 | 65 | 53 | 35 | 5 | 数字5 |
| 00110110 | 66 | 54 | 36 | 6 | 数字6 |
| 00110111 | 67 | 55 | 37 | 7 | 数字7 |
| 00111000 | 70 | 56 | 38 | 8 | 数字8 |
| 00111001 | 71 | 57 | 39 | 9 | 数字9 |
| 00111010 | 72 | 58 | 3A | : | 冒号 |
| 00111011 | 73 | 59 | 3B | ; | 分号 |
| 00111100 | 74 | 60 | 3C | < | 小于 |
| 00111101 | 75 | 61 | 3D | = | 等号 |
| 00111110 | 76 | 62 | 3E | > | 大于 |
| 00111111 | 77 | 63 | 3F | ? | 问号 |
| 01000000 | 100 | 64 | 40 | @ | 电子邮件符号 |
| 01000001 | 101 | 65 | 41 | A | 大写字母A |
| 01000010 | 102 | 66 | 42 | B | 大写字母B |
| 01000011 | 103 | 67 | 43 | C | 大写字母C |
| 01000100 | 104 | 68 | 44 | D | 大写字母D |
| 01000101 | 105 | 69 | 45 | E | 大写字母E |
| 01000110 | 106 | 70 | 46 | F | 大写字母F |
| 01000111 | 107 | 71 | 47 | G | 大写字母G |
| 01001000 | 110 | 72 | 48 | H | 大写字母H |
| 01001001 | 111 | 73 | 49 | I | 大写字母I |
| 01001010 | 112 | 74 | 4A | J | 大写字母J |
| 01001011 | 113 | 75 | 4B | K | 大写字母K |
| 01001100 | 114 | 76 | 4C | L | 大写字母L |
| 01001101 | 115 | 77 | 4D | M | 大写字母M |
| 01001110 | 116 | 78 | 4E | N | 大写字母N |
| 01001111 | 117 | 79 | 4F | O | 大写字母O |
| 01010000 | 120 | 80 | 50 | P | 大写字母P |
| 01010001 | 121 | 81 | 51 | Q | 大写字母Q |
| 01010010 | 122 | 82 | 52 | R | 大写字母R |
| 01010011 | 123 | 83 | 53 | S | 大写字母S |
| 01010100 | 124 | 84 | 54 | T | 大写字母T |
| 01010101 | 125 | 85 | 55 | U | 大写字母U |
| 01010110 | 126 | 86 | 56 | V | 大写字母V |
| 01010111 | 127 | 87 | 57 | W | 大写字母W |
| 01011000 | 130 | 88 | 58 | X | 大写字母X |
| 01011001 | 131 | 89 | 59 | Y | 大写字母Y |
| 01011010 | 132 | 90 | 5A | Z | 大写字母Z |
| 01011011 | 133 | 91 | 5B | [ | 开方括号 |
| 01011100 | 134 | 92 | 5C | \ | 反斜杠 |
| 01011101 | 135 | 93 | 5D | ] | 闭方括号 |
| 01011110 | 136 | 94 | 5E | ^ | 脱字符 |
| 01011111 | 137 | 95 | 5F | _ | 下划线 |
| 01100000 | 140 | 96 | 60 | ` | 开单引号 |
| 01100001 | 141 | 97 | 61 | a | 小写字母a |
| 01100010 | 142 | 98 | 62 | b | 小写字母b |
| 01100011 | 143 | 99 | 63 | c | 小写字母c |
| 01100100 | 144 | 100 | 64 | d | 小写字母d |
| 01100101 | 145 | 101 | 65 | e | 小写字母e |
| 01100110 | 146 | 102 | 66 | f | 小写字母f |
| 01100111 | 147 | 103 | 67 | g | 小写字母g |
| 01101000 | 150 | 104 | 68 | h | 小写字母h |
| 01101001 | 151 | 105 | 69 | i | 小写字母i |
| 01101010 | 152 | 106 | 6A | j | 小写字母j |
| 01101011 | 153 | 107 | 6B | k | 小写字母k |
| 01101100 | 154 | 108 | 6C | l | 小写字母l |
| 01101101 | 155 | 109 | 6D | m | 小写字母m |
| 01101110 | 156 | 110 | 6E | n | 小写字母n |
| 01101111 | 157 | 111 | 6F | o | 小写字母o |
| 01110000 | 160 | 112 | 70 | p | 小写字母p |
| 01110001 | 161 | 113 | 71 | q | 小写字母q |
| 01110010 | 162 | 114 | 72 | r | 小写字母r |
| 01110011 | 163 | 115 | 73 | s | 小写字母s |
| 01110100 | 164 | 116 | 74 | t | 小写字母t |
| 01110101 | 165 | 117 | 75 | u | 小写字母u |
| 01110110 | 166 | 118 | 76 | v | 小写字母v |
| 01110111 | 167 | 119 | 77 | w | 小写字母w |
| 01111000 | 170 | 120 | 78 | x | 小写字母x |
| 01111001 | 171 | 121 | 79 | y | 小写字母y |
| 01111010 | 172 | 122 | 7A | z | 小写字母z |
| 01111011 | 173 | 123 | 7B | { | 开花括号 |
| 01111100 | 174 | 124 | 7C | | | 垂线 |
| 01111101 | 175 | 125 | 7D | } | 闭花括号 |
| 01111110 | 176 | 126 | 7E | ~ | 波浪号 |
| 01111111 | 177 | 127 | 7F | DEL (delete) | 删除 |
标准输入输出知识点汇总
本文字数: 0 阅读时长 ≈ 1 分钟
C++文件流IO操作:fstream类
fstream类是C++编译系统提供的以数据文件为对象的输入输出操作的类库,亦称文件I/O类,fstream类是标准I/O类iostream的派生类。以后查阅用。
三道算法题实现
三道算法的实现,分别是字符串内所有数字之和、多项式简单卷积实现、怪物牛的生长数量。
paddlepaddle学习记录
因为百度可以白嫖GPU,在家小笔记根本不敢折腾,所以学习一下paddle的这个操作。
colab下配置并运行PRML源代码
假期在家想好好看看PRML《模式识别与机器学习》这本书,看到github上有python的源码,又因为家里的电脑不想安装python了。突然想到收藏夹里还有colab这个东西,就打算在这上面运行运行试试。
围棋入门
假期闲着在家自我隔离,于是想着学习下下围棋,万一以后有孩子了,也有一两手技术可以交给他,不能从小就带着打游戏吧。哈哈哈扯远了,下面是我学习后并总结的入门知识。
hexo(Next主题)修改文字大小
在hexo搭建完成后,使用next主题,发现有些字体过大,比如标题下面提示文章发表时间、分类、标签等字体。以下提出我的修改方式(版本hexo:3.9.0、next:7.4.1)。