Próbuję napisać skrypt, który obliczy rozmiar katalogu, a jeśli rozmiar jest mniejszy niż 10 GB, a większy niż 2 GB, wykonaj jakieś czynności. Gdzie muszę podać nazwę mojego folderu?
# 10GB
SIZE="1074747474"
# check the current size
CHECK="`du /data/sflow_log/`"
if [ "$CHECK" -gt "$SIZE" ]; then
echo "DONE"
fi
du
i jak wszyscy znają wszystkie te polecenia: możesz wpisaćman du
w terminalu, aby wyszukać polecenie du w instrukcji. Spowoduje to wyświetlenie wyniku, który można wyświetlić, i podsumuje wszystkie flagi, takie jak -h, -c, -s, -b, -B, --apparent-size itp., Których odpowiedzi sugerujesz użyć. Następnie możesz sam zdecydować, jak najlepiej wykorzystaćdu
konkretny przypadek użycia.Odpowiedzi:
Możesz to zrobić:
co da ci rozmiar twojego katalogu docelowego.
Jeśli chcesz krótkie wyjście,
du -hcs your_directory
jest miło.źródło
du -hs
==du -hs .
.du | sort -n
posortuje katalogi według rozmiarudu -hcs dir_name/*
obejmuje podfolderyjeśli chcesz zobaczyć rozmiar folderu, a nie podfoldery, możesz użyć:
Aktualizacja:
Powinieneś wiedzieć, że
du
pokazuje używane miejsce na dysku; a nie rozmiar pliku.Możesz użyć,
--apparent-size
jeśli chcesz zobaczyć sumę rzeczywistych rozmiarów plików.I oczywiście
-h
w skrypcie nie ma potrzeby opcji (Czytelny dla człowieka).Zamiast tego możesz użyć
-b
dla łatwiejszego porównania w skrypcie.Należy jednak pamiętać, że
-b
dotyczy to--apparent-size
samo w sobie. I może nie być to, czego potrzebujesz.więc myślę, że powinieneś użyć
--block-size
lub-B
źródło
Użyj podsumowania (
-s
) i bajtów (-b
). Możesz wyciąć pierwsze pole podsumowania za pomocącut
. Kładąc wszystko razem:źródło
Aby uzyskać tylko rozmiar katalogu, nic więcej:
wygląda jak
źródło
--max-depth
jest bardzo przydatny do użytecznego sterowania wyjściem! na przykład, aby uzyskać dobre pojęcie o tym, co dzieje się w katalogu:du -h --max-depth=1
Aby sprawdzić rozmiar wszystkich katalogów w katalogu, możesz użyć:
du -h --max-depth=1
źródło
du -h -d 1
na Androidzie.du -h -d 1
na OSXjeśli chcesz zobaczyć łączny rozmiar folderu i prawdopodobnie w formacie MB lub GB, wypróbuj poniższy skrypt
źródło
-g
i-m
1-Mbyte. przezman du
źródło
Jeśli to pomoże, możesz także utworzyć alias w swoim
.bashrc
lub.bash_profile
.Spowoduje to wydrukowanie rozmiaru bieżącego katalogu lub katalogu przekazanego jako argument.
źródło