
Wenn ich sudo df -h
den Befehl ausführe, erhalte ich die folgende Ausgabe:
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 12G 9.5G 1.1G 91% /
/dev/sda4 3.8G 1.5G 2.1G 41% /home
/dev/sda1 99M 75M 20M 80% /boot
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/sdc1 51G 2.6G 46G 6% /u000
Aber wie erfahre ich die Liste der Verzeichnisse unter /sda2
? Wenn ich beispielsweise ls /
den Befehl ausführe, erhalte ich alle Verzeichnisse unter root.
$ ls /
bin cdunix dev etc lib lost+found misc mnt1 mtp net PatchInstall root selinux sys tmp usr
boot cron_4058 esm home lib64 media mnt mnt2 NB_DIR opt proc sbin srv tftpboot u000 var
- Aber gibt es einen Befehl oder eine Möglichkeit, mit der ich auch ihr Dateisystem auflisten kann?
- Da nur noch sehr wenig Speicherplatz übrig ist
/dev/sda2/
. Wie kann ich mehr Speicherplatz auf dieser Partition freigeben?
Antwort1
Wenn Sie nach Verzeichnissen suchen, die Speicherplatz belegen und sich nicht auf einer anderen Partition befinden, benötigen Sie du -hx --max-depth=1 /
. Das -x
weist ihn an, nicht in Verzeichnisse zu wechseln, die sich auf anderen Dateisystemen (Partitionen) befinden. Das --max-depth=1
fordert ihn auf, nur eine Zeile (mit der Auflistung des gesamten Speicherplatzes für dieses Verzeichnis und alle Unterverzeichnisse) für jedes Verzeichnis in auszugeben, /
nicht für jedes einzelne Unterverzeichnis.
Sie können dann damit beginnen, in die größeren Unterverzeichnisse zu navigieren, um herauszufinden, was den Speicherplatz beansprucht.
Antwort2
Wenn ich diese Frage richtig verstehe, gibt es ein Programm namens tree
. Dieses listet alle Verzeichnisse in einer baumartigen Struktur auf. Wenn es installiert ist, können Sie Folgendes tun:
tree -x
Wo: -x
Bleiben Sie nur auf dem aktuellen Dateisystem. Ala find -xdev.
UPDATE: Ich habe es versucht tree -P /dev/xvda
und es schien, als ob Verzeichnisse unter diesem Dateisystem angezeigt wurden. Der -P
Befehl steht für Muster. Um Ihre Frage zu beantworten: Sie sollten damit Verzeichnisse in Dateisystemen auflisten können.
/
Um die ersten Ebenen im Verzeichnis aufzulisten , versuchen Sie den folgenden Befehl:
tree -LP 1 /dev/xvda
wobei L
die Ebene die maximale Anzeigetiefe des Verzeichnisbaums ist.
Weitere Informationen finden Sie in den ManpagesHier
Antwort3
Aber wie erfahre ich die Liste der Verzeichnisse unter /sda2?
Unter /dev/sda2 gibt es keine Verzeichnisse, /dev/sda2 ist eine Partition auf der Festplatte (sda ist die Festplatte und 2 ist die Partitionsnummer).
Aber gibt es einen Befehl oder eine Möglichkeit, mit der ich auch ihr Dateisystem auflisten kann?
Da Sie nur ein Dateisystem gemountet haben, befinden sich alle im /fs.
Eine bessere Möglichkeit, eine Liste der gemounteten Dateisysteme anzuzeigen, ist die Verwendung von mount:
$ sudo mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=2018106,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,relatime,size=3232436k,mode=755)
/dev/sda5 on / type ext4 (rw,noatime,errors=remount-ro,data=ordered)
Um die von einem Ordner belegte Speichermenge anzuzeigen, können Sie du
beispielsweise den folgenden Befehl verwenden:
~/tmp$ du -sh
752K .
du
bietet viele voll nutzbare Optionen. Eine wirklich gute Option zum Aufspüren großer Ordner ist --max-depth=1
die, die die Tiefe der Ausgabe begrenzt:
du -h --max-depth=1 /
7,9M /sbin
702M /lib
Wenn Sie dies auf / ausführen, ohne Root zu sein, werden zahlreiche Fehlermeldungen angezeigt.
du
kann Ihnen dabei helfen, herauszufinden, welche Dateien Sie löschen müssen, um mehr Platz zu schaffen. Wenn Sie keine Dateien löschen können, müssen Sie entweder die Partitionsgröße ändern oder einige Daten auf eine andere Partition verschieben.