Viele Ordner zusammenfassen + viele Dateien erzeugen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Hinweis: In dem Thema Viele Ordner zusammenfassen + viele Dateien erzeugen gibt es 31 Antworten auf 4 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • neuland schrieb:

    Mit welchem Befehl klappt das?
    das klappt mit Sicherheit mit dem Befehl

    Quellcode

    1. mv /musik/*/* /musik

    die Dateizahl ist so klein, dass es keine Probleme gib. Ärger könnte es nur geben bei identischen Dateinamen aber das siehst du dann. Daten sind nicht weg.

    neuland schrieb:

    Wie kann ich evtl. solche eine Situation vorher testen? Ich möchte meine Daten nicht verlieren.
    indem du einen USB-Stick mit ext4 formatierst und darauf einen Ordner mit einigen Unterordnern anlegst. Da drin fabrizierst du einen Haufen Leerdateien. Die Gesamtzahl der Dateien ist begrenzt durch die Zahl der Inodes, die du mit

    Quellcode

    1. df -i
    feststellen kannst
    Dann kannst du darauf rumtoben wie du möchtest.
    There's no place like 127.0.0.1

    Für den Inhalt des Beitrages 103895 haftet ausdrücklich der jeweilige Autor: wurzel99

  • Und wenn diese "Netzwerkpartition" gar nicht mit extX formatiert ist?

    Gott sei Dank bin ich ja nicht gefragt.
    Muss ich auch keine vernünftige Antwort schreiben.
    Sokrates sagte, dass er nichts wisse.
    Ich bin viel, viel klüger als Sokrates.
    Ich weiß ganz genau, dass ich gar nichts weiß.

    Für den Inhalt des Beitrages 103897 haftet ausdrücklich der jeweilige Autor: Berichtigung

  • Das Verschieben habe ich erst mal zurückgestellt.

    zunächst einmal üben:

    wurzel99 schrieb:

    indem du einen USB-Stick mit ext4 formatierst und darauf einen Ordner mit einigen Unterordnern anlegst. Da drin fabrizierst du einen Haufen Leerdateien. Die Gesamtzahl der Dateien ist begrenzt durch die Zahl der Inodes, die du mit
    Gute Idee. Daran hatte ich auch schon gedacht. Daher kam auch meine Thread-Überschrift.
    Es ist ein 8-GB-Stick.
    df -i sagt mir, dass dort knapp 490.000 Inodes sind, die fast alle unused sind
    df zeigt auch einen leeren Stick an (7,5 Mio Blocks)

    Wie erzeuge ich jetzt die Dateien?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von neuland ()

    Für den Inhalt des Beitrages 103898 haftet ausdrücklich der jeweilige Autor: neuland

  • neuland schrieb:

    Es ist ein 8-GB-Stick.
    df -i sagt mir, dass dort knapp 490.000 Inodes sind, die fast alle unused sind
    df zeigt auch einen leeren Stick an (7,5 Mio Blocks)
    nächstes Mal bitte die Ausgaben in Code-Tags

    neuland schrieb:

    Wie erzeuge ich jetzt die Dateien?
    einen schönen Wettstreit zu diesem Thema findest du hier:
    Shell Script zum erstellen und benennen von mehreren Dateien

    Freie Auswahl. Ich bevorzuge den 'kürzesten' Vorschlag.
    There's no place like 127.0.0.1

    Für den Inhalt des Beitrages 103901 haftet ausdrücklich der jeweilige Autor: wurzel99

  • wurzel99 schrieb:

    Ich bevorzuge den 'kürzesten' Vorschlag.
    ich auch .. ich habe

    touch {0..10}.txt
    etwas erweitert, damit die Dateien sich nicht nur in Ziffern unterscheiden
    Es klapp auch teilweise - aber nur teilweise ..

    Quellcode

    1. linux-xyz:/srv/test/ordner1 # ls
    2. uvz1 uvz2 uvz3
    3. linux-xyz:/srv/test/ordner1 # touch uvz1/dateia{1..100000}.txt
    4. linux-xyz:/srv/test/ordner1 # touch /srv/test/ordner1/uvz2/dateib{1..100000}.txt
    5. -bash: /usr/bin/touch: Argument list too long
    also .. das 1. Mal 100.000 Dateien klappt, das 2 Mal nicht. Mit dem 'Argument list too long' kann ich nichts anfangen. Ich hab es bei Google probiert aber ich werde nicht schlau daraus.

    Für den Inhalt des Beitrages 103907 haftet ausdrücklich der jeweilige Autor: neuland

  • Deine Kommandozeile ist zu kurz für das Kommando.
    Sie überschreitet getconf ARG_MAX Zeichen.

    Einfach kürzer machen.
    xargs könnte das.
    Für dich dürfte es einfacher sein, die Permutation zu splitten.

    Wurzel kennt bestimmt auch eine sehr kurze Lösung.
    Frag ihn mal.
    Ich dürfte hier ja eh nicht antworten.
    Sokrates sagte, dass er nichts wisse.
    Ich bin viel, viel klüger als Sokrates.
    Ich weiß ganz genau, dass ich gar nichts weiß.

    Für den Inhalt des Beitrages 103908 haftet ausdrücklich der jeweilige Autor: Berichtigung

  • neuland schrieb:

    Mit dem 'Argument list too long' kann ich nichts anfangen.
    aber ich!

    bei der Konsolen-Eingabe in der Bash werden die Wildcards expandiert.

    das heißt: aus rm *.txt wird rm datei1.txt + datei2.txt +datei3.txt usw usw usw ..
    wenn dann diese Argumentliste mit Dateinamen zu lang ist reicht der interne Speicher des Bash-Befehls nicht aus und diese Fehlermeldung kommt

    aus rm /srv/test/ordner1/xyz/* wird dann rm /srv/test/ordner1/xyz/datei1.txt +/srv/test/ordner1/xyz/datei2.txt + /srv/test/ordner1/xyz/datei3.txt

    Platz ist schneller weg ..

    halte dich kurz !

    Für den Inhalt des Beitrages 103909 haftet ausdrücklich der jeweilige Autor: senior53

  • Themaverfehlung.

    Es hat absolut nichts mit der Dateinamensexpansion, dem sogenannten Globbing zu tun.
    Wenn der Senior53 vorher genau lesen würde, wäre ihm aufgefallen, dass in der Kommandozeile gar kein Gobbing vorkommt.
    Es steht kein Stern drin. Nirgends.

    Und die Argumentzeile ist eben kein "interner Speicher" !!!
    Explizit und per definitionem nicht!!!
    Das ist wohl die Datenstruktur in Linuces, der an "Öffentlichkeit" keine zweite gleich kommt.
    Diese Erklärung ist schlicht falsch und zeugt von nur sehr schemenhaften Wissen um die Shell.

    Es handelt sich hier um eine Rangexpansion.

    Das einzige, was daran stimmt, ist das längst gesagte: Die Zeile ist mit dieser Expansion überfordert, weil die Maximallänge überschritten wird.
    Die beiden Wege, das in den Griff zu bekommen, wurden auch schon genannt.
    Sokrates sagte, dass er nichts wisse.
    Ich bin viel, viel klüger als Sokrates.
    Ich weiß ganz genau, dass ich gar nichts weiß.

    Für den Inhalt des Beitrages 103910 haftet ausdrücklich der jeweilige Autor: Berichtigung

  • senior53 schrieb:

    halte dich kurz !
    ich habe es verstanden .. sehr plastisch!

    100.000 Dateien pro Ordner reichen mir. also werde ich den touch-Befehl jeweils in Kurzform eingeben. Alles schon passiert.
    Fast alle Inodes sind weg. Der Stick ist trotzdem leer.

    Das heißt jetzt: Für mv werde ich mich auch mit Expansion beschäftigen (bzw den Auswirkungen) .. ich bemühe mal Google. Ich habe jetzt schon genug fremdes Gehirnschmalz angezapft.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von neuland ()

    Für den Inhalt des Beitrages 103911 haftet ausdrücklich der jeweilige Autor: neuland

www.cyberport.de