This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | |||
tutorial:oc3_hard_drives:zh [2023/10/23 12:35] hfsr [OC 教程:硬盘] |
tutorial:oc3_hard_drives:zh [2023/12/01 08:20] (current) hfsr [OC 教程:硬盘] |
||
---|---|---|---|
Line 2: | Line 2: | ||
================= | ================= | ||
- | 当你[[tutorial:oc2_writing_code:zh|编写程序]]时,通常是希望程序文件一直存在的,所以使用 `/tmp` 目录并不是长久之计。这就需要用到[[item:hard_disk_drive:zh|硬盘]]。将硬盘装进电脑时,它将自动挂载在 `/mnt` 目录下。并以其地址的前几个字母命名。尽管这对于体验其功能可能够用了,但是你在之后可能会想要更灵活且舒适地使用它。本教程将会介绍修改硬盘标签与挂载硬盘的概念。 | + | 当你[[tutorial:oc2_writing_code:zh|编写程序]]时,通常是希望程序文件一直存在的,所以使用 `/tmp` 目录并非长久之计。这就需要用到[[item:hard_disk_drive:zh|硬盘]]。将硬盘装进电脑时,它将自动挂载到`/mnt`目录下。并以其地址的前几个字母命名。尽管这对于体验其功能可能够用了,但是你在之后可能会想要更灵活且舒适地使用它。本教程将会介绍修改硬盘标签与挂载硬盘的概念。 |
- | *注意*:本教程的所有内容同样适用于 [[item:floppy_disk:zh|软盘]]。 | + | **注意:**本教程的所有概念同样适用于 [[item:floppy_disk:zh|软盘]]。 |
首先,将一个全新的硬盘插入电脑: | 首先,将一个全新的硬盘插入电脑: | ||
Line 10: | Line 10: | ||
{{https://i.imgur.com/Nr81Dx2.png?700}} | {{https://i.imgur.com/Nr81Dx2.png?700}} | ||
- | 你将会在注意硬盘的提示文本发现,它已经被分配好了一个地址(那个被截短的、字母数字混合的字符串)。你不必记住它,因为它只做参考用。接下来,打开屏幕 GUI 并且输入 `df`。该程序将列出当前所有的文件系统与挂载点。在它们中,你可以注意到只有一个是以地址显示的(不像 ROM 和临时文件系统)。那个地址应当是你先前在提示中看到的地址。 | + | 你会在硬盘的提示文本中注意到,它已经被分配好了一个地址(那个被截短的、字母数字混合的字符串)。你不必记住它,因为它显示的目的仅为参考。接下来,打开屏幕的GUI并且输入`df`。该程序将列出当前所有的文件系统与挂载点。在它们中,你可以注意到只有一个是以地址显示的(不像 ROM 和临时文件系统)。那个地址应当是你先前在提示中看到的地址。 |
{{https://i.imgur.com/22yfaRh.png?700}} | {{https://i.imgur.com/22yfaRh.png?700}} | ||
- | 现在我们要做的是为硬盘指定一个名称,这样我们不必一直用地址来引用它。运行 `label` 命令获取关于如何使用标签程序的信息。我们要使用 `-a` 参数,但你也可以通过提供指向其在 `/mnt` 目录下默认挂载点的路径来给它设定标签。 | + | 现在我们要做的是为硬盘指定一个名称,这样我们不必一直用地址来引用它。运行`label`命令即可获取关于如何使用标签程序的信息。我们要使用`-a`参数,但你也可以通过提供指向其在`/mnt`目录下默认挂载点的路径来给它设定标签。 |
- | 使用所需的参数运行程序,也就是你想给硬盘取的名字。请注意屏幕截图中的 `92a` 是硬盘地址的开头。对于大部分需要地址的程序,你可以使用简写地址,只要简写地址在连接到电脑的组件中仍然唯一。 | + | 使用所需参数运行程序,参数也就是你想给硬盘取的名字。请注意屏幕截图中的`92a`是硬盘地址的开头。对于大部分需要地址的程序,你都可以使用简写地址,只要简写地址在连接到电脑的组件中仍然唯一。 |
- | 当你命名好你的硬盘后,这个名字也会显示在硬盘的提示文本中。再次运行 `df` 来确认硬盘已被命名: | + | 当你命名好你的硬盘后,这个名字也会显示在硬盘的提示文本中。再次运行`df`来确认硬盘已被命名: |
{{https://i.imgur.com/X1ws656.png?700}} | {{https://i.imgur.com/X1ws656.png?700}} | ||
- | 我们现在可以通过使用硬盘名称的方法挂载它了。输入 `mount <名称> <路径>` 来将指定标签对应的硬盘挂载到指定路径。硬盘可以被同时挂载到多个位置,因此执行此操作并不会使 `/mnt` 文件夹下的默认挂载点失效。 | + | 我们现在可以通过使用硬盘名称的方法挂载它了。输入`mount <标签名> <路径>`来将指定标签名对应的硬盘挂载到指定路径。硬盘可以被同时挂载到多个位置,因此执行此操作并不会使`/mnt`文件夹下的默认挂载点失效。 |
- | 当前状态下,电脑不会在重启时保存任何状态。这意味着如果你关闭或重启你的电脑、电脑崩溃或断电,你就必须在电脑重启后重新挂载硬盘。这很快就会让人上火,所以创建一个autorun(自动运行)脚本吧,让硬盘在插入时自动挂载。每块硬盘都可以有自己的autorun脚本脚,脚本必须被命名为 `autorun` 或 `autorun.lua`,且必须放在硬盘文件夹结构的根目录下。这个脚本会在硬盘连接到电脑时自动执行——除非你通过[[api:filesystem:zh|filesystem(文件系统) API]]禁用自动运行功能。 | + | 当前状态下,电脑不会在重启后保存任何状态。这意味着如果你关闭或重启你的电脑、电脑崩溃或断电后,你就必须重新挂载硬盘。这样的话很快就会让人厌烦,所以创建一个autorun(自动运行)脚本吧,让硬盘在插入时自动挂载。每块硬盘都可以有自己的autorun脚本脚,脚本必须被命名为`autorun`或`autorun.lua`,且必须放在硬盘文件夹结构的根目录下。这个脚本会在硬盘连接到电脑时自动执行——除非你通过[[api:filesystem:zh|filesystem(文件系统) API]]禁用自动运行功能。 |
- | 切换到你新挂载的文件夹中,执行 `edit autorun.lua`。 | + | 切换到你新挂载的文件夹中,执行`edit autorun.lua`。 |
{{https://i.imgur.com/QYgrS3z.png?700}} | {{https://i.imgur.com/QYgrS3z.png?700}} | ||
- | autorun脚本接收其所在存储介质的代理对象作为其的第一个参数,所以我们可以使用 Lua 的变长参数语法获取它。我们会将它传递到 `fs.mount()` 函数,你可以在 [[api:filesystem:zh|filesystem(文件系统) API]]中找到它的文档。 | + | autorun脚本接收其所在存储介质的代理对象作为其的第一个参数,所以我们可以使用Lua的变长参数语法获取它。我们会将它传递到`fs.mount()`函数,你可以在[[api:filesystem:zh|filesystem(文件系统) API]]中找到它的文档。 |
{{https://i.imgur.com/J5inxhI.png?700}} | {{https://i.imgur.com/J5inxhI.png?700}} | ||
- | 保存并关闭文件。在从电脑移除并重新插入硬盘后,运行 `ls`,你就会发现硬盘已经被自动挂载了。 | + | 保存并关闭文件。在从电脑移除并重新插入硬盘后,运行`ls`,你会发现硬盘已经被自动挂载了。 |
{{https://i.imgur.com/Us0kTvl.png?700}} | {{https://i.imgur.com/Us0kTvl.png?700}} |