Wie ordnet man Ordner in einem Verzeichnis in Linux neu an?

505
Nishant Singh

Ich bin neu in Linux und soll ein Shell-Skript schreiben, um die Ordner in einem Verzeichnis auf der Grundlage von ctime neu zu ordnen. Der Ort, an dem ich festgefahren bin, sortiert die Ordner physisch.

Ich habe folgende Ansätze ausprobiert:

  1. Ich habe Kombinationen des Befehls ls sort mit dem Eindruck verwendet, dass er auch die physische Reihenfolge ändert, jedoch nicht die Reihenfolge der Ergebnisse beeinflusst.
  2. Wenn Sie nur den Sortierbefehl verwenden, bleibt das Terminal hängen, und es bleibt mir keine andere Möglichkeit, als den Befehl abzubrechen.

Bitte geben Sie einige Hinweise für die physische Neuordnung der Ordner. Ich habe Artikel durchgesehen, aber sie waren nicht sehr hilfreich.

Was ich zu erreichen versuche, ist, die Ordner im Verzeichnis auf der Grundlage der letzten Änderung zu sortieren. Dabei geht es nicht darum, wie man die Zeitdetails eines Ordners in Linux extrahiert, sondern welcher Befehl hilfreich sein kann, um die Ordner physisch nach der zuletzt geänderten Zeit zu sortieren.

Befehle, die ich ausprobiert habe:

du -m --max-depth 1 | sort -rn ls -1 | sort ls -la | sort -k 1 
0
Verzeichnisse haben keine eigentliche Reihenfolge. Die Reihenfolge hängt vom Systemgebietsschema ab. Mit "Umordnen" meinen Sie, die Verzeichnisse aufzulisten und sie zu sortieren? Bitte [bearbeiten] Sie Ihre Frage und erklären Sie Ihre Aufgabe klarer und zeigen Sie auch die Skripte / Befehle, die Sie bereits ausprobiert haben. slhck vor 6 Jahren 1
Bitte prüfe . Ich habe die Änderungen vorgenommen. Nishant Singh vor 6 Jahren 0
@slhck: Sie tun dies häufig und hängen vom Dateisystem ab. In den meisten Fällen ist die Reihenfolge durch den Benutzer _nicht_ veränderbar. Ich hoffe, das OP bedeutete wirklich "die Ordnerliste neu ordnen_" wie in "ls -ltc" ... grawity vor 6 Jahren 0
@grawity Du hast natürlich recht. Ich denke, ich hätte genauer sein sollen. Sie haben eine physische Reihenfolge, die davon abhängt, wie das Dateisystem sie indiziert (z. B. eine Art Baumstruktur). Ich ging jedoch davon aus, dass nur eine Verzeichnisauflistung vorgenommen wurde, bei der es normalerweise lexikografisch ist. slhck vor 6 Jahren 0
Mit "physisch" meinen Sie "visuell"? Versuchen Sie, die Reihenfolge der Artikel in einem Nautilus-Fenster zu ändern? Bearbeiten Sie die Frage, um die Linux-Distribution (z. B. Ubuntu) einzubeziehen. Christopher Hostage vor 6 Jahren 1
Ja, visuelle Reihenfolge der Ordner im Verzeichnis. Ich habe GNU / Linux auf meinem Server installiert, wo ich dies ausführen wollte. Nishant Singh vor 6 Jahren 0
Da die Ordnerreihenfolge nicht auf der Festplatte geändert werden kann, muss ich davon ausgehen, dass die Zuordnung in der richtigen Reihenfolge erfolgt. Werfen Sie einen Blick auf diese Frage: https://superuser.com/questions/147027/how-can-i-sort-the-output-of-ls-by-last-modified-date uSlackr vor 6 Jahren 0
Die Ordnerreihenfolge kann auf der Festplatte nicht geändert werden. Ich habe nur danach gesucht. Trotzdem danke. Ich werde dann einen anderen Ansatz ausprobieren Nishant Singh vor 6 Jahren 0
Ich stimme zu, um die Frage zu schließen, es sei denn, sie wird mit den Informationen in den nachstehenden Kommentaren bearbeitet. Wie es aussieht, ist es nicht verantwortlich, da es ein [XY-Problem] (http://xyproblem.info/) ist. slhck vor 6 Jahren 1

1 Antwort auf die Frage

0
Lewis M

Wenn Sie den Inhalt eines Verzeichnisses nach ctime auflisten möchten, ist @grawity korrekt

ls -ltc 

Wenn Sie den Inhalt eines Verzeichnisses basierend auf der Dateisystem-Baumstruktur auflisten möchten, möchten Sie nach Inode sortieren. Sie können das mit tun

ls -li | sort 

Wenn Sie etwas anderes wünschen, geben Sie bitte eine Probeneingabe und eine Probeausgabe an.

Hoffe das hilft

Ich habe diese probiert. Die Sache ist, ich möchte die Ordner im Verzeichnis sortieren und nicht nur anzeigen. Nishant Singh vor 6 Jahren 0
Was meinen Sie mit "Ordner im Verzeichnis sortieren und nicht nur anzeigen"? Was möchten Sie tun, wenn die Ordner in einem bestimmten Verzeichnis sortiert wurden? Lewis M vor 6 Jahren 1
Ich versuche zu erreichen, die Ordner in einem Verzeichnis zu sortieren und dann in einer anderen Reihenfolge in ein anderes Verzeichnis zu verschieben. Lassen Sie mich das Szenario erklären. Wir haben einen Quellordner, in dem wir Dokumente pro Kunde erhalten. Für jeden Kunden erstellen wir einen Ordner und legen seine Dokumente in diesen Ordner. Nun wollen wir Ordner auf fcfs-Art abholen, dh Ordner, die zuerst erstellt wurden, müssen Priorität erhalten. Der Ansatz, den ich umsetzen musste, besteht darin, zunächst die Ordner im Quellverzeichnis zu sortieren und diese Ordner mit einigen zusätzlichen Bedingungen in ein zweites Verzeichnis zu verschieben. Nishant Singh vor 6 Jahren 1
Gut. Zusätzliche Information. Das ist hilfreich Könnten Sie auch Sample-Input und Sample-Output liefern? Dies gibt uns eine noch bessere Vorstellung davon, was Sie erreichen wollen. Wenn Sie Dinge wie Erstellungszeiten, geänderte Zeiten usw. angeben möchten, tun Sie dies bitte. Je mehr Details Sie uns geben, desto besser können wir Ihnen helfen. Lewis M vor 6 Jahren 0
@NishantSingh Sie sollten Ihre Frage wirklich bearbeiten und * das * erläutern - Ihre ursprüngliche Frage ist ohne diese Informationen wirklich nicht sinnvoll. Bitte auch kurz lesen: http://xyproblem.info/ slhck vor 6 Jahren 1