Linux目录和文件查看命令

一、Linux 的目录结构

Linux 的目录结构是一个树状结构,以根目录(/)为起点,以下是常见的 Linux 目录结构的主要内容:

/   根路径
├── bin: 存放系统指令(命令),如ls、cp、mv等,这些命令可以被所有用户执行。
├── boot: 存放启动相关的文件,包括内核(kernel)和引导程序。
├── dev: 存放设备文件,包括硬盘、键盘、鼠标等设备的文件。
├── etc: 存放系统的配置文件,例如网络配置、用户配置等。
├── home: 存放普通用户的家目录,每个用户在此目录下有各自的子目录。
├── lib: 存放系统程序运行时需要的函数库文件。
├── media: 用于挂载可移动介质(如光盘、U盘)的挂载点。
├── mnt: 通常用于挂载临时文件系统,例如其他硬盘分区或者NFS网络共享。
├── opt: 用于安装额外的软件包的目录。
├── proc: 虚拟文件系统,存储当前正在运行的进程和内核信息。
├── root: 超级用户(root)的家目录。
├── sbin: 存放系统指令(命令),只能由超级用户执行,如ifconfig、fdisk等。
├── tmp: 存放临时文件,重启后会清空该目录。
├── usr: 存放系统软件资源,包括二进制指令和库文件。
└── var: 存放经常变化的文件,如日志、备份文件等。├── cache: 应用程序的缓存文件。├── log: 系统日志文件。├── spool: 打印队列和邮件队列等临时性数据。├── tmp: 存放临时文件。└── www: 存放网站文件,如Web服务器的相关文件。
 ls /      # 查看根目录

  • 蓝色:目录(文件夹)
  • 绿色:可执行文件。
  • 红色:压缩文件或归档文件。
  • 棕色:设备文件(如硬盘、U盘等)。
  • 黑色:普通文件。
  • 浅蓝色:链接文件(软链接或硬链接)。
  • 灰色:其他类型的文件,如套接字(socket)等。

二、目录与文件查看命令

1、ls 命令:

作用:
  • 列出目录中的文件和子目录。
格式:
  • ls [选项] [文件/目录]
常用参数:
  • -l:以长格式显示文件信息
  • -a:显示所有文件,包括隐藏文件(以“.”开头的文件)
  • -d:仅显示目录本身,而不是显示目录中的文件和子目录
  • -R:递归地显示目录及其子目录中的文件和子目录
用法示例:
1)ls:列出当前目录的文件和子目录

2)ls -a /home/user/:显示 /home/user/ 目录下所有文件和子目录,包括隐藏文件
  • . 表示当前目录,即 /home/user/
  • .. 表示当前目录的父级目录,即 /home/  (简单理解为出现了..就代表当前目标存在父级目录)

通过显示 ..ls -a 命令帮助你识别当前目录的父级目录,方便导航和操作文件系统的目录结构 

3)ls -l:以长格式显示当前目录的文件和子目录 

解释:drwxr-xr-x. 2 user user 6 10月 8 16:45 公共 

  • d:表示这是一个目录。
  • rwxr-xr-x:这是文件权限的部分,以三组三个字符(rwx)的形式表示。第一组代表所有者(user)的权限,第二组代表所属组(user)的权限,第三组代表其他用户的权限。每个字符的含义是:
    • r:读取权限,表示可以读取文件或访问目录内的文件列表。
    • w:写入权限,表示可以编辑、修改或删除文件。
    • x:执行权限,对于文件表示可以执行,对于目录表示可以进入并访问其内容。
  • 2:表示该目录中的链接数。
  • user user:表示所有者(user)和所属组(user)的用户名。
  • 6表示文件夹中的项目数(包括子目录和文件),但是如果不是目录而是文件这个的数字就 代表指向该文件的硬链接数量
  • 10月 8 16:45:表示最后修改的日期和时间。
  • 公共:目录的名称。
4)ls -d /home/user/:显示 /home/user/ 目录本身,而不是其中的文件和子目录(作用:判断目录是否存在)

5) ls -ld /home/user/(将 -d 和 -l 组合使用):显示指定目录的详细信息,并且不会显示目录内的文件和子目录的详细信息。
  • ls:列出目录内容和文件信息。
  • -l:以长格式(详细信息)显示文件和目录。
  • -d:显示目录本身的详细信息,而不是列出目录中的内容。

