Fs.lua

From Alpine Linux
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Filesystem Specific functions


is_dir

INPUT:
This library function required the following inputs/parameters.

  • Path to directory
    • Example: /var/log/snort

OUTPUT:
This library function deliverers the following output/parameters.

  • nil or "directory"
    • If inputstring is a existing directory, the output is "directory" (not nil)

CODING EXAMPLE:

-- Include/Call for this library
require("fs")
-- Check if url is a folder
liboutput = fs.is_dir("/var/log/snort")

If directory exist 'liboutput' would contain string:

directory

In directory is missing 'liboutput' would contain nil (nothing).

is_file

INPUT:
This library function required the following inputs/parameters.

  • Path to file
    • Example: /var/log/messages

OUTPUT:
This library function deliverers the following output/parameters.

  • nil or "file"
    • If inputstring is a existing file, the output is "file" (not nil)

CODING EXAMPLE:

-- Include/Call for this library
require("fs")
-- Check if url is a file
liboutput = fs.is_file("/var/log/messages")

If file exist 'liboutput' would contain string:

file

In file is missing 'liboutput' would contain nil (nothing).


is_link

INPUT:
This library function required the following inputs/parameters.

  • Path to link
    • Example: /etc/rcL.d/S50sshd

OUTPUT:
This library function deliverers the following output/parameters.

  • nil or "file"
    • If inputstring is a existing file, the output is "file" (not nil)

CODING EXAMPLE:

-- Include/Call for this library
require("fs")
-- Check if url is a file
liboutput = fs.is_link("/etc/rcL.d/S50sshd")

If file exist 'liboutput' would contain string:

file

In file is missing 'liboutput' would contain nil (nothing).

read_file / read_file_as_array

INPUT:
This library function required the following inputs/parameters.

  • Path to file
    • Example: /var/log/messages

OUTPUT:
This library function deliverers the following output/parameters.

  • Filecontent
    • The filecontent is presented as a string (output comes as a table if 'read_file_as_array' is used)

CODING EXAMPLE:

-- Include/Call for this library
require("fs")
-- Get filecontent
liboutput = fs.read_file("/var/log/messages")

'liboutput' could contain something like:

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 --

CODING EXAMPLE (read_file_as_array):
If 'read_file_as_array' is used, you could do something like this see the output:

for a,b in ipairs(liboutput) do print(a,b) end

The output would look something like:

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

INPUT:
This library function required the following inputs/parameters.

  • Path to file
    • Example: /root/mynotes
  • String
    • Content that should be written to file

OUTPUT:
This library function deliverers the following output/parameters.

  • Output is written to file
    • The content of the inputstring is written to the file.
    • Data is not appended to file

CODING EXAMPLE:

-- Include/Call for this library
require("fs")
-- Write to file
fs.write_file("/var/log/messages", "Hello World!")

find

Lets you search for dir entries matching filespec.
Could be compared to 'find / -type d | grep tmp' (not sure)
INPUT:
This library function required the following inputs/parameters.

  • SearchString
    • This string is what we are searching for in the dirnames.
  • Path
    • This path is where we start searching
    • Search is recursive (not sure)

OUTPUT:
This library function deliverers the following output/parameters.

  • SearchResult
    • The SearchResult as a table (array)

CODING EXAMPLE:

-- Include/Call for this library
require("fs")
-- Search for dir
liboutput = fs.find("tmp", "/") 

You could do something like this see the output:

for a,b in ipairs(liboutput) do print(a,b) end

The output would look something like:

1 /usr/tmp
2 /usr/tmp/apk_add