Bestimmen Sie den freien Dateibereich unter Linux


7

Entschuldigung, wenn dies eine dumme Frage ist, aber ich habe noch keine Antwort gefunden.

Wie finden Sie heraus, wie viel freier Speicherplatz für einen bestimmten Ordner oder eine bestimmte Partition vorhanden ist?

Grundsätzlich muss ich wissen, wie viel freier Speicherplatz vorhanden ist, bevor ich Aufgaben auf dem Server ausführe, und möchte nicht unerwartet an die Grenzen stoßen.

Danke im Voraus.


1
Keine dumme Frage :)
Bedwyr

Antworten:


21
df -h # shows free disk space on all partitions
du -hs foldername # shows space used by a particular folder

2
du -hwar immer meine Lieblingssache, die ich einem Kollegen sagte.
Karl Katzke

4

Das Chaos antwortete zuerst, aber ich wollte nur hinzufügen, dass "df -h" nützlicher ist (Anzeige in lesbaren Begriffen (MB, GB, KB usw.) anstelle von Blöcken), aber Sie können dies auf der Hilfeseite von df herausfinden .


4
   cd /path/to/dir
   df -h .
   Filesystem            Size  Used Avail Use% Mounted on
   /dev/sda1              36G   20G   14G  60% /

du meinst du -h. df -h wie Chaos sagte zeigt freie Festplatte auf allen Partitionen und es kümmert sich nicht um Ihre PWD
Zypher

1
Wenn Sie ein einfaches df -h erstellen, werden alle gemounteten Dateisysteme angezeigt. Wenn Sie ihm einen Pfad geben, wird nur der freie Speicherplatz für das dort gemountete Dateisystem
angezeigt

3

Mein Lieblingstrick, um die wirklich großen Dateien aufzulisten:

du | sort -rn | head

bekommt die Top 10 Filepigs aufgelistet.

Tim


3

Ein wenig außerhalb des Rahmens der Frage, aber da 'df' und 'du' bereits gut behandelt sind ... Wenn Sie feststellen, dass die beiden nicht übereinstimmen, ist es nützlich, den Befehl 'lsof + L1' zu verwenden, um gelöschte Listen aufzulisten , aber noch offene Dateien.

Ihr Speicherplatz wird nicht freigegeben, wenn eine gelöschte Datei noch geöffnet ist, bis sie geschlossen wird (dies ist häufig bei unsachgemäßen Einstellungen für die Protokollrotation der Fall).


Obwohl es 5 Jahre her ist, seit du das geschrieben hast, möchte ich mich nur bedanken! Das hat mir geholfen.
Adam Plumb

1

Du willst df. (Und df -ifür Inodes kostenlos.)


1

Ich weiß, dass dies mit Linux markiert ist, aber der Vollständigkeit halber.

Die Option -h ist nicht immer verfügbar. Ich weiß, dass Solaris usw. es nicht auf ihren Tools hat (du, df, ls usw.).


Ich dachte, Solaris 10 enthält die "guten" Tools mit -h. Hmm.
JR Lawhorne

1

Die angeführte Handbuchseite zeigt es an, und die Antwort von rkthkr verwendet es, ist jedoch nicht gut sichtbar: Wenn Sie am Ende der dfBefehlszeile einen Pfadnamen angeben , wird die Anzeige auf das Dateisystem beschränkt, das nur diesen Pfad enthält.

Wenn Sie die Kopfzeile abschneiden möchten, leiten Sie sie durch tail -1und leiten Sie nur die Spalte mit dem freien Speicherplatz durch awk '{print $4}'(oder cutwählen Sie das entsprechende Feld oder die entsprechenden Spalten aus).


0

Verwenden Sie df für lokal gemountete Festplatten, die Sie verwalten.

Bei NFS und anderen remote gemounteten Volumes kann ein Quotensystem auftreten. Verwenden Sie für diese Systeme den Befehl "quota", um herauszufinden, wie viel freies Kontingent noch vorhanden ist, das wahrscheinlich kleiner als die Anzahl der verbleibenden Bytes ist. Dies ist jedoch nicht immer der Fall.

