W Unixie (Tru64), jak sprawić, by ls
polecenie wyświetlało rozmiar pliku w megabajtach? Obecnie jestem w stanie wyświetlić go w bajtach, używając:
ls -la
command-line
unix
ls
mega
phuclv
źródło
źródło
ls --block-size=M
drukuje 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 -lh
drukuje 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.źródło
ls -h
nie 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ć
awk
matematyki: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ćmega
na „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.
źródło
ls -lh
lubls --block-size=M
, ale AWK jest bardzo przydatny!wypróbuj
ls -shR
rekurencyjny format czytelny dla człowieka.źródło
-h
Tru64 , i zrobił to przez dwa lata przed opublikowaniem tej odpowiedzi.spróbuj
ls -lash
, drukuje rozmiary w formacie czytelnym dla człowiekaźródło
du -sm filename.txt
źródło
Możesz także wpisać
Spowoduje to wyświetlenie wszystkich folderów w bieżącym katalogu, w formacie czytelnym dla człowieka, w tym bardziej znane rozmiary plików w Kb, Mb, Gb.
źródło
Jeśli chcesz tylko rozmiar określonego pliku, to polecenie, trywialna ekstrapolacja poprzednich odpowiedzi, to:
-s
jest dla wielkości ih
jest czytelny dla człowieka (jak wspomniano powyżej kilka razy).Dane wyjściowe będą wyglądać następująco:
Jeśli pominiesz nazwę pliku (ów), wyświetli on katalog, umieszczając rozmiar każdego pliku obok jego nazwy - podobnie jak
ls -la
przy wywołaniu bez argumentów nazwy pliku.Mam nadzieję że to pomoże.
źródło
-h
opcja nie istnieje wls
tym systemie.Dla
--block-size
parametru:MB
za 10 ^ 6M
dla 2 ^ 20źródło
1MB
. Z tego powodu okazałemls -l --block-size=kB
się bardziej przydatny.Jeśli interesuje Cię tylko rozmiar pliku i nie musisz używać
ls
polecenia, spróbuj wykonać następujące czynności:Spowoduje to wydrukowanie rozmiaru pliku bez potrzeby parsowania czegokolwiek.
źródło