Verzeichnis X mit "ln -s" komplett in verz Y abbilden (rekursiv)

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von sparky, 16.01.2004.

  1. sparky

    sparky Mitglied

    Dabei seit:
    16.01.2004
    Beiträge:
    47
    Zustimmungen:
    0
    Hiho,
    und zwar wollt ich mal fragen ob das schon mal jemand gemacht hat. ich würde gern alle Dateien inkl. Unterverzeichnisse & deren Dateien mit Sym-Links in einem anderen verzeichnis abbilden.
    Allerdings bin ich noch nicht so erfahren in Bash-Scripting und bevor ich das Rad ewig neu erfinde, wollt ich einfach mal fragen ob das hier schonmal jemand gemacht hat und eventuell bereitstellen würde :)

    danke schon mal
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. Cyber

    Cyber .:DISTORTED:.

    Dabei seit:
    16.05.2003
    Beiträge:
    999
    Zustimmungen:
    0
    Ort:
    D -> BW -> Karlsruhe
    Also jetzt mal so ohne direkt ein Script zu posten:

    cd SOURCE_DIR
    tar cvf TARGET_DIR/inhalt.tar . #(Der punkt ist wichtig!)
    cd TARGET_DIR
    tar xvf inhalt.tar
     
  4. sparky

    sparky Mitglied

    Dabei seit:
    16.01.2004
    Beiträge:
    47
    Zustimmungen:
    0
    hm dann hab ich doch aber quasi die Files nur copiert oder nicht ? O_o
     
  5. Cyber

    Cyber .:DISTORTED:.

    Dabei seit:
    16.05.2003
    Beiträge:
    999
    Zustimmungen:
    0
    Ort:
    D -> BW -> Karlsruhe
    Ja das willst doch, oder ?
     
  6. sparky

    sparky Mitglied

    Dabei seit:
    16.01.2004
    Beiträge:
    47
    Zustimmungen:
    0
    nein das wollt ich eben nicht :)
    ich will nur Symlinks von allen original Files :)
     
  7. Cyber

    Cyber .:DISTORTED:.

    Dabei seit:
    16.05.2003
    Beiträge:
    999
    Zustimmungen:
    0
    Ort:
    D -> BW -> Karlsruhe
    Hatte sich anders gelesen, sorry.
     
  8. sparky

    sparky Mitglied

    Dabei seit:
    16.01.2004
    Beiträge:
    47
    Zustimmungen:
    0
    np
    also mit "ls -R" bekomm ich ja quasi alle files, nur wie bekomm ich das in nen Array oderso das ich dann durchlaufen kann um mein "ln -s" zu machen ? :|
     
  9. Cyber

    Cyber .:DISTORTED:.

    Dabei seit:
    16.05.2003
    Beiträge:
    999
    Zustimmungen:
    0
    Ort:
    D -> BW -> Karlsruhe
    Hmm, ich eier zwar grad noch auf ner Windows-Kiste rum und kanns net probieren, müsste aber in etwa so sein:

    for i in `ls -R` do
    Mach was mit ln -s oder so, Wert steht in $i
    done

    Mal so auf die schnelle.
     
  10. sparky

    sparky Mitglied

    Dabei seit:
    16.01.2004
    Beiträge:
    47
    Zustimmungen:
    0
    hi, also ich bin jetzt schonmal so weit :)
    das Problem ist, wie mach ich das mit der Rekursion ?

    Code:
    #!/bin/bash
    SRC_PATH=/home/user/dir
    DEST_PATH=$(pwd)
    cd $SRC_PATH
    for i in `ls -R` ; do
          if [ -f $i ] ; then
                    ln -s --target-directory=$DEST_PATH $SRC_PATH/$i $i
            fi
    done
    
     
  11. rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
    Nur mal so eine Idee, ungetestet !!!

    Code:
     
    #!/bin/bash
    
    cd quelle/
    
    for i in $(find . -type d |cut -b 3-)
    do
    	mkdir -p ../ziel/$i
    done
    
    
    for i in $(find . -type f |cut -b 3-)
    do
    	ln -s $i ../ziel/$i
    done
    
     
  12. sparky

    sparky Mitglied

    Dabei seit:
    16.01.2004
    Beiträge:
    47
    Zustimmungen:
    0
    hey geil, rup, danke es geht jetzt!

    habs noch leicht modifiziert, aber dafür haben meine Kenntnisse gereicht ;)
     
  13. Cyber

    Cyber .:DISTORTED:.

    Dabei seit:
    16.05.2003
    Beiträge:
    999
    Zustimmungen:
    0
    Ort:
    D -> BW -> Karlsruhe
    Ach schei...,
    ich bastel hier grad dran rum, ärgere mich über den sed und was sehe ich hier?

    Mal wieder gescriptet, treu dem Motto "Warum einfach wenns auch umständlich geht.".

    Naja, wenigstens hat sichs ja jetzt erledigt.
     
  14. oenone

    oenone Freier Programmierer[Mod]

    Dabei seit:
    22.08.2002
    Beiträge:
    599
    Zustimmungen:
    0
    Ort:
    Mannheim
    warum benutzt ihr nicht einfach lndir ?

    ist viel einfacher und du hast die komplette verzeichnisstruktur im zielverzeichnis und alle dateien hineingelinkt.

    auf bald
    oenone
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. sparky

    sparky Mitglied

    Dabei seit:
    16.01.2004
    Beiträge:
    47
    Zustimmungen:
    0
    hm es wird ja immer noch einfacher o_O
    aber lndir ist auch gleichzeitig noch die schnellste Lösung ;)
     
  17. Cyber

    Cyber .:DISTORTED:.

    Dabei seit:
    16.05.2003
    Beiträge:
    999
    Zustimmungen:
    0
    Ort:
    D -> BW -> Karlsruhe
    Das wiederum ist mir ganz neu. Naja man lernt nie aus.
     
Thema:

Verzeichnis X mit "ln -s" komplett in verz Y abbilden (rekursiv)

Die Seite wird geladen...

Verzeichnis X mit "ln -s" komplett in verz Y abbilden (rekursiv) - Ähnliche Themen

  1. Verschieben des Steam-Datenverzeichnisses kann zu komplettem Datenverlust führen

    Verschieben des Steam-Datenverzeichnisses kann zu komplettem Datenverlust führen: Benutzer, die das Steam-Datenverzeichnis an eine andere Stelle verschoben haben, laufen aufgrund eines Programmierfehlers Gefahr, alle ihre Daten...
  2. wget: komplettes verzeichnis ohne -r

    wget: komplettes verzeichnis ohne -r: hallo. möchte mit wget nen ganzes verzeichnis (besser gesagt dessen inhalt) runterladen. -r kennt er nicht und http://blahblah.de/test/* gibt 404...
  3. Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen

    Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen: Hallo, ich habe ein Verzeichnis, darin enthalten sind mehrere Dateien. Nun möchte ich alle Dateien (Parameter $1) gegen eine konstante Datei...
  4. Home Verzeichnis ändern

    Home Verzeichnis ändern: Hallo Wollte nicht, dass mein Sohn (16) in die veschränkte WIN Welt hinein wächst und habe für Ihn Linux Mint auf seinem LAPTOP installiert. Er...
  5. Cryptomator: Transparente Verschlüsselung für Cloud-Verzeichnisse

    Cryptomator: Transparente Verschlüsselung für Cloud-Verzeichnisse: Das freie Programm Cryptomator, dessen Version 1.0 kurz bevorsteht, soll für eine einfache, sichere und transparente Verschlüsselung von...