ls -l --block-size=M fornecerá uma lista longa de formatos (necessária para ver o tamanho do arquivo) e tamanhos reduzidos de arquivos para o MiB mais próximo.
Se você quiser unidades MB (10 ^ 6 bytes) em vez de MiB (2 ^ 20 bytes), use --block-size=MB .
Se você não quiser o sufixo M anexado ao tamanho do arquivo, poderá usar algo como --block-size=1M . Obrigado Stéphane Chazelas por sugerir isso.
Se você quiser apenas tamanhos de arquivo em unidades "razoáveis", em vez de especificamente megabytes , use -lh para obter uma listagem de formato longo e legível por humanos apresentação de tamanho de arquivo. Isso usará unidades de tamanho de arquivo para manter os tamanhos dos arquivos apresentados com cerca de 1 a 3 dígitos (assim, você verá tamanhos de arquivo como 6.1K , 151K , 7.1M , 15M , 1.5G e assim por diante.
O parâmetro --block-size é descrito na página man de ls; man ls e procure por SIZE . Ele também permite unidades diferentes de MB / MiB e, a partir da aparência (também não tentei), tamanhos arbitrários de blocos (assim, você pode ver o tamanho do arquivo como um número de blocos de 429 bytes se quiser). para).
Observe que --block-size e -h são extensões do GNU em cima de % co_de do grupo aberto % , portanto, isso pode não funcionar se você não tiver uma área de usuário GNU (que a maioria das instalações do Linux faz). O ls do GNU Coreutils 8.5 suporta --block-size e -h como descrito acima. Obrigado ao kojiro por apontar isso.