Woher weiß man die Liste der Verzeichnisse unter einem Dateisystem?

11

Wenn ich einen sudo df -hBefehl ausführe , habe ich folgende Ausgabe erhalten:

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 woher weiß ich die Liste der Verzeichnisse unter /sda2? Wenn ich beispielsweise einen ls /Befehl ausführe , werden alle Verzeichnisse unter root angezeigt.

$ 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, über die ich auch das Dateisystem auflisten kann?
  • Da bleibt sehr wenig Platz übrig /dev/sda2/. Wie kann ich mehr Speicherplatz von dieser Partition frei machen?
ursitesion
quelle

Antworten:

4

Wenn ich diese Frage richtig lese, wird ein Programm aufgerufen tree. Dies würde alle Verzeichnisse in einer baumartigen Struktur auflisten. Wenn es installiert ist, können Sie Folgendes tun:

tree -xWo -xBleiben Sie nur auf dem aktuellen Dateisystem. Ala find -xdev.

UPDATE: Ich habe es versucht tree -P /dev/xvdaund es schien Verzeichnisse unter diesem Dateisystem angezeigt zu haben. Der -PBefehl steht für Muster. Um Ihre Frage zu beantworten, sollten Sie in der Lage sein, Verzeichnisse in Dateisystemen aufzulisten.

/Versuchen Sie den folgenden Befehl, um die ersten Ebenen im Verzeichnis aufzulisten:

tree -LP 1 /dev/xvda

Wo List die Ebene? Maximale Anzeigetiefe des Verzeichnisbaums.

Siehe den Manpages hier

Ryekayo
quelle
Kann ich den Befehl tree mit dem Dateisystem verwenden, um alle Verzeichnisse aufzulisten?
ursitesion
1
Ich habe meine Antwort aktualisiert. Ich glaube du kannst.
Ryekayo
Ich habe ausgeführt tree -P /dev/sda4/und folgendes Ergebnis erhalten: `. 0 Verzeichnisse, 0 Dateien`
ursitesion
/
Stellen
richtig. Wie liste ich Verzeichnisse nur einer Ebene auf?
ursitesion
8

Wenn Sie nach Verzeichnissen suchen, die Speicherplatz belegen und sich nicht auf einer anderen Partition befinden, möchten Sie du -hx --max-depth=1 /. Das -xweist es an, nicht in Verzeichnisse abzusteigen, die sich auf anderen Dateisystemen (Partitionen) befinden. Es wird --max-depth=1darum gebeten, nur eine Zeile (mit der Auflistung des gesamten Speicherplatzes für dieses Verzeichnis und alle Unterverzeichnisse) für jedes Verzeichnis in /jedem einzelnen Unterverzeichnis zu drucken .

Sie können dann einen Drilldown in die größeren Unterverzeichnisse durchführen, um herauszufinden, was den Speicherplatz einnimmt.

psusi
quelle
3

Aber woher weiß ich die Liste der Verzeichnisse unter / sda2?

Es gibt keine Verzeichnisse unter / dev / sda2, / 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, über die ich auch das Dateisystem auflisten kann?

Da Sie nur ein Dateisystem gemountet haben, befinden sich alle auf dem / fs.

Eine bessere Möglichkeit, eine Liste der bereitgestellten 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 verwendete Speichermenge anzuzeigen, können Sie den folgenden duBefehl verwenden, z.

~/tmp$ du -sh
752K    .

duhat viele Nutzungsmöglichkeiten. Ein wirklich guter Weg, um große Ordner aufzuspüren, ist --max-depth=1, dass die Tiefe der Ausgabe begrenzt wird:

du -h --max-depth=1 /
7,9M    /sbin
702M    /lib

Sie erhalten viele Fehlermeldungen, wenn Sie dies auf / ohne root ausführen.

dukann Ihnen helfen, herauszufinden, welche Dateien gelöscht werden müssen, um mehr Speicherplatz zu schaffen. Wenn Sie keine Dateien löschen können, müssen Sie entweder die Größe der Partition ändern oder einige Daten auf eine andere Partition verschieben.

Martin
quelle
Ich habe das gesamte Dateisystem auf meinem Server hinzugefügt.
ursitesion
@ursitesion OK, was ist dann deine eigentliche Frage?
Martin
Ich mag die ‚Verwendungs%` in meinem reduzieren/dev/sda2
ursitesion
ah .. du solltest dann deine frage bearbeiten. Ich werde meine Antwort aktualisieren
Martin
Aktualisiert meine Frage ....
ursitesion