[gelöst] Grafisches DirectoryListing (ala TREE) unter ENIGMA2 mgl.?

  • Hi,
    ich habe an der Dream8000 mehrere USB-Festplatten(NAS ist ebenfalls angemounted) hängen und im Laufe der Zeit, auch unter Verwendung vieler "Symbolik-Links", ein ziemlich umfangreiches, aber verständliches Filesystem für alle möglichen Medien-Dateien geschaffen. Als Einstiegspunkt für mein "spez. Directory" habe ich /media/hdd gewählt. Verwendet man bspw. den "Favoriten"-Modus des GP3-Dateimanageres als Startmodus, gelingt es durch die logische Verteilung/Benennung der Verzeichnisse auch meiner Frau sehr einfach, das gewünschte Medium innerhalb kurzer Zeit in den Terrabyte-Tiefen zu finden bzw. abzuspielen...


    Da die Symbolik Links direkt auf den jeweiligen Datenträgern angelegt werden, muss man diese nach ggf. HDD-Defekt manuell wieder erstellen. Es wäre für mich hilfreich, wenn ich mein Filesystem individuell komplett listen könnte.
    Wünschenswert wäre evtl. auch eine grafische FS-Darstellung, ähnlich der alten "TREE"-DOS-Variante:


    http://www.i8086.de/dos-befehle/tree.html
    bzw.
    http://mschettler.com/tree-command-on-osx-10-8/


    Ich möchte nur Verzeichnisse und S-Links, ab bspw. /media/hdd/Filme angezeigt bekommen. Mit "ls" bzw. "find" bin ich noch nicht zu einem zufriedenstellendem Ergebnis gekommen...
    -entweder wurden Verzeichnisse + Dateien, aber keine Links angezeigt oder aber
    -es wurde nur angezeigt, was sich direkt auf der internen Platte (/media/hdd) befindet...


    1. Habt Ihr evtl. einen TIP?
    2. Gibt es eine "TREE"-Implemetation für Enigma2, für das grafische Directory listen? Unter Linux(Ubuntu) gibt es wohl eine Möglichkeit...


    Danke arcade

    • Offizieller Beitrag

    Hab dir mal tree compiliert für die Dreambox.


    Einrichten kannst du es so :winking_face: => Klick


    Ausführen geht so z.B. im entsprechenden Verzeichnis, oder dann den Pfad angeben.

    Code
    tree -a -C


    Oder halt die Verschiedenen Optionen anzeigen und entsprechend eingeben:

    Code
    tree --help
  • wowowow...


    Ich bin schwer beeindruckt.. Genau das ist, was ich schon ewig auf der Dream gesucht habe... Vielen Dank mfgeg!!!!


    Ich finde dieser Befehl sollte als fester Bestandteil ins "Enigma2" integriert werden. Er ergänzt Filesystemkommandos wie "ls" bzw. "find" optimal, und ist sehr leistungsfähig...


    Für meine Zwecke reicht das Kommando:
    root@dm8000:/media/hdd/Filme# tree -d -l > /tmp/filesystem


    Alle Directorys und Links meiner 6HDD werden gelistet bzw. in die Datei filesystem geschrieben... Das dauert ein kurze Weile, weil sich die Platten im Standby befinden.
    Aber es fkt. tadellos:


    root@dm8000:/media/hdd/Filme# more /tmp/filesystem
    .
    |-- 1.HD_Medien -> /media/hddext1/Filme/HD
    | |-- 3D -> /media/hddext5/Filme/HD/3D-Filme/
    | | |-- Abenteuer


    u.s.w.


    Jeder kann sich die Hilfe wie von Dir beschrieben ansehen, aber ich finde, um die Leistungsfähigkeit des Kommandos zu erkennen, hänge ich die Ausgabe hier einfach mal an:


    root@dm8000:/media/hdd/Filme# tree --help
    usage: tree [-acdfghilnpqrstuvxACDFQNSUX] [-H baseHREF] [-T title ] [-L level [-R]]
    [-P pattern] [-I pattern] [-o filename] [--version] [--help] [--inodes]
    [--device] [--noreport] [--nolinks] [--dirsfirst] [--charset charset]
    [--filelimit[=]#] [--si] [--timefmt[=]<f>] [<directory list>]
    ------- Listing options -------
    -a All files are listed.
    -d List directories only.
    -l Follow symbolic links like directories.
    -f Print the full path prefix for each file.
    -x Stay on current filesystem only.
    -L level Descend only level directories deep.
    -R Rerun tree when max dir level reached.
    -P pattern List only those files that match the pattern given.
    -I pattern Do not list files that match the given pattern.
    --noreport Turn off file/directory count at end of tree listing.
    --charset X Use charset X for terminal/HTML and indentation line output.
    --filelimit # Do not descend dirs with more than # files in them.
    --timefmt <f> Print and format time according to the format <f>.
    -o filename Output to file instead of stdout.
    -------- File options ---------
    -q Print non-printable characters as '?'.
    -N Print non-printable characters as is.
    -Q Quote filenames with double quotes.
    -p Print the protections for each file.
    -u Displays file owner or UID number.
    -g Displays file group owner or GID number.
    -s Print the size in bytes of each file.
    -h Print the size in a more human readable way.
    --si Like -h, but use in SI units (powers of 1000).
    -D Print the date of last modification or (-c) status change.
    -F Appends '/', '=', '*', '@', '|' or '>' as per ls -F.
    --inodes Print inode number of each file.
    --device Print device ID number to which each file belongs.
    ------- Sorting options -------
    -v Sort files alphanumerically by version.
    -r Sort files in reverse alphanumeric order.
    -t Sort files by last modification time.
    -c Sort files by last status change time.
    -U Leave files unsorted.
    --dirsfirst List directories before files (-U disables).
    ------- Graphics options ------
    -i Don't print indentation lines.
    -A Print ANSI lines graphic indentation lines.
    -S Print with ASCII graphics indentation lines.
    -n Turn colorization off always (-C overrides).
    -C Turn colorization on always.
    ------- XML/HTML options -------
    -X Prints out an XML representation of the tree.
    -H baseHREF Prints out HTML format with baseHREF as top directory.
    -T string Replace the default HTML title and H1 header with string.
    --nolinks Turn off hyperlinks in HTML output.
    ---- Miscellaneous options ----
    --version Print version and exit.
    --help Print usage and this help message and exit.



    Nochmals sehr Vielen Dank!!!
    arcade

  • /besserwisser_mode_on :grinning_squinting_face:


    hatt aber nichts mit Enigma zu tun, eher mit die busybox :winking_face:

  • Bei mir funktioniert obige Datei nicht.


    Folgendes tut es auch:


    Von hier den Quellcode (Python-Script) kopieren, in eine leere Datei namens tree. Beim Speichern auf die Unix-Linebreaks achten.


    tree auf die Box kopieren, nach /usr/bin


    tree ausführbar machen: chmod 755 /usr/bin/tree

    Anschließend könnt ihr in das Verzeichnis eurer Wahl gehen: cd /hdd/movie/Was/weiss/ich


    dort tree eingeben


    Wenn folgender Fehler kommt: -bash: /usr/bin/tree: /usr/bin/python^M: bad interpreter: No such file or directory


    Folgendes eingeben, um die Linebreaks zu korrigieren: dos2unix /usr/bin/tree