Wenn ich df
oder verwende mount
, bin ich vor allem an physischen Festplattenpartitionen interessiert. Heutzutage wird die Ausgabe dieser Befehle von temporären und virtuellen Dateisystemen, Gruppen und anderen Dingen überfordert, an denen ich nicht regelmäßig interessiert bin.
Meine physischen Partitionen in der Ausgabe beginnen immer mit ' /
', daher habe ich versucht, Aliase für df
und zu erstellen mount
:
alias df1="df | egrep '^/'"
alias mount1="mount | egrep '^/'"
Das funktioniert OK für mount1
(obwohl es das ' /
' in rot anzeigt ), aber df1
manchmal möchte ich die -h
Option hinzufügen df
und kann es nicht df1 -h
. Ich würde es vorziehen, nicht für jede Optionskombination, die ich verwenden möchte, einen Alias zu haben. Muss ich mich wirklich mit der Definition von Funktionen in Bash befassen (ich würde es vorziehen, dies nicht zu tun)? Gibt es eine bessere Lösung für df1
?
df --type ntfs
zeigt nicht 5 ntfs Partition und überspringt sie daher im Ergebnis für mich--type fuseblk
für die--type ntfs
in meinem Alias zu stehen, als es nur minimale NTFS-Unterstützung gab (die Zeit, in der Sie nach dem Neustart von Windows% - - eine Dateisystemprüfung für Ihre NTFS-Partition durchführen mussten). Meine Antwort wurde aktualisiert, danke.Sie können die Funktion wie folgt definieren:
Beispielausgabe:
Hier
$@
können Sie Ihre Argumente eingeben! [Beachten Sie, dass dies$@
immer in doppelte Anführungszeichen gesetzt werden sollte, es sei denn, Sie haben einen konkreten Grund, dies nicht zu tun. -ed]quelle
Wenn das Wechseln zu einem anderen
df
eine Option ist, verwenden Siepydf
stattdessen, da Dateisysteme mit standardmäßig 0 Blöcken nicht angezeigt werden und standardmäßig eine Anzeige, Farben und einige andere Eigenschaften aktiviert sind. Es funktioniert ziemlich gut als Aliasdf
und das Original ist\df
sowieso immer mit verfügbar .quelle
mount
.Diese Antwort versucht, die folgenden Probleme von yves anzusprechen :
und
und (3) Hinzufügen einer wichtigen Information zu der variierenden Ausgabe, bei der es sich um
df
die Kopfzeile handelt, die sich entsprechend den bereitgestellten Flags ändert.(1) Sie brauchen
function
, weil es per Definition Argumente braucht. Und es ist sehr einfach zu definieren und zu verwenden, wie Sie unten herausfinden werden.(2) Das Rot
/
wird von erzeugtgrep --color
, was ein allgemeiner Alias für sichgrep
selbst ist (Sie können dies überprüfen, indem Sie ausführenalias
).Code
Die obigen Zeilenumbrüche sollen die Lesbarkeit verbessern. Sie können sie durch Leerzeichen ersetzen.
Kopieren Sie dieses Snippet und fügen Sie es direkt in eine interaktive Bash-Sitzung ein oder hängen Sie es, noch besser, an Ihre an
~/.bashrc
.Anwendungsbeispiel
Was es macht
Die Funktion
df1
ruftdf
mit allen Argumenten auf, an die Sie sie übergeben, und leitet (|
) an die Ausgabe weitersed
, die aufgerufen wird-n
, um das automatische Drucken des Musterbereichs zu unterdrücken. Der Rest drückt die sed "Skripte" aus, zwei tatsächlich:1p
druckt die erste Zeile, in unserem Falldf
die Kopfzeile (ich verwende dieselbe fürps
Rohrleitungen)./^\//p
stimmt mit jeder Zeile überein, die mit beginnt/
, und druckt sie dann aus;
trennt die 2 sed-Skriptequelle
Ich benutze
alias df='df -hT -xtmpfs -xdevtmpfs'
.Es ist ziemlich schade, dass Sie einen Alias verwenden müssen, um GNU
df
heutzutage unter Linux tatsächlich verwendbar zu machen . Es sollte eine Option geben, nur "echte" Dateisysteme anzuzeigen (was auch immer das bedeutet).Nimmt tatsächlich
df -hxtmpfs
den größten Teil des Mülls heraus und bleibt ohne Alias verwendbar. Nicht wirklich schlimmer alsnetstat -tulnp
und so ... * seufz *quelle