所以,ls -ld /home/user/ 命令会以详细的长格式显示 /home/user/ 目录的信息,而不显示该目录下的文件和子目录的详细信息。

解释: drwx------. 16 user user 4096 10月 8 17:01 /home/user/

  • d 表示这是一个目录。
  • rwx------. 表示对于拥有该目录的用户(user),具有读、写和执行权限;对于该用户所在的组(user),没有任何权限;对于其他用户,也没有任何权限。
  • 16 表示该目录下的子项目(包括子目录和文件)的数量,不包括 "." 和 ".." 目录。
  • user user 表示该目录所属的用户和组。即该目录被 user 用户所拥有,user 组为其所属组。
  • 4096 表示该目录的容量大小为 4096 bytes,即 4KB。
  • 10月 8 17:01 表示该目录的最后修改时间为 10 月 8 日 17 点 01 分。
6)ls -R /home/user/:递归地显示 /home/user/ 目录及其子目录中的所有文件和子目录。

2、cd 命令:

作用:
  • 进入指定的目录。
格式:
  • cd [目录]
用法示例:
1)切换到上级目录:

cd ..

2)切换到当前用户的主目录(通常是 /home/username/):

cd  或 cd ~

3)切换到绝对路径指定的目录:

cd /var/log/   或 cd /  # 直接切换到根目录

4)切换到当前工作目录下的子目录:

cd 子目录名

5)切换到上次工作的目录:

cd -

6)使用主目录中定义的快捷方式切换目录,例如切换到桌面目录:

cd ~/桌面

3、pwd 命令:

作用:
  • 显示当前所在的目录路径。
格式:
  • pwd
用法示例:
1)pwd:显示当前所在的目录路径

4、mkdir 命令:

作用:
  • 创建一个新目录。
格式:
  • mkdir [选项] 目录
常用参数:
  • -p:递归创建多级目录,如果父级目录不存在也会创建
用法示例:
1)mkdir ~/桌面/newdir:在 桌面 目录中创建新目录 newdir

2)mkdir -p ~/桌面/dir1/dir2:递归创建多级目录

5、rmdir 命令:

作用:
  • 删除一个空目录。
格式:
  • rmdir 目录
用法示例:
1)rmdir ~/桌面/newdir:删除 桌面 目录中的 newdir 目录

6、touch 命令:

作用:
  • 创建一个新文件或更新现有文件的时间戳。
格式:
  • touch [选项] 文件
常用参数:
  • -c:仅在文件不存在时才创建文件
用法示例:
1)touch /home/user/桌面/file.txt :创建一个名为 file.txt 的新文件

因为这里是在桌面上创建文件可以将路径改成系统提供的快捷方式:touch ~/桌面/file.txt

2)touch -c /home/user/existingfile.txt:仅在文件 existingfile.txt 不存在时才创建文件

7、cat 命令:

作用:
  • 查看文件内容,将文件内容输出到终端中。
格式:
  • cat [选项] 文件
常用参数:
  • -n:显示行号
  • -b 参数用于在显示文件内容时,对非空行进行编号
用法示例:

 假设有一个名为 file.txt 的文件,其中内容如下:

Line 1 Line 2 Line 3
1)cat /home/user/桌面/file.txt:查看 /home/user/桌面/ 目录中的 file.txt.txt 文件的内容

2)cat -n /home/user/桌面/file.txt:显示 /home/user/桌面/目录中的 file.txt.txt 文件的内容,并附带行号

3)cat -b /home/user/桌面/file.txt:显示 /home/user/桌面/目录中的 file.txt.txt 文件的内容,并附带行号(仅非空行才有行号)

8、tac 命令:

作用
  • tac 命令用于逆序输出指定文件的内容,按行从最后一行到第一行进行输出。
格式
  • tac [选项] 文件
常用参数
  • -b, --before:在每行前面不加空格。
  • -r, --regex:将模式视为正则表达式。
用法示例:
1)运行 tac file.txt 命令将输出:

9、more 命令

作用
  • more 命令用于分页显示长文本文件的内容。它允许你按需查看文件的一部分内容,并在需要时逐页滚动浏览。
格式
  • more [选项] 文件
