Vorwort Wenn der Systemspeicherplatz zu groß ist und gelöscht werden muss oder eine bestimmte Datei gelöscht werden muss, wird der Speicherplatz manchmal nicht freigegeben, nachdem der Löschbefehl ausgeführt wurde. Viele Leute sind verwirrt, wenn sie zum ersten Mal auf diese Situation stoßen, und fragen sich, ob es wie beim Papierkorb des Windows-Systems ist, wo das Löschen nur ein logisches Löschen in den Papierkorb ist? Tatsächlich ist das nicht der Fall. Wenn Sie mehr über die Papierkorbfunktion von Linux erfahren möchten, können Sie mit mir kommunizieren oder Informationen nachschlagen, um mehr darüber zu erfahren. Es ist auch eine praktischere Methode. Hier üben wir hauptsächlich das Problem, dass nach dem Löschen einer Datei kein Speicherplatz freigegeben wird. 1. Experimentelle Vorbereitung Es gibt viele Möglichkeiten, dieses Szenario zu simulieren, hauptsächlich um das Szenario zu realisieren, in dem die Datei belegt ist. Am einfachsten ist es, die Datei zu kopieren. Eine andere gängige Methode besteht darin, dass Schüler mit guten Programmier- oder Shell-Kenntnissen ein Programm oder Skript schreiben, um kontinuierlich Inhalte in eine Datei zu schreiben. Dieses Mal haben wir es hauptsächlich durch das Kopieren von Dateien schnell reproduziert. 1.1 Erstellen Sie eine etwas größere Datei /* Hauptsächlich für diesen Dateivorgang */ [root@c7_2 lokal]# ll -h insgesamt 3,0 G -rw-r--r--. 1 root root 2,5 G 4. Mai 17:43 all_backup.tar.gz /* Derzeit beträgt die Stammverzeichnisnutzung 6,5 G */ [root@c7_2 ~]# df -lh Verwendete Dateisystemgröße Verfügbare Nutzung% Eingebunden auf devtmpfs 1,9 G 0 1,9 G 0 % /Entwickler tmpfs 1,9 G 0 1,9 G 0 % /Entwickler/shm tmpfs 1,9 G 12 M 1,9 G 1 %/Lauf tmpfs 1,9 G 0 1,9 G 0 % /sys/fs/cgroup /dev/mapper/centos-root 46 G 6,5 G 39 G 15 % / /dev/sda1 1014M 150M 865M 15 % /boot tmpfs 378M 0 378M 0 % /run/Benutzer/0 1.2 Verwenden Sie den Befehl scp, um die Datei zu belegen /* Remote-Kopieren auf andere Hosts starten*/ [root@c7_2 lokal]# scp all_backup.tar.gz [email protected]:/home/test/ Die Authentizität des Hosts „192.168.28.226 (192.168.28.226)“ kann nicht festgestellt werden. Der ECDSA-Schlüsselfingerabdruck lautet SHA256:QfJb1DogFmdZ0hkeVRvn2VHke+tkZ2+sNljhBBudooc. Der ECDSA-Schlüsselfingerabdruck lautet MD5:2a:8a:63:80:35:17:f7:e9:2a:ea:13:98:eb:26:30:ba. Möchten Sie die Verbindung wirklich fortsetzen (ja/nein)? ja Warnung: „192.168.28.226“ (ECDSA) wurde dauerhaft zur Liste der bekannten Hosts hinzugefügt. Passwort von [email protected]: all_backup.tar.gz 0 % 2432 KB 2,4 MB/s 17:53 ETA^Z [1]+ Gestoppt scp all_backup.tar.gz [email protected]:/home/test /* Im Hintergrund ausführen*/ [root@c7_2 lokal]# bg %1 [1]+ scp all_backup.tar.gz [email protected]:/home/test & 1.3 Löschen von Dateien /* Datei löschen */ [root@c7_2 lokal]# rm -f all_backup.tar.gz /* Speicherplatz prüfen, keine Änderung*/ [root@c7_2 lokal]# df -lh Verwendete Dateisystemgröße Verfügbare Nutzung% Eingebunden auf devtmpfs 1,9 G 0 1,9 G 0 % /Entwickler tmpfs 1,9 G 0 1,9 G 0 % /Entwickler/shm tmpfs 1,9 G 12 M 1,9 G 1 %/Lauf tmpfs 1,9 G 0 1,9 G 0 % /sys/fs/cgroup /dev/mapper/centos-root 46 G 6,5 G 39 G 15 % / /dev/sda1 1014M 150M 865M 15 % /boot tmpfs 378M 0 378M 0 % /run/Benutzer/0 /* Die Datei existiert nicht mehr */ [root@c7_2 lokal]# ll -h insgesamt 3,0 G drwxr-xr-x. 2 root root 6 11. April 2018 bin drwxr-xr-x. 2 root root 6 11. April 2018 usw. drwxr-xr-x. 2 root root 6 Apr 11 2018 Spiele drwxr-xr-x. 2 root root 6 11. April 2018 einschließen drwxr-xr-x. 2 root root 6 11. April 2018 lib drwxr-xr-x. 2 root root 6 Apr 15 05:56 lib64 drwxr-xr-x. 2 root root 6 11. April 2018 libexec drwxr-xr-x. 2 root root 6 11. April 2018 sbin drwxr-xr-x. 5 root root 49 Nov 17 16:46 teilen drwxr-xr-x. 2 root root 6 11. April 2018 src 2. Behandlungsmethoden Mit dem Befehl lsof (list opened files) können Sie die geöffneten Dateien und den Prozess, der sie verwendet, anzeigen. Der Befehl lsof ist im minimal installierten System nicht verfügbar. Sie können ihn zunächst über yum installieren. yum install -y lsof 2.1 lsof-Dateien anzeigen Alle geöffneten Dateien anzeigen und gelöschte Dateien herausfiltern [root@c7_2 local]# lsof |grep gelöscht firewalld 818 root 6u REG 253,0 4096 36061750 /tmp/ffi0SEit6 (gelöscht) gmain 818 998 root 6u REG 253,0 4096 36061750 /tmp/ffi0SEit6 (gelöscht) abgestimmt 1180 root 8u REG 253,0 4096 33554962 /tmp/ffio5Nu8r (gelöscht) gmain 1180 1602 root 8u REG 253,0 4096 33554962 /tmp/ffio5Nu8r (gelöscht) abgestimmt 1180 1603 root 8u REG 253,0 4096 33554962 /tmp/ffio5Nu8r (gelöscht) abgestimmt 1180 1605 root 8u REG 253,0 4096 33554962 /tmp/ffio5Nu8r (gelöscht) abgestimmt 1180 1606 root 8u REG 253,0 4096 33554962 /tmp/ffio5Nu8r (gelöscht) scp 1798 root 3r REG 253,0 2665433605 104181296 /usr/local/all_backup.tar.gz (gelöscht) Habe die Datei gefunden, die wir gerade gelöscht und von diesem Prozess geöffnet haben 2.2 Den Prozess ansehen Durch lsof wird festgestellt, dass die Datei all_backup.tar.gz vom Prozess 1798 belegt ist. Sie können überprüfen, um welchen spezifischen Prozess es sich handelt. [root@c7_2 lokal]# ps -ef|grep 1798 root 1798 1729 0 17:47 pts/0 00:00:00 scp all_backup.tar.gz [email protected]:/home/test root 1799 1798 2 17:47 pts/0 00:00:03 /usr/bin/ssh -x -oForwardAgent=no -oPermitLocalCommand=no -oClearAllForwardings=yes -l test -- 192.168.28..226 scp -t /home/test root 1868 1806 0 17:49 pts/1 00:00:00 grep --color=auto 1798 Es handelt sich um den Kopierbefehl, den wir zuvor ausgeführt haben. 2.3 Speicherplatz freigeben Für diese Art von Abfragestatus müssen Sie das entsprechende Programm beenden /* Den entsprechenden Prozess beenden */ [root@c7_2 lokal]# kill -9 1799 1798 /* Speicherplatz freigegeben*/ [root@c7_2 lokal]# df -lh Verwendete Dateisystemgröße Verfügbare Nutzung% Eingebunden auf devtmpfs 1,9 G 0 1,9 G 0 % /Entwickler tmpfs 1,9 G 0 1,9 G 0 % /Entwickler/shm tmpfs 1,9 G 12 M 1,9 G 1 %/Lauf tmpfs 1,9 G 0 1,9 G 0 % /sys/fs/cgroup /dev/mapper/centos-root 46 G 4,0 G 42 G 9 % / /dev/sda1 1014M 150M 865M 15 % /boot tmpfs 378M 0 378M 0 % /run/Benutzer/0 Hinweis: Wenn Sie das Protokoll löschen möchten, während es kontinuierlich geschrieben wird, können Sie den Befehl echo " ">filename verwenden, um die Datei online zu löschen, ohne den Vorgang gewaltsam zu beenden. Wenn diese Methode nicht funktioniert, versuchen Sie, den Vorgang zu beenden. 3. Fazit Dieser Artikel ist hauptsächlich auf die folgenden Szenarien anwendbar:
Ich möchte Sie noch einmal daran erinnern, dass Sie den Vorgang nicht gewaltsam beenden müssen, wenn Sie den Befehl echo " ">filename verwenden können, um die Datei online zu löschen. Wenn diese Methode nicht funktioniert, versuchen Sie, den Vorgang zu beenden. Dies ist das Ende dieses Artikels über das Problem, dass nach dem Löschen von Linux-Dateien kein Speicherplatz freigegeben wird. Weitere verwandte Inhalte zum Thema „Speicherplatz wird nach dem Löschen von Linux-Dateien nicht freigegeben“ finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Fallstudie zur Übermittlung von HTML-Formularen
>>: MySQL-Gleitaggregation/Jahresaggregation – Prinzip und Anwendungsbeispielanalyse
Inhaltsverzeichnis Vorwort 1. Einfügen von ignore...
<meta name="viewport" content="B...
Heute habe ich festgestellt, dass WordPress keine...
Überblick In tatsächlichen Geschäftsszenarioanwen...
Wenn Sie Bash beenden möchten, haben Sie zwei Mög...
Was ist ein Margin-Top-Collaps? Der Margin-Top-Co...
Was ist ein MIME-TYP? 1. Zunächst müssen wir vers...
Mit der Array-Deduplizierung wird man häufig bei ...
In diesem Artikel werden hauptsächlich allgemeine...
In diesem Artikelbeispiel wird der spezifische Ja...
Inhaltsverzeichnis 1. Wie entsteht Cross-Domain? ...
In diesem Artikel werden mehrere wichtige Zero-Co...
Es gibt zwei Arten von Linux-Systemzeiten. (1) Ka...
Docker umfasst drei grundlegende Konzepte: Image:...
1. Eingebettete Softwareebene 1) Bootloader->B...