Forum: PC Hard- und Software Linux: rekursiv Links anlegen


von Dennis S. (eltio)


Lesenswert?

Folgende Situation: ich habe einen Ordner mehrere hundert Artikel, 
Paper, Bücher usw. die ich nach und nach lese. Sortiert sind diese nach 
Kategorien durch eine ganze Reihe von Unterordnern. Nach dem Lesen 
lösche ich sie nicht sonder behalte sie als "KnowHow-Archiv".
1
Artikel
2
-- EDV
3
---- Datenbanken
4
---- Programmiersprachen
5
-- Geschichte
6
-- Psychologie
7
...

Damit ich keine Liste führen muss, was ich schon gelesen habe und was 
nicht habe ich eine Kopie des gesamten Artikel-Ordners auf dem Desktop 
und lösche die entsprechenden Dateien aus der Kopie --> denkbar 
ineffizient und reine Platzverschwendung.

Frage: wie kann ich eine rekursive Verlinkung auf alle Dateien auf dem 
Desktop anlegen, so dass ich nach dem Lesen lediglich die Links lösche 
und nicht die Originaldateien?

Viele Grüße

von g457 (Gast)


Lesenswert?

> Frage: wie kann ich eine rekursive Verlinkung auf alle Dateien auf dem
> Desktop anlegen, so dass ich nach dem Lesen lediglich die Links lösche
> und nicht die Originaldateien?

cp -rs

Rest siehe manpage.

von Joachim S. (oyo)


Lesenswert?

Eine andere Möglichkeit wäre:
In das Verzeichnis gehen, in dem die ganzen Links angelegt werden 
sollen, dann folgenden Befehl nutzen:
1
find <Pfad zum Verzeichnis, unterhalb dessen sämtliche Dokumente liegen> -type f -print0 | xargs -0 -r -L 1 ln -s

Ansonsten kam mir eben noch so ein Gedanke, nämlich dass es evtl. Sinn 
machen könnte, das Ganze grundsätzlich leicht anders zu organisieren:
Ein "Archiv" oder "Library"-Ordner, in dem sämtliche Dokumente quasi 
komplett unsortiert als normale Dateien liegen, und dann noch eine 
zusätzliche, wie schon jetzt nach Stichworten/Rubriken organisierte 
hierarchische Verzeichnisstruktur, in der dann nur noch symbolische 
Links zu den konkreten Dateien im "Archiv"/"Library"-Verzeichnis liegen.
Potentieller Vorteil, den ich darin sehe: Man könnte jedes eDocument 
auch in mehrere Kategorien/Rubriken/Schlagworte einordnen, ohne dass der 
Speicherplatz ansteigt.

von Dennis S. (eltio)


Lesenswert?

g457 schrieb:
> cp -rs
>
> Rest siehe manpage.

"eine relative symbolische Verknüpfungen kann nur im aktuellen 
Verzeichnis anglegt werden"
Witzig... inkl. Übersetzungsfehler! ;-)

@Joachim: Probiere ich mal aus, danke für die Anregung.

von g457 (Gast)


Lesenswert?

> "eine relative symbolische Verknüpfungen kann nur im aktuellen
> Verzeichnis anglegt werden"
1
$ cd ~/Desktop
2
$ cp -rs /root/of/docs .

HTH

von T.roll (Gast)


Lesenswert?

Immer wieder faszinierend, wieviele Lösungen es bei Linux für so 
einfache Sachen gibt. Gibts eine gute! Seite (auf Deutsch), bei der man 
mal richtig Bash/Shellprogrammierung lernen kann. Ich kann zwar einfache 
Shellskripte, aber bei der echten Programmierung hängts doch noch sehr.


PS:
Linux: Ein Problem, tausend Lösungen
Windows: Tausend Probleme, keine Lösungen

von Sheeva P. (sheevaplug)


Lesenswert?

T.roll schrieb:
> Immer wieder faszinierend, wieviele Lösungen es bei Linux für so
> einfache Sachen gibt. Gibts eine gute! Seite (auf Deutsch), bei der man
> mal richtig Bash/Shellprogrammierung lernen kann. Ich kann zwar einfache
> Shellskripte, aber bei der echten Programmierung hängts doch noch sehr.

http://wiki.bash-hackers.org/ -- allerdings nicht auf Deutsch.

: Bearbeitet durch User
von Norbert (Gast)


Lesenswert?

T.roll schrieb:
> Gibts eine gute! Seite (auf Deutsch), bei der man
> mal richtig Bash/Shellprogrammierung lernen kann.

