Kiedy używam df
lub mount
, najbardziej interesują mnie fizyczne partycje dysku. Obecnie dane wyjściowe tych komend są przytłoczone tymczasowymi i wirtualnymi systemami plików, grupami i innymi rzeczami, którymi nie jestem zainteresowany regularnie.
Moje fizyczne partycje na wyjściu zawsze zaczynają się od „ /
”, więc próbowałem utworzyć aliasy dla df
i mount
:
alias df1="df | egrep '^/'"
alias mount1="mount | egrep '^/'"
Działa to OK mount1
(choć pokazuje „ /
” na czerwono), ale df1
czasami chciałbym dodać -h
opcję df
i nie mogę tego zrobić df1 -h
. Wolałbym nie mieć aliasu dla każdej kombinacji opcji, której chciałbym użyć. Czy naprawdę muszę analizować definiowanie funkcji w bash (wolałbym tego nie robić)? Czy istnieje lepsze rozwiązanie df1
?
df --type ntfs
nie pokazuje partycji 5 NTFS i dlatego pomija je w wynikach dla mnie--type fuseblk
do tego--type ntfs
było to w moim aliasie od czasu, gdy obsługa NTFS była minimalna (czas, w którym trzeba było sprawdzić system plików na partycji NTFS po ponownym uruchomieniu do systemu Windows% -)). Zaktualizowałem moją odpowiedź, dzięki.Możesz zdefiniować funkcję w następujący sposób:
Przykładowe dane wyjściowe:
Tutaj
$@
możesz wprowadzić swoje argumenty! [Uwaga:$@
należy zawsze pisać w cudzysłowie, chyba że masz konkretny powód, aby tego nie robić. -ed]źródło
Jeśli przełączenie na inną
df
jest opcją, użyjpydf
zamiast tego, ponieważ nie pokazuje ona systemów plików domyślnie posiadających 0 bloków i ma domyślnie włączony wskaźnik, kolory i niektóre inne właściwości. Działa dość dobrze aliasdf
, a oryginał jest zawsze dostępny przy użyciu\df
.źródło
mount
.Ta odpowiedź próbuje rozwiązać następujące problemy Yves :
i
i (3) dodać ważną informację do zmieniającego się wyniku, który jest
df
linią nagłówka zmieniającą się zgodnie z dostarczonymi flagami.(1) Potrzebujesz
function
, ponieważ z definicji wymaga argumentów. I jest to bardzo proste do zdefiniowania i użycia, jak dowiesz się poniżej.(2) czerwony
/
jest produkowany przezgrep --color
, co jest wspólnym aliasem dlagrep
siebie (możesz to sprawdzić, uruchamiającalias
).kod
Powyższe nowe wiersze mają na celu poprawę czytelności, możesz je zastąpić spacją.
Skopiuj i wklej ten fragment bezpośrednio do interaktywnej sesji bash lub, jeszcze lepiej, dołącz go do swojego
~/.bashrc
.Przykładowe użycie
Co to robi
Funkcja
df1
wywołujedf
dowolne argumenty, które przekazujesz, i potoki (|
) generują dane wyjściowesed
, które są wywoływane w-n
celu powstrzymania automatycznego drukowania przestrzeni wzorców. Reszta wyraża „skrypty” sed, dwa właściwie:1p
wypisuje pierwszą linię, która w naszym przypadku jestdf
nagłówkiem (używam tego samego dops
pipingu),/^\//p
dopasowuje dowolny wiersz zaczynający się od/
, a następnie go drukuje;
oddziela 2 skrypty sedźródło
Używam
alias df='df -hT -xtmpfs -xdevtmpfs'
.Prawie szkoda, że musisz użyć aliasu, aby GNU
df
rzeczywiście działało w Linuksie. Powinna istnieć opcja wyświetlania tylko „prawdziwych” systemów plików (cokolwiek to oznacza).W rzeczywistości usuwa
df -hxtmpfs
większość bzdur i pozostaje użyteczny bez aliasu. Nie bardzo gorzej niżnetstat -tulnp
i takie ... * westchnienie *źródło
Czytanie
man mount
pokazał mi inny sposób na uzyskanie dokładnie pożądanego wyniku.
Stworzyłem funkcję
lsmounts
Objaśnienie argumentów:
-D
: dostarczaj dane wyjściowe tak, jak je znamydf
-t
: wybierz typy systemów plików, które chcesz zobaczyć. Wyprzedzanieno
wyklucza wspomniane systemy plików.Otrzymuję więc pożądaną moc wyjściową
źródło