常用按键
  • 按下空格键(Space)会向下滚动一页内容
  • 按下回车键(Enter)则会向下滚动一行内容
  • b 键,它被用于往回查看一页内容
  • 按下 q 键可以退出 more 命令,停止显示更多内容
用法示例:
1)more file.txt

10、echo 命令

作用:
  • echo 命令用于在终端中显示文本内容或将文本输出到文件。
格式:
  • echo [选项] [文本] 

 其中,选项可以用来对输出进行一些控制,文本是要显示或输出的内容。

选项: 
  • -e:启用转义字符解析。例如,\n 将被解析为换行符。
  • -n:禁止添加结尾的换行符。默认情况下,echo 输出文本后会自动添加一个换行符 \n
  • -E:禁用转义字符解析。默认情况下,echo 会将部分特殊字符进行转义解析,如 \n 被解析为换行符。
用于重定向输出的特殊符号:
  • >:将命令的输出重定向到一个文件,如果文件不存在,则会创建一个新文件;如果文件已存在,则会先清空文件内容再写入新的输出。

    例如,使用 echo "Hello" > output.txt 将文本 "Hello" 写入到名为 "output.txt" 的文件中。如果该文件已存在,则会被清空。

  • >>:将命令的输出追加到一个文件末尾,如果文件不存在,则会创建一个新文件。

    例如,使用 echo "World" >> output.txt 将文本 "World" 追加到名为 "output.txt" 的文件末尾。如果该文件不存在,则会创建一个新文件并写入内容。

用法示例:
1)显示文本:
echo Hello, World!

输出:Hello, World!

2)将文本输出到文件:
echo Hello, Echo! > output.txt

将文本 Hello, Echo! 写入到文件 output.txt 中(若文件已存在,则会覆盖原有内容)。

3)追加文本到文件:
echo New content >> output.txt

将文本 New content 追加写入到文件 output.txt 的末尾(若文件已存在)。 

4)显示特殊字符:
echo "Hello\tWorld!"

输出:Hello World!,这里的 \t 表示水平制表符。

11、less 命令

作用:
  • 浏览和查看文本文件的内容
基本格式为:
  • less [选项] [文件名]
  • 选项:less 命令支持多种选项,用于控制浏览和搜索等功能。常见的选项包括:

    • -N:显示行号。
    • -i:忽略搜索时的大小写。
    • -F:以智能方式判断是否需要使用 less,适用于非交互式环境。
    • -q:在只有一个文件时,禁止提示 "Press RETURN"。
    • 等等,还有其他选项可供使用。
  • 文件名:指定要浏览的文本文件的名称或路径。

在打开文件后,您可以使用以下命令来浏览和搜索文件:
  • 向下滚动页面:
    • 使用下箭头键、空格键、PageDown 键:向下滚动一页。
    • 使用上箭头键、Backspace 键、PageUp 键:向上滚动一页。
    • 使用向下滚轮(如果可用):滚动几行。
  • 退出 less
    • 按下 q 键:退出 less 并返回到终端。
    • 按下 Ctrl + C:强制退出 less
  • 搜索文本:
    • 在 less 中按下 / 键,然后输入要搜索的关键词,按下回车键进行搜索。
    • 使用 n 键:在文件中查找下一个匹配项。
    • 使用 N 键:在文件中查找上一个匹配项。
  • 跳转到特定行:
    • 按下 g 键:跳转到文件的开头。
    • 按下 G 键:跳转到文件的末尾。
    • 输入行号 + g 键:跳转到指定的行号。
用法示例:
1)less -N output.txt

12、head 命令

作用:
  • head 命令用于显示文件的开头几行内容,默认情况下,它显示文件的前 10 行
基本格式:
  • head [选项] [文件名]
  • 选项:head 命令支持以下一些常用选项:

    • -n NUM 或 --lines=NUM:显示文件的前 NUM 行内容(NUM 是一个整数)。
    • -c NUM 或 --bytes=NUM:显示文件的前 NUM 字节内容(NUM 是一个整数)。
    • -q 或 --quiet:当处理多个文件时,不显示文件名。
    • -v 或 --verbose:当处理多个文件时,显示文件名。
    • 等等,还有其他选项可供使用。
  • 文件名:要显示开头内容的文件名称或路径。

