zur Übersicht nächste Seite

Ordner-Struktur übertragen

Die Ausführungen der vorherigen Seite über 
Programmfenster Album
werden hier weitergeführt.
Generell gilt bei den weißen Textstellen auf dieser Seite: Man fügt die Zeichenfolge aus dem weißen Feld bei dem blinkenden Cursor des Terminals ein - dann drückt man die Eingabetaste. 
Oder man fügt die Zeichenfolge aus dem weißen Feld bei dem blinkenden Cursor des Editors ein.  
Dann drückt man zum Abspeichern gleichzeitig Strg und O 
dann drückt man die Eingabetaste um den Dateinamen zu bestätigen 
dann drückt man zum Verlassen des Editors gleichzeitig Strg und X.

Es kann sein daß man viele Ordner hat (Kunden-Ordner, Projekt-Ordner, ...) und man immer wieder neue hinzufügen will, die die gleiche Unterordner-Struktur aufweisen sollen. Z.B. Unterordner mit Namen 
Eingang (mit weiteren Unterordnern: Anfrage, Bilder, Videos,...)
Angebot (mit weiteren Unterordnern: Internet-Seiten, Plan-Zeichnungen,...)
Service (mit weiteren Unterordnern: Firma-A, Firma-B,...)
Druckaufträge
Rechnungen

Hier wird ein nautilus-script geschrieben, das diese Ordnerstruktur erzeugt.
Dabei wird diese Ordnerstruktur als Muster zunächst in einem versteckten Ordner hinterlegt. Man erzeugt einen versteckten Ordner
mkdir ~/.mein-Ordner-Projekt
Dann kann man dort einen Ordner mit Namen
Muster-Ordner
hineinkopieren (siehe dazu weiter unten). Der Vorteil dieses Vorgehens zeigt sich bei Änderungen des Muster-Ordners. Dieser kann dort beliebig verändert werden ohne daß dazu das script geändert zu werden braucht.
Dann schreibt man das script
nano ~/.local/share/nautilus/scripts/Muster-Ordner.sh
In den Editor eingeben
#!/bin/bash

szName=$(zenity --entry --ok-label "Ordner erstellen" --title "Name festlegen" --text " Eingabe eines Namens \n für den Projekt-Ordner" --entry-text "" )

if [ $? -eq 1 ]; then
exit
fi

echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | head -n 1 | while read file; do

if [ -d "$file" ]; then D="$file"

else D=$(dirname "$file")

fi

if [ -d "$D/$szName" ]; then
zenity --info --text " $szName \n Dieser Ordnername existiert bereits"

else
cp -r ~/.mein-Ordner-Projekt/Muster-Ordner "$D/$szName"

fi

done
Nun muß man die Datei ausführbar machen
chmod +x ~/.local/share/nautilus/scripts/Muster-Ordner.sh
Durch Markieren eines Ordners und Rechts-Klicken auf das script 
Muster-Ordner.sh
erzeugt man die Ordner-Struktur in dem markierten Ordner. 
Durch Markieren einer Datei und Rechts-Klicken auf das script 
Muster-Ordner.sh
erzeugt man die Ordner-Struktur in dem Ordner in dem diese Datei liegt.






Hat man die gewünschte Ordnerstruktur bereits vorliegen, z.B. in ~/Bla
(auch wenn dort Dateien abgelegt sind), so kann diese gesamte Ordnerstruktur OHNE die vorhandenen Dateien in einen neuen Unterordner z.B. 
~/.mein-Ordner-Projekt/Muster-Ordner
übertragen werden durch
cd ~/Bla && find . -type d | cpio -pd ~/.mein-Ordner-Projekt/Muster-Ordner
Bei dem weiteren Vorgehen wird das Programm
tree
benutzt mit dem man im Terminal eine Baumstruktur sichtbar machen kann 
was den Überblick wesentlich erhöht. Man kann dies über Synaptic installieren.

Zunächst kann man sich die Ordnerstruktur von ~/Bla anschauen.
tree -d ~/Bla
Durch den Zusatz -d werden nur die Ordner angezeigt.

Man kann eine "lineare" Reihe von Unterordnern erzeugen durch
mkdir -p ~/Bla/Aa/Ab/Ac/Ad/Ae
Man kann eine "parallele" Reihe von Unterordnern erzeugen durch
mkdir -p ~/Bla/{B1,B2,B3,B4,B5}
mkdir -p ~/Bla/Da/Db/Dc/{Aa1/{Ar1,Ar2},Aa2/{At1,At2}}
Man kann sich die Ordnerstruktur von ~/Bla erneut anschauen durch
tree -d ~/Bla

Man kann die Ausgabe in eine Datei schreiben lassen
tree -d ~/Bla > ~/Bla-Baum.txt
Man kann die Ausgabe über einen Drucker ausdrucken.
tree -d ~/Bla | lpr
Man kann die Datei   ~/Bla-Baum.txt   mit einem Drucker ausdrucken durch
lp ~/Bla-Baum.txt
Man kann sich mit
tree -a ~/Bla
auch alle Dateien und Ordner anzeigen lassen.

zur Übersicht nächste Seite

Datenschutzerklärung
Impressum