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