Fs.lua

来自 阿尔派 Linux

文件系统特定函数


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