GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So finden Sie alle Sparse-Dateien in Linux

Sparse-Dateien sind Dateien, denen große Mengen an Speicherplatz vorab zugewiesen wurden, ohne den gesamten Speicherplatz des Dateisystems zu belegen. Sie sind unter anderem nützlich, um den Zeitaufwand und den Speicherplatz zu reduzieren, die zum Erstellen von Loop-Dateisystemen oder großen Festplatten-Images für virtualisierte Gäste erforderlich sind. Der Begriff „Spase-Datei“ wird verwendet, um eine Datei zu bezeichnen, die „Löcher“ enthält; Auf einem laufenden System ist es leicht zu erkennen, da seine Festplattennutzung geringer ist als seine Größe. Wir können dieses Verhalten mit /var/log/lastlog sehen Datei.

# ls -lh /var/log/lastlog
-rw-r--r--. 1 root root 286K Dec  3 04:50 /var/log/lastlog
# du -sh /var/log/lastlog
12K     /var/log/lastlog

Spärliche Dateien finden

Jetzt kann der obige Prozess die Sparse-Dateien im System identifizieren, aber es wird umständlich, alle Sparse-Dateien in einem Dateisystem oder Verzeichnis zu finden, insbesondere wenn es viele sind. Keine Sorge, es gibt eine Option im Befehl find, die uns hilft, alle spärlichen Dateien auf einmal zu finden. Sehen wir uns unten ein Beispiel an.

1. Verwenden Sie den Suchbefehl mit „%S “, um die Spärlichkeit jeder Datei zu finden.

# find /var/log -type f -printf "%S\t%p\n"
# find /var/log -type f -printf "%S\t%p\n"
1       /var/log/tallylog
1.00095 /var/log/audit/audit.log.1
0.0419982       /var/log/lastlog
....

2. Der in der Spalte ganz links angezeigte Wert ist (BLOCK-SIZE*st_blocks / st_size ), was normalerweise weniger als 1,0 im Falle einer Datei mit geringer Dichte ist.

3. Wenn Sie alle Sparse-Dateien auf dem System finden möchten, können wir alle Dateien herausfiltern, deren Spaltenwerte ganz links kleiner als 1 sind.

# find / -type f -printf "%S\t%p\n" | gawk '$1 < 1.0 {print}'
0.0139994       /var/log/lastlog
0.959592        /usr/lib/locale/locale-archive
...


Linux
  1. So finden Sie eine Datei in Linux rekursiv in allen Verzeichnissen

  2. So finden Sie doppelte Dateien in Linux

  3. Wie finde ich alle Dateien, die einem bestimmten Benutzer in Unix/Linux gehören?

  4. Wie finde ich alle Dateien mit der Endung .rb unter Linux?

  5. Wie finde ich unter Linux alle Dateien, die bestimmten Text enthalten?

So finden Sie Dateien in Linux mit dem Find-Befehl

So zählen Sie Dateien im Verzeichnis in Linux

So finden Sie Dateien über die Befehlszeile im Linux-Terminal

So finden und listen Sie die Dateien rekursiv nach Datum in Linux auf

So suchen Sie nach Dateien über die Linux-Befehlszeile

So finden Sie Dateien mit dem fd-Befehl in Linux