Files
MikroTik RouterOS 中的 File 菜单允许管理用户空间文件,包括创建/编辑/删除文件和目录、查看 .npk 软件包的详细信息,以及将关键文件存储在 'flash' 目录中以便在重启后保留。它支持最大 60KB 的文件大小,并针对 RAM 磁盘行为、回写缓存和压缩文件存储提供警告。
文件
File 菜单显示路由器上的所有用户空间文件。您可以创建新文件或目录、编辑文件内容,或删除文件或目录。如果上传了 RouterOS ".npk" 软件包,File 菜单还会显示软件包特定的信息,例如架构、构建日期和时间等。
[admin@MikroTik] > /file/print detail
0 name=wireless-7.16.1-arm.npk type=package size=1924.1KiB last-modified=2024-11-25 13:14:28 package-name="wireless" package-version="7.16.1" package-build-time=2024-10-10 14:03:32
package-architecture="arm"
1 name=routeros-7.16.1-arm.npk type=package size=11.1MiB last-modified=2024-11-25 13:14:34 package-name="system" package-version="7.16.1" package-build-time=2024-10-10 14:03:32
package-architecture="arm"
2 name=flash type=disk last-modified=2024-11-25 13:12:10
3 name=flash/skins type=directory last-modified=2024-11-25 13:10:52
4 name=flash/skins/newskin.json type=.json file size=0 last-modified=2024-11-25 13:10:52
5 name=flash/filename type=file size=0 last-modified=2024-11-25 13:11:58
6 name=flash/directory_name type=directory last-modified=2024-11-25 13:12:10
所有参数记录在 /file CLI 参考中。
存储详情
如果设备的文件列表中有一个名为 "flash" 的目录,那么您希望系统重启/断电循环后保留的文件必须存储在其中,因为其外部的任何内容都保存在 RAM 磁盘中,重启后会丢失。这不包括 .npk 升级文件,因为升级过程会在系统丢弃 RAM 驱动器内容之前应用它们。
对于带有 NAND 闪存的多核设备(例如 CCR 系列路由器、RB4011iGS),RouterOS 使用回写缓存,会将文件更改缓冲到 RAM 内存中,而不是立即写入闪存介质。文件更改将在绝对必要时才存储到闪存。写入可能会延迟最多 40 秒。这有助于减少 CPU 周期,从而获得更好的性能。但是,当设备遭遇突然断电时,这可能导致空文件或零长度文件,因为文件没有完全保存到闪存。
在某些情况下,RouterOS 可能会压缩文件以占用更少的磁盘空间。您仍会在 /file 菜单中看到原始文件大小。但是,在 /system/resource 菜单中,您可能会注意到可用空间比预期的更多。计算 free-hdd-space 值时使用的是压缩后的文件大小。
文件操作
创建新文件或目录
要创建新文件或目录,使用 /file/add 命令:
[admin@MikroTik] > /file/add name=/flash/filename type=file
[admin@MikroTik] > file add name=/flash/directory_name type=directory
获取或读取文件内容
使用 get 命令,只能从最大 60 KB 的文件中检索文件内容。若要访问更大文件的内容,请使用 /file/read 命令。结果以数组形式返回。
例如:
[admin@MikroTik] > :put [/file/get text.txt contents]
123456
[admin@MikroTik] > /file/read file=text.txt offset=2 chunk-size=3
data: 345
查看文件头部或尾部
使用 /file/head 和 /file/tail 命令,您可以输出文件内容的前 n 行或后 n 行。
例如:
/file/head test.txt n=3 numbered
1: 1
2: 2
3: 3
复制文件或目录
使用 /file/copy 命令克隆文件或目录。
例如:
/file/copy test1.txt name=dir1/test1copy.txt
/file/copy dir1 name=dir2
/file/print
Columns: NAME, TYPE, SIZE, LAST-MODIFIED
# NAME TYPE SIZE LAST-MODIFIED
0 dir1 directory 2026-03-17 09:52:08
1 dir2 directory 2026-03-17 09:52:14
2 test1.txt .txt file 0 2026-03-17 09:51:43
3 dir1/test1copy.txt .txt file 0 2026-03-17 09:52:08
4 dir2/test1copy.txt .txt file 0 2026-03-17 09:52:14