Fs.lua
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 --
dostounix
INPUT:
This library function required the following inputs/parameters.
- file contents
- Example: c = file:read("*a")
- String with EOL
OUTPUT:
This library function deliverers the following output/parameters.
- Output is returned minus the \r characters
CODING EXAMPLE:
-- Include/Call for this library require("fs") -- file test.txt is from dos/windows require "fs" f = io.open("test.txt") c = f:read("*a") file = fs.dostounix(c) --file now contains the contents of test.txt without the \r char
remove_blanks_comments
INPUT:
This library function required the following inputs/parameters.
- Path
- Example: /root/mynotes
OUTPUT:
This library function deliverers the following output/parameters.
- Returns a table to iterate over minus the blank and commented lines
CODING EXAMPLE:
-- Include/Call for this library require("fs") t = fs.remove_blanks_comments("/etc/shorewall/rules") -- t is a table with only pertinent lines
search_replace
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