Odpowiedzi:
Może ci -hwystarczy:
-h
W przypadku użycia z opcją -l użyj sufiksów jednostek: Bajt, Kilobajt, Megabajt, Gigabajt, Terabajt i Petabajt, aby zmniejszyć liczbę cyfr do trzech lub mniej, używając podstawy 2 dla rozmiarów.
ls -lah
Porada ogólna: man commandnamesłuży do czytania instrukcji / pomocy dla określonego polecenia, np man ls. Tutaj .
ls --block-size=Mdrukuje rozmiary w megabajtach, ale pokazuje 1 MB również dla wszystkiego poniżej 1 MB. Nie jestem jednak pewien, czy ta opcja jest dopuszczalna w twojej wersji ls dla UNIX-a.
Właściwie ls -lhdrukuje również rozmiary w gigabajtach, jeśli plik jest wystarczająco duży (Cóż w każdym razie: w systemie Linux 64bit to działa:>)
W węźle bocznym: du -sh *drukuje również rozmiary katalogów w bieżącym katalogu.
ls -hnie ma znaczenia, gdy plik wzrośnie powyżej 1 GB, więc używam tego polecenia w pętli 1-sekundowej:while true ; do ls -al --block-size=M ; sleep 1 ; done
Będziesz musiał użyć awkmatematyki:
ls -l | awk 'BEGIN{mega=1048576} $5 >= mega {$5 = $5/mega "MB"} {print}'
Nie wpłynie to na dane wyjściowe dla plików mniejszych niż mega.
Konieczne może być dostosowanie numeru pola w celu dopasowania do układu ls. Możesz zmienić megana „1000000”, jeśli takie są twoje preferencje.
Spowoduje to wydrukowanie większej liczby miejsc po przecinku, niż prawdopodobnie chcesz. Możesz zaimplementować funkcję zaokrąglania.
ls -lhlub ls --block-size=M, ale AWK jest bardzo przydatny!
wypróbuj ls -shRrekurencyjny format czytelny dla człowieka.
-hTru64 , i zrobił to przez dwa lata przed opublikowaniem tej odpowiedzi.
Jeśli chcesz tylko rozmiar określonego pliku, to polecenie, trywialna ekstrapolacja poprzednich odpowiedzi, to:
ls -sh nazwa_pliku
-sjest dla wielkości i hjest czytelny dla człowieka (jak wspomniano powyżej kilka razy).
Dane wyjściowe będą wyglądać następująco:
753M myfilename
Jeśli pominiesz nazwę pliku (ów), wyświetli on katalog, umieszczając rozmiar każdego pliku obok jego nazwy - podobnie jak ls -laprzy wywołaniu bez argumentów nazwy pliku.
Mam nadzieję że to pomoże.
-hopcja nie istnieje w lstym systemie.
ls -l --block-size=MB
Dla --block-sizeparametru:
MBza 10 ^ 6Mdla 2 ^ 201MB . Z tego powodu okazałem ls -l --block-size=kBsię bardziej przydatny.
Jeśli interesuje Cię tylko rozmiar pliku i nie musisz używać lspolecenia, spróbuj wykonać następujące czynności:
# echo "Hello World" > file.txt
# ls -l file.txt
-rw-r--r-- 1 user user 12 Mar 10 11:32 file.txt
# stat --printf='%s\n' file.txt
12
Spowoduje to wydrukowanie rozmiaru pliku bez potrzeby parsowania czegokolwiek.