Ja klar, sobald alle Befehle auch auf Deutsch übersetzt worden sind;-)
1
Für Teil in $(zeigeumgebung|sortiere|erweitertedurchsuchung "FG_|LD_"); tue
2
    echo "  $Teil"
3
getan

von Erwin D. (Gast)


Lesenswert?

Norbert schrieb:
> T.roll schrieb:
>> Gibts eine gute! Seite (auf Deutsch), bei der man
>> mal richtig Bash/Shellprogrammierung lernen kann.
>
> Ja klar, sobald alle Befehle auch auf Deutsch übersetzt worden
> sind;-)Für Teil in $(zeigeumgebung|sortiere|erweitertedurchsuchung
> "FG_|LD_"); tue
>     echo "  $Teil"
> getan

Da frage ich mich, wie es mit den deutschen Fachbüchern, HowTo's und 
Tutorials ist, wo die Programmierung behandelt wird? Sind dort auch alle 
Befehle übersetzt? Da ist mir scheinbar etwas entgangen...
;-)

von Erwin D. (Gast)


Lesenswert?


von Norbert (Gast)


Lesenswert?

Erwin D. schrieb:

> Da frage ich mich, wie es mit den deutschen Fachbüchern, HowTo's und
> Tutorials ist, wo die Programmierung behandelt wird? Sind dort auch alle
> Befehle übersetzt? Da ist mir scheinbar etwas entgangen...
> ;-)

Da frage ich mich ob heutzutage keine Fremdsprachen mehr gelehrt werden.
Gibt's da ein Gesetz welches das Erlernen der englischen Sprache 
verbietet?
Und falls nein, wo bleibt das kleine bisschen Eigeninitiative?

Wahrscheinlich gibt's aber einfach nur keine App auf'm Wischfernsprecher 
dafür!

von Erwin D. (Gast)


Lesenswert?

Norbert schrieb:
> Gibt's da ein Gesetz welches das Erlernen der englischen Sprache
> verbietet?

Schließt das eine denn das andere aus? Ich habe englisch gelernt, aber 
wenn mir komplizierte Zusammenhänge erklärt werden, dann ist mir das 
manchmal in deutsch lieber.

von Norbert (Gast)


Lesenswert?

Erwin D. schrieb:
> .. aber wenn mir komplizierte Zusammenhänge erklärt werden,
> dann ist mir das manchmal in deutsch lieber.

Das ist eine durchaus vernünftige Aussage.

Funktioniert aber nur wenn es direkt in der deutschen Sprache verfasst 
wurde, oder aber der Übersetzer präzise - um nicht zu sagen pedantisch 
genau - arbeitet.

Im Laufe meines Lebens ist mir dieses Vergnügen jedoch leider viel zu 
selten zuteil geworden.

von Lukey S. (lukey3332)


Lesenswert?

Norbert schrieb:
> T.roll schrieb:
>> Gibts eine gute! Seite (auf Deutsch), bei der man
>> mal richtig Bash/Shellprogrammierung lernen kann.
>
> Ja klar, sobald alle Befehle auch auf Deutsch übersetzt worden sind;-)
>
1
> Für Teil in $(zeigeumgebung|sortiere|erweitertedurchsuchung "FG_|LD_"); 
2
> tue
3
>     echo "  $Teil"
4
> getan
5
>
1
#!/bin/bash
2
(bash <( cat $1 | sed -e "s/Für/for/g" \
3
 -e "s/tue/do/g" \
4
 -e "s/getan/done/g" \
5
 -e "s/zeigeumgebung/env/g" \
6
 -e "s/sortiere/sort/g" \
7
 -e "s/erweitertedurchsuchung/egrep/g"))

;)

Als alias funktionierts leider nicht :/

: Bearbeitet durch User
von Norbert (Gast)


Lesenswert?

Lukas S. schrieb:

>
1
#!/bin/bash
2
(bash <( cat $1 | sed -e "s/Für/for/g" \
3
 -e "s/tue/do/g" \
4
 -e "s/getan/done/g" \
5
 -e "s/zeigeumgebung/env/g" \
6
 -e "s/sortiere/sort/g" \
7
 -e "s/erweitertedurchsuchung/egrep/g"))
>
> ;)
>
> Als alias funktionierts leider nicht :/

Sauber, hat mir ein Grinsen ins Gesicht gezaubert!

von Dennis S. (eltio)


Lesenswert?

g457 schrieb:
>> "eine relative symbolische Verknüpfungen kann nur im aktuellen
>> Verzeichnis anglegt werden"
>
>
1
$ cd ~/Desktop
2
> $ cp -rs /root/of/docs .
>
> HTH

Das ist es, danke. Ich muss irgendwie die Verzeichnisse durcheinander 
gebracht haben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.