Weitere Informationen zum Kontingent finden Sie hier: http://www.tldp.org/HOWTO/Quota.html


0

df - Speicherplatznutzung des Dateisystems melden ( man )

df [OPTION]... [FILE]...
Description
This manual page documents the GNU version of df. df displays the amount of disk space available on the file system containing each file name argument. If no file name is given, the space available on all currently mounted file systems is shown. Disk space is shown in 1K blocks by default, unless the environment variable POSIXLY_CORRECT is set, in which case 512-byte blocks are used.

If an argument is the absolute file name of a disk device node containing a mounted file system, df shows the space available on that file system rather than on the file system containing the device node (which is always the root file system). This version of df cannot show the space available on unmounted file systems, because on most kinds of systems doing so requires very nonportable intimate knowledge of file system structures.
Options

Show information about the file system on which each FILE resides, or all file systems by default.

Mandatory arguments to long options are mandatory for short options too.

-a, --all
    include dummy file systems 
-B, --block-size=SIZE use SIZE-byte blocks
-h, --human-readable
    print sizes in human readable format (e.g., 1K 234M 2G) 
-H, --si
    likewise, but use powers of 1000 not 1024 
-i, --inodes
    list inode information instead of block usage 
-k
    like --block-size=1K 
-l, --local
    limit listing to local file systems 
--no-sync
    do not invoke sync before getting usage info (default) 
-P, --portability
    use the POSIX output format 
--sync
    invoke sync before getting usage info 
-t, --type=TYPE
    limit listing to file systems of type TYPE 
-T, --print-type
    print file system type 
-x, --exclude-type=TYPE
    limit listing to file systems not of type TYPE 

du - Schätzung des Speicherplatzbedarfs ( man )

du [OPTION]... [FILE]...
du [OPTION]... --files0-from=F
Description

Summarize disk usage of each FILE, recursively for directories.

Mandatory arguments to long options are mandatory for short options too.

-a, --all
    write counts for all files, not just directories 
--apparent-size
    print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like 
-B, --block-size=SIZE use SIZE-byte blocks
-b, --bytes
    equivalent to '--apparent-size --block-size=1' 
-c, --total
    produce a grand total 
-D, --dereference-args
    dereference FILEs that are symbolic links 
--files0-from=F
    summarize disk usage of the NUL-terminated file names specified in file F 
-H
    like --si, but also evokes a warning; will soon change to be equivalent to --dereference-args (-D) 
-h, --human-readable
    print sizes in human readable format (e.g., 1K 234M 2G) 
--si
    like -h, but use powers of 1000 not 1024 
-k
    like --block-size=1K 
-l, --count-links
    count sizes many times if hard linked 
-m
    like --block-size=1M 
-L, --dereference
    dereference all symbolic links 
-P, --no-dereference
    don't follow any symbolic links (this is the default) 
-0, --null
    end each output line with 0 byte rather than newline 
-S, --separate-dirs
    do not include size of subdirectories 
-s, --summarize
    display only a total for each argument 
-x, --one-file-system
    skip directories on different file systems 
-X FILE, --exclude-from=FILE
    Exclude files that match any pattern in FILE. 
--exclude=PATTERN Exclude files that match PATTERN.
--max-depth=N
    print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize 
--time
    show time of the last modification of any file in the directory, or any of its subdirectories 
--time=WORD
    show time as WORD instead of modification time: atime, access, use, ctime or status 
--time-style=STYLE show times using style STYLE:
    full-iso, long-iso, iso, +FORMAT FORMAT is interpreted like 'date' 

0

Tolle Antworten oben.

Eine Sache, die ich hinzufügen möchte, ist, df- hPdass Sie eine Ausgabe erhalten, die einfacher zu analysieren ist. (P steht für Portabilität)


0

In meinem Fall war 'lsof + L1' die Antwort. eine Reihe von Apache-Protokollen, gelöscht, aber nicht

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.