Listet "du /" jede einzelne Datei auf einem System auf?

522
tjt263

Hat du /Liste jede einzelne Datei?
||
Gibt es einen besseren Weg?

-3
Ein besserer Weg, was zu tun? Daniel B vor 7 Jahren 2
Ein besserer Weg, um * jede einzelne Datei aufzulisten. tjt263 vor 7 Jahren 0
Jede einzelne Datei in einem System? Nah Jede einzelne Datei auf allen gemounteten Dateisystemen? Vielleicht ... Obwohl zwischen diesen beiden Dingen möglicherweise nur ein geringer Unterschied besteht, kann der Unterschied auf anderen Systemen erheblich sein (und es ist erwähnenswert, dass andere Daten nicht übersehen / vergessen werden). TOOGAM vor 7 Jahren 0
Stellen Sie dieselbe Frage nicht auf mehreren StackExchange-Sites (http://unix.stackexchange.com/q/303635/133107) techraf vor 7 Jahren 0
Ich wähle, um diese Frage zu schließen, da sie auf http://unix.stackexchange.com/q/303635/133107 veröffentlicht wurde. Bitte lesen Sie [Ist das Cross-Posting einer Frage auf mehreren Stack Exchange-Sites zulässig, wenn die Frage für jede Site thematisiert ist?] (Http://meta.stackexchange.com/questions/64068/). Mokubai vor 7 Jahren 0

1 Antwort auf die Frage

2
Kamil Maciorowski

Listet du /jede einzelne Datei auf?

Von man du:

Fassen Sie die Festplattennutzung für jedes FILEVerzeichnis zusammen, rekursiv für Verzeichnisse.

Ich interpretiere das als: ja, du /listet jede einzelne Datei unter auf /. Es gibt einige Fallstricke, die ich nicht kenne.

Dadurch werden Dateien aufgelistet, wenn sie als Argumente angegeben werden. Weil /ein Verzeichnis ist, du /listet Verzeichnisse auf; Dateien werden bei der Berechnung der Größe der jeweiligen Verzeichnisse berücksichtigt . In diesem Fall sind sie nicht aufgeführt.


findist ein Standardwerkzeug zum Auflisten von Dateien. So listen Sie jeden einzelnen Dateiaufruf auf:

sudo find / -type f 

wo -type fdas Tool nur reguläre Dateien auflisten soll. Auf diese Weise erhalten Sie Ihre Ausgabe ohne die Größen (im Vergleich zur duAusgabe). Es ist eine gute Sache, wenn Sie nur die Dateien auflisten möchten.


Im Allgemeinen findist dies hilfreich, da Sie mehrere Kriterien angeben können (die folgende Liste ist nicht erschöpfend):

  • sollten die Ergebnisse reguläre Dateien, Verzeichnisse, Named Pipes usw. enthalten ( -typeOption);
  • durch ctime, atime, mtime ;
  • vom Besitzer;
  • durch Berechtigungen;
  • nach Größe.

Ich denke, Sie benötigen eine Liste von Dateien, um etwas damit zu tun. Sie können Pfade verwenden, die findin einer Pipe bereitgestellt werden, deren Ausgabe ( -fprintOption) angeben oder den Befehl für jede gefundene Datei ausführen ( -exec). Es gibt auch Optionen (wie -print0), die Probleme mit einigen störenden Zeichen in Dateinamen vermeiden.

Siehe man findfür weitere Informationen.

Dies scheint eine gute Antwort zu sein ... auf die dritte Frage. (Ignorieren der ersten beiden Fragen, die im Grunde die gleichen sind, einschließlich der Frage im Titel.) TOOGAM vor 7 Jahren 0
@TOOGAM Dies liegt daran, dass es mir schien, als habe OP angenommen, dass es eine gute Lösung für das tatsächliche Problem ist ([XY-Problem] (http://meta.stackexchange.com/a/66378)?). Ich mag im Fall von OP falsch sein, aber zukünftige Benutzer, die nach "liste jede einzelne Datei" suchen, sollten "find" und nicht "du" finden. Kamil Maciorowski vor 7 Jahren 0
@ TOOGAM Ich habe meine Antwort erweitert. Vielen Dank für Ihre Bemerkung. Kamil Maciorowski vor 7 Jahren 0
"Du" lief nur auf einer Ubuntu-Instanz und zeigte nur Verzeichnisse. 16.04 auf AWS. Andererseits waren es Softlinks, die mit 'ln -s' erstellt wurden, was eine wichtige Unterscheidung sein könnte. `find` gibt diese zurück. AER vor 6 Jahren 0
@AER Vielen Dank. Meine Antwort ist jetzt korrigiert. Kamil Maciorowski vor 6 Jahren 0