用法示例:
1)head -n 5 file.txt:显示文件 file.txt 的前 5 行内容

 默认情况下,如果没有指定行数,head 命令将显示文件的前 10 行。您可以根据需要调整要显示的行数。

13、tail 命令 

作用:
  • tail 命令用于显示文件的末尾几行内容,默认情况下,它显示文件的最后 10 行
基本格式:
  • tail [选项] [文件名]
  • 选项:tail 命令支持以下一些常用选项:

    • -n NUM 或 --lines=NUM:显示文件的最后 NUM 行内容(NUM 是一个整数)。
    • -c NUM 或 --bytes=NUM:显示文件的最后 NUM 字节内容(NUM 是一个整数)。
    • -f 或 --follow:实时跟踪文件的变化,类似于 tail -f 命令。
    • -q 或 --quiet:当处理多个文件时,不显示文件名。
    • -v 或 --verbose:当处理多个文件时,显示文件名。
    • 等等,还有其他选项可供使用。
  • 文件名:要显示末尾内容的文件名称或路径。

用法示例:
1) tail -n 5 file.txt:示文件 example.txt 的最后 5 行内容

默认情况下,如果没有指定行数,tail 命令将显示文件的最后 10 行。您可以根据需要调整要显示的行数。

2) tail -f ping.txt:实时跟踪文件的变化

这在查看日志文件或监视文件更新时非常有用。

14、grep 命令

作用:
  • grep 是一个强大的文本搜索工具,用于在文件中查找指定字符串
基本格式:
  • grep [选项] 要查找的字符串 [文件名]
  • 选项:grep 命令支持许多选项来控制搜索的行为,以下是一些常用的选项:

    • -i:忽略大小写进行匹配。
    • -r 或 --recursive:递归地搜索指定目录及其子目录下的文件。
    • -l:只显示包含匹配模式的文件名,而不显示匹配的具体内容。
    • -n:显示匹配行的行号。
    • -v:显示不包含匹配模式的行。
    • -c:显示匹配模式的行数统计。
    • -E:-E 命令是 grep 命令的一个扩展版本,支持使用扩展正则表达式进行匹配
    • 等等,还有其他选项可供使用。
  • 文件名:要进行搜索的文件名称或路径。可以指定多个文件,也可以使用通配符进行文件匹配。

用法示例:
1)grep "hello" file.txt:在文件 file.txt 中搜索包含字符串 "hello" 的行

2)grep -i "hello" file.txt:忽略大小写进行匹配

3)grep -E [正则] file.txt:使用正则表达式进行匹配
  • 匹配 h 或 t 开头的字符
grep -E '^h|^t' ./file.txt    

  • 匹配包含特定单词的行:
grep -E 'apple' file.txt

上述命令会匹配并显示 file.txt 文件中所有包含 "apple" 的行。 

  • 忽略大小写进行匹配:
grep -Ei 'hello' file.txt

加上 -i 选项可以忽略大小写,使得匹配不区分大小写。

  • 匹配特定模式的行:
grep -E '[0-9]{3}-[0-9]{4}' file.txt

上述命令会匹配并显示 file.txt 文件中符合 "XXX-XXXX" 格式的行,其中 "X" 表示数字。

  • 反向匹配:
grep -Ev 'apple' file.txt

  • 使用正则表达式的元字符:
grep -E '\b[A-Za-z]+\b' file.txt

不写了,正则表达式有很多种组合,需要用到的时候直接上网查找即可。

15、find 命令

作用:
  • 用于在文件系统中查找文件和目录的工具(grep 命令是在文件中查找字符串)
基本格式:
  • find [path] [expression]
  • 其中 [path] 是需要查找的目录或文件路径,而 [expression] 是查找条件和操作选项。

默认情况下,find 命令会递归地搜索指定目录中的所有子目录和文件,找到符合条件的文件,并根据指定选项执行操作。

