Fs 模块概述
Fs 模块提供了全面的文件系统操作功能,包括文件读写、目录管理、路径操作和文件属性查询等。所有函数都支持家目录展开(~)和相对路径处理,提供统一的错误处理机制。
功能概览
| 功能类别 | 主要函数 | 用途 |
|---|---|---|
| 系统目录 | dirs |
获取系统标准目录 |
| 目录操作 | ls, glob, tree, mkdir, rmdir |
目录浏览和管理 |
| 文件操作 | mv, cp, rm |
文件移动、复制和删除 |
| 路径操作 | canon, join, base_name |
路径处理和解析 |
| 状态检查 | exists, is_dir, is_file |
文件系统状态查询 |
| 文件读写 | read, write, append, head, tail |
文件内容操作 |
系统目录函数
dirs - 获取系统标准目录
- 参数:无
- 返回:
Map- 包含系统目录路径的映射 - 包含目录:
home- 用户家目录config- 配置目录cache- 缓存目录data- 数据目录pic- 图片目录desk- 桌面目录docs- 文档目录down- 下载目录current- 当前工作目录
目录操作函数
ls [path] - 列出目录内容
- 参数:
path(可选):String- 目录路径,默认为当前目录
- 返回:
List[Map]- 文件信息列表 - 支持选项:
-l- 详细信息-a- 显示隐藏文件-L- 跟随符号链接-U- Unix 时间戳-k- 大小以 KB 显示-u- 显示用户信息-m- 显示权限模式-p- 显示完整路径
glob <pattern> - 模式匹配文件
- 参数:
pattern(必需):String- 文件匹配模式
- 返回:
List[String]- 匹配的文件路径列表
tree [path] - 获取目录树结构
- 参数:
path(可选):String- 目录路径,默认为当前目录
- 返回:
Map- 嵌套的目录树结构
mkdir <path> - 创建目录
- 参数:
path(必需):String- 要创建的目录路径
- 功能:递归创建目录(类似
mkdir -p)
rmdir <path> - 删除空目录
- 参数:
path(必需):String- 要删除的目录路径
- 注意:只能删除空目录
文件操作函数
mv <source> <destination> - 移动文件或目录
- 参数:
source(必需):String- 源路径destination(必需):String- 目标路径
- 功能:支持重命名和移动操作
- 特殊处理:如果目标路径以
/结尾,会将源文件移动到该目录下
cp <source> <destination> - 复制文件或目录
- 参数:
source(必需):String- 源路径destination(必需):String- 目标路径
- 功能:递归复制目录和文件
rm <path> - 删除文件或目录
- 参数:
path(必需):String- 要删除的路径
- 功能:自动判断文件或目录并执行相应删除操作
路径操作函数
canon <path> - 规范化路径
- 参数:
path(必需):String- 要规范化的路径
- 返回:
String- 规范化后的绝对路径
join <path>... - 连接路径
- 参数:
path(可变):String...- 要连接的路径组件
- 返回:
String- 连接后的路径
dir_name <path> - 提取文件路径
- 参数:
path(必需):String- 文件路径
- 返回:
String- 文件路径
base_name [split_ext?] <path> - 提取文件名
- 参数:
split_ext(可选):Boolean- 是否分离扩展名path(必需):String- 文件路径
- 返回:
String- 文件名
或List-[文件基础名,文件扩展名]
状态检查函数
exists <path> - 检查路径是否存在
- 参数:
path(必需):String- 要检查的路径
- 返回:
Boolean- 路径存在时返回 true
is_dir <path> - 检查是否为目录
- 参数:
path(必需):String- 要检查的路径
- 返回:
Boolean- 是目录时返回 true
is_file <path> - 检查是否为文件
- 参数:
path(必需):String- 要检查的路径
- 返回:
Boolean- 是文件时返回 true
文件读写函数
read <file> - 读取文件内容
- 参数:
file(必需):String- 文件路径
- 返回:
String|Bytes- 文件内容(自动检测文本或二进制) - 功能:优先尝试读取为文本,失败时读取为字节数组
write <file> <content> - 写入文件
- 参数:
file(必需):String- 文件路径content(必需):String|Bytes- 要写入的内容
- 功能:支持字符串和字节数组写入
append <file> <content> - 追加到文件
- 参数:
file(必需):String- 文件路径content(必需):String|Bytes- 要追加的内容
- 功能:在文件末尾追加内容
head [n] <file> - 读取文件前 N 行
- 参数:
n(可选):Integer- 行数,默认为 10file(必需):String- 文件路径
- 返回:
List[String]- 文件前 N 行
tail [n] <file> - 读取文件后 N 行
- 参数:
n(可选):Integer- 行数,默认为 10file(必需):String- 文件路径
- 返回:
List[String]- 文件后 N 行
使用示例
基础文件操作
# 读取文件 |
目录操作
# 列出当前目录 |
文件管理
# 复制文件 |
路径操作
# 连接路径 |
Notes
Fs 模块提供了完整的文件系统操作能力,所有路径操作都支持家目录展开(~)和相对路径处理。文件读写函数能够自动处理文本和二进制内容,提供了灵活的文件操作接口。参数类型说明中,<> 表示必需参数,[] 表示可选参数,... 表示可变参数。