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

S

sparky

Mitglied
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
 
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
 
hm dann hab ich doch aber quasi die Files nur copiert oder nicht ? O_o
 
nein das wollt ich eben nicht :)
ich will nur Symlinks von allen original Files :)
 
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.

Hatte sich anders gelesen, sorry.
 
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 ? :|
 
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.
 
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
 
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
 
hey geil, rup, danke es geht jetzt!

habs noch leicht modifiziert, aber dafür haben meine Kenntnisse gereicht ;)
 
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.
 
warum benutzt ihr nicht einfach lndir ?

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

auf bald
oenone
 
hm es wird ja immer noch einfacher o_O
aber lndir ist auch gleichzeitig noch die schnellste Lösung ;)
 
Das wiederum ist mir ganz neu. Naja man lernt nie aus.
 

Ähnliche Themen

Server-Monitoring mit RRDTool

[HowTo] TeamSpeak 2 - RC2 - Server (Deutsch/Englisch)

Zurück
Oben