以下是一些常见的 find 命令选项:
  • -name pattern:按照文件名进行搜索,可以使用通配符模式。
  • -type type:按照文件类型进行搜索,常用的类型包括 f(普通文件)、d(目录)、l(符号链接)等。
  • -size [+/-]size:按照文件大小进行搜索,可以使用单位 c(字节)、k(千字节)、M(兆字节)等。
  • -mtime [+/-]days:按照修改时间进行搜索,可以使用单位 +(大于)、-(小于)来匹配指定天数内修改的文件。
  • -exec command {} \;:对搜索结果执行指定的命令操作。
  • -user:用于按照文件所有者(用户)进行搜索。可以使用 -user 选项后跟用户名或用户ID来查找属于特定用户的文件。
用法示例:
 1)find ~/桌面 -name file.txt按文件名进行搜索:

上述命令会在 /桌面/ 搜索文件名为: file.txt 的文件

2)find ~/桌面 -type f:按文件类型进行搜索:

上述命令会在 /桌面/ 目录及其子目录中搜索普通文件。

3)find ~/桌面 -type d:按目录进行搜索:

上述命令会在 /桌面 目录及其子目录中搜索目录。

4)find ~/桌面 -size +10M:按文件大小进行搜索:

上述命令会在 /桌面 目录及其子目录中搜索大小大于 10MB 的文件。

5)find ~/桌面 -mtime -7:按时间戳进行搜索:

上述命令会在 /桌面 目录及其子目录中搜索最近 7 天内修改过的文件。

6)find ~/桌面 -name "*.txt" -exec rm {} \; :执行命令操作:

上述命令会在 /桌面 目录及其子目录中搜索所有以 ".txt" 结尾的文件,并执行 rm 命令来删除这些文件。

总结

这些命令有很多命令对应的参数那就更多了,但是我们不需要全部记住可以先记住命令关键字,命令的具体参数可以使用:man [具体的命令关键字]   #  查找命令说明

主要还是要多练多使用,用的多了自然就记住了,有些关键字如果是只记住前面几个字符就可以使用“tab键”进行补全。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/151746.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何部署一个高可用高并发的电商平台

假设我们已经有了一个特别大的电商平台,这个平台应该部署在哪里呢?假设我们用公有云,一般公有云会有多个位置,比如在华东、华北、华南都有。毕竟咱们的电商是要服务全国的,当然到处都要部署了。我们把主站点放在华东。…

重启Oracle数据库命令列表逐步操作

💕欢迎来到 Oracle 数据库重启教程💕 🎯第一步:以 oracle 身份登录数据库🎯 su - oracle (如果是WINdows系统的CMD窗口)直接从第二步开始! 🎯第二步:进入…

【进阶C语言】数组笔试题解析

本节内容以刷题为主,大致目录: 1.一维数组 2.字符数组 3.二维数组 学完后,你将对数组有了更全面的认识 在刷关于数组的题目前,我们先认识一下数组名: 数组名的意义:表示数组首元素的地址 但是有两个例外…

Js基础——事件流

引入 当浏览器发展到第四代时( IE4 及 Netscape Communicator 4 ),浏览器开发团队遇到了一个很有意思 的问题:页面的哪一部分会拥有某个特定的事件?要明白这个问题问的是什么,可以想象画在一张纸上的一组…

vue3简易文字验证码

