Fs.lua
文件系统特定函数
is_dir
输入
此库函数需要以下输入/参数。
- 目录路径
- 示例:/var/log/snort
输出
此库函数传递以下输出/参数。
- nil 或 “directory”
- 如果输入字符串是现有目录,则输出为 “directory”(非 nil)
代码示例
-- Include/Call for this library require("fs") -- Check if url is a folder liboutput = fs.is_dir("/var/log/snort")
如果目录存在,‘liboutput’ 将包含字符串
directory
如果目录不存在,‘liboutput’ 将包含 nil(空)。
is_file
输入
此库函数需要以下输入/参数。
- 文件路径
- 示例:/var/log/messages
输出
此库函数传递以下输出/参数。
- nil 或 “file”
- 如果输入字符串是现有文件,则输出为 “file”(非 nil)
代码示例
-- Include/Call for this library require("fs") -- Check if url is a file liboutput = fs.is_file("/var/log/messages")
如果文件存在,‘liboutput’ 将包含字符串
file
如果文件不存在,‘liboutput’ 将包含 nil(空)。
is_link
输入
此库函数需要以下输入/参数。
- 链接路径
- 示例:/etc/rcL.d/S50sshd
输出
此库函数传递以下输出/参数。
- nil 或 “file”
- 如果输入字符串是现有文件,则输出为 “file”(非 nil)
代码示例
-- Include/Call for this library require("fs") -- Check if url is a file liboutput = fs.is_link("/etc/rcL.d/S50sshd")
如果文件存在,‘liboutput’ 将包含字符串
file
如果文件不存在,‘liboutput’ 将包含 nil(空)。
read_file / read_file_as_array
输入
此库函数需要以下输入/参数。
- 文件路径
- 示例:/var/log/messages
输出
此库函数传递以下输出/参数。
- 文件内容
- 文件内容以字符串形式呈现(如果使用 ‘read_file_as_array’,则输出为表格)
代码示例
-- Include/Call for this library require("fs") -- Get filecontent liboutput = fs.read_file("/var/log/messages")
‘liboutput’ 可能包含类似如下内容
Nov 6 13:17:01 inspiron /USR/SBIN/CRON[21751]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Nov 6 13:43:31 inspiron -- MARK --
代码示例 (read_file_as_array)
如果使用 ‘read_file_as_array’,您可以执行类似如下操作来查看输出
for a,b in ipairs(liboutput) do print(a,b) end
输出将如下所示
1 Nov 6 13:17:01 inspiron /USR/SBIN/CRON[21751]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) 2 Nov 6 13:43:31 inspiron -- MARK --
write_file
输入
此库函数需要以下输入/参数。
- 文件路径
- 示例:/root/mynotes
- 字符串
- 应写入文件的内容
输出
此库函数传递以下输出/参数。
- 输出已写入文件
- 输入字符串的内容已写入文件。
- 数据不会追加到文件
代码示例
-- Include/Call for this library require("fs") -- Write to file fs.write_file("/var/log/messages", "Hello World!")
find
允许您搜索与 filespec 匹配的目录条目。
可以比作 ‘find / -type d | grep tmp’ *(不确定)*
输入
此库函数需要以下输入/参数。
- 搜索字符串
- 此字符串是我们在目录名称中搜索的内容。
- 路径
- 此路径是我们开始搜索的位置
- 搜索是递归的 *(不确定)*
输出
此库函数传递以下输出/参数。
- 搜索结果
- 搜索结果以表格(数组)形式呈现
代码示例
-- Include/Call for this library require("fs") -- Search for dir liboutput = fs.find("tmp", "/")
您可以执行类似如下操作来查看输出
for a,b in ipairs(liboutput) do print(a,b) end
输出将如下所示
1 /usr/tmp 2 /usr/tmp/apk_add