Menu

Tree [cb6d18] master /
 History

HTTPS access


File Date Author Commit
 .gitignore 2009-06-06 Vitaly "_Vi" Shukela Vitaly "_Vi" Shukela [71821e] Changed default location of deb file
 COPYING 2008-10-18 Vitaly "_Vi" Shukela Vitaly "_Vi" Shukela [ad6127] Initial import
 EXAMPLE 2008-10-18 Vitaly "_Vi" Shukela Vitaly "_Vi" Shukela [ad6127] Initial import
 Makefile 2009-06-07 Vitaly "_Vi" Shukela Vitaly "_Vi" Shukela [2c3dfc] Removed .git directory from dist target
 README 2008-10-18 Vitaly "_Vi" Shukela Vitaly "_Vi" Shukela [ad6127] Initial import
 TODO 2008-10-18 Vitaly "_Vi" Shukela Vitaly "_Vi" Shukela [8ae5c8] Implemented --help and --version, opted -n option
 VERSION 2009-06-09 Vitaly "_Vi" Shukela Vitaly "_Vi" Shukela [2de00e] Implemented directory removal
 control 2009-06-09 Vitaly "_Vi" Shukela Vitaly "_Vi" Shukela [bc8101] Updated deb control file
 listonly.c 2008-10-18 Vitaly "_Vi" Shukela Vitaly "_Vi" Shukela [ad6127] Initial import
 lsfs 2009-09-05 Vitaly "_Vi" Shukela Vitaly "_Vi" Shukela [cb6d18] Fixed script header
 lsfs-driver.cpp 2009-06-09 Vitaly "_Vi" Shukela Vitaly "_Vi" Shukela [2de00e] Implemented directory removal
 lsprepare 2009-06-09 Vitaly "_Vi" Shukela Vitaly "_Vi" Shukela [da7f78] lsprepare command-line argument parsing fix

Read Me

lsfs -- Turn "ls -lR" output to explorable filesystem

Usage: ls -lR | ./lsprepare | ./lsfs mountpoint

ls some_directory -lR | ./lsprepare | ./lsfs mountpoint   # This don"\t work


lsprepare is a Perl script that converts things like "-rw-r--r-- 1 vi vi 1230489 2008-07-23 18:15 SoB.txt" to easily-parsable for lsfs format;

lsfs first reads output of lsprepare to memory, then mounts FUSE filesystem with listed files.

You may retrieve this listing from public FTP server:
vi@vi-notebook:~/code/lsfs$ echo -e 'ftp\npassive\nls -R' | ftp 127.0.0.1 | ./lsprepare -i 3 > 127.0.0.1.lsfs
vi@vi-notebook:~/code/lsfs$ mkdir -p qqq && ./lsfs qqq < 127.0.0.1.lsfs
Unknown line: "Name (127.0.0.1:vi): Passive mode on.
" in directory ""
vi@vi-notebook:~/code/lsfs$ # Access files list of ftp://127.0.0.1/ in ./qqq direcctory
vi@vi-notebook:~/code/lsfs$ fusermount -u qqq


lsprepare options:
-i number -- number of datetime fields to ignore (usually 2 or 3; field is \S+\s+)
-c        -- interpret listing as 'ls -lR --quoting-style=c' output

lsfs options:
Only ordinary FUSE options, like '-o nonempty'.

Annotated example of lsfs input:
(see EXAMPLE)
Usage: mkdir test && cat EXAMPLE | ./lsfs test

lsfs support date records, but lsprepare not, it just ignores date fields.

Symbolic links are supported.
File reading is supported (if content is not provided, which is not the case of lsprepare output).
Any kind of writing is not supported.

Contact: _vi@list.ru, _Vi@jabnet.org, 369291307@ICQ, _Vi@irc.tut.by
Any messages (except of spam), including just simple "Hello, lsfs works" are appreciated.