大神勿喷,简易版本,demo中可以用一下。 需要几个文字自己codelen 赋值 灵活点直接父组件传过去,可以自己改造 首先创建一个生成数字的js **mathcode.js**function MathCode(num){let str "寻寻觅觅冷冷清清凄凄惨惨戚戚乍暖还寒时候…

千兆以太网传输层 UDP 协议原理与 FPGA 实现(UDP接收)

文章目录 前言心得体会一、 UDP 协议简单回顾二、UDP接收实现三、完整代码展示四、仿真测试(1)模拟电脑数据发送,(2)测试顶层文件编写(3)仿真文件(4)仿真波形前言 在前面我们对以太网 UDP 帧格式做了讲解,UDP 帧格式包括前导码+帧界定符、以太网头部数据、IP 头部数…

光伏发电预测(LSTM、CNN_LSTM和XGBoost回归模型,Python代码)

运行效果:光伏发电预测(LSTM、CNN_LSTM和XGBoost回归模型,Python代码)_哔哩哔哩_bilibili 运行环境库的版本 光伏太阳能电池通过互连形成光伏模块,以捕捉太阳光并将太阳能转化为电能。因此,当光伏模块暴露…

windows 任务计划自动提交 笔记到github 、gitee

一、必须有个git仓库托管到git上。 这个就不用说了,自己在github或者码云上新建一个仓库就行了。 二、创建自动提交脚本 这个bat脚本是在windows环境下使用的。 注意:windows定时任务下 调用自动提交git前,必须先进入该git仓库目录&#x…

【Linux】线程控制

🔥🔥 欢迎来到小林的博客!!       🛰️博客主页:✈️林 子       🛰️博客专栏:✈️ Linux       🛰️社区 :✈️ 进步学堂       &#x1f6f0…

DependsOn注解失效问题排查

文章目录 前言一、现象描述1.1.背景描述1.2.第一次修改,使用DependsOn注解1.3.第二次修改,设置方法入参 二、看看源码2.1.Spring实例化的源码2.2.调试2.3.验证 总结 前言 最近几天遇到一个比较有意思的问题,发现Spring的DependsOn注解失效&a…

CSS3与HTML5

box-sizing content-box:默认,宽高包不含边框和内边距 border-box:也叫怪异盒子,宽高包含边框和内边距 动画:移动translate,旋转、transform等等 走马灯:利用动画实现animation:from…

websocket拦截

python实现websocket拦截 前言一、拦截的优缺点优点缺点二、实现方法1.环境配置2.代码三、总结现在的直播间都是走的websocket通信,想要获取websocket通信的内容就需要使用websocket拦截,大多数是使用中间人代理进行拦截,这里将会使用更简单的方式进行拦截。 前言 开发者工…

【C++面向对象侯捷下】4. pointer-like classes,关于智能指针 | 5. function-like classes,所谓仿函数

文章目录 4. pointer-like classes,关于智能指针pointer-like classes,关于智能指针 shared_ptrpointer-like classes,关于迭代器5. function-like classes,所谓仿函数【不懂,跳过】 4. pointer-like classes,关于智能指针 pointer-like classes,关于智…

FFMPEG 视频类过滤器学习整理

针对FFMPEG提供视频过滤器进行了介绍,并提供使用实例 addroi 作用 在视频帧上标记一块感兴趣的区域。 帧数据被原封不动地传递,但元数据被附加到帧,指示可能影响后续编码行为的感兴趣区域。可以通过多次应用过滤器来标记多个区域。 参数 qoffset: 应用在此区域的量化偏…

C语言 - 数组

目录 1. 一维数组的创建和初始化 1.1 数组的创建 1.2 数组的初始化 1.3 一维数组的使用 1.4 一维数组在内存中的存储 2. 二维数组的创建和初始化 2.1 二维数组的创建 2.2 二维数组的初始化 2.3 二维数组的使用 2.4 二维数组在内存中的存储 3. 数组越界 4. 数组作为函数参数 4.1…

电脑上制定工作计划的软件有哪些?

在数字的时代,电脑成为了我们工作的得力助手,但在这个信息过载的年代,如何在电脑上制定高效的工作计划成了工作中必不可少的一项任务。我在工作中也曾经迷茫过,制定的各项计划不能按时完成,直到我找到一款可以辅助我办…

tomcat整体架构

Tomcat介绍 Tomcat是Apache Software Foundation(Apache软件基金会)开发的一款开源的Java Servlet 容器。它是一种Web服务器,用于在服务器端运行Java Servlet和JavaServer Pages (JSP)技术。它可 以为Java Web应用程序提供运行环境&#x…

Linux读写锁的容易犯的问题

Linux读写锁的容易犯的问题 读写锁是互斥锁之外的另一种用于多线程之间同步的一种方式。 多线程对于一个共享变量的读操作是安全的, 而写操作是不安全的。如果在一个读很多而写很少的场景之下,那么使用互斥锁将会阻碍大量的线程安全的读操作的进行。在…

腾讯云轻量和CVM有啥区别?怎么选择服务器配置?

腾讯云轻量服务器和云服务器有什么区别?为什么轻量应用服务器价格便宜?是因为轻量服务器CPU内存性能比云服务器CVM性能差吗?轻量应用服务器适合中小企业或个人开发者搭建企业官网、博客论坛、微信小程序或开发测试环境,云服务器CV…

关于Jupyter markdown的使用

一级标题 #空格 标题1 二级标题 ## 空格 标题2 三级标题 ###空格 标题3 无序; 有序: 数学符号: