kzen.dev
  • Питання
  • Мітки
  • Користувачі
Сповіщення
Нагороди
Реєстрація
Після реєстрації ви отримаєте повідомлення про відповіді та коментарі на свої запитання.
Ввійти
Якщо у вас вже є обліковий запис, увійдіть, щоб перевірити нові сповіщення.
За додані запитання, відповіді та коментарі будуть винагороди.
Ще
Джерело
Редагувати
Paul Sheldrake
Paul Sheldrake
Question

Як зробити так, щоб `ls` показував розміри файлів в мегабайтах?

Які команди потрібні для того, щоб Linux ls показував розмір файлу в МБ?

456 2013-02-08T08:31:58+00:00 3
a CVn
a CVn
Edited question 8-го лютого 2013 в 9:37
Unix & Linux
linux
ls
This question has 1 відповідь in English, to read them log in to your account.
Solution / Answer
a CVn
a CVn
8-го лютого 2013 в 8:40
2013-02-08T08:40:09+00:00
Ще
Джерело
Редагувати
#14725321

ls -l --block-size=M видасть вам довгий формат лістингу (необхідний для того, щоб реально побачити розмір файлу) і *округлить розмір файлу до найближчого MiB.

Якщо вам потрібні MB (10^6 байт), а не MiB (2^20 байт) одиниці, використовуйте --block-size=MB замість цього.

Якщо ви не хочете, щоб до розміру файлу додавався суфікс M, ви можете використовувати щось на зразок --block-size=1M. Дякуємо Stéphane Chazelas за пропозицію.

Якщо вам просто потрібні розміри файлів у &quo ;розумних&quo ; одиницях, а не в конкретно мегабайтах, то ви можете використовувати -lh для отримання довгоформатного списку і зручного для читання представлення розміру файлу. При цьому будуть використовуватися одиниці розміру файлу, щоб зберегти розмір файлу, представлений приблизно 1-3 цифрами (тому ви побачите такі розміри файлів, як 6.1K, 151K, 7.1M, 15M, 1.5G і так далі).

Параметр --block-size описано на сторінці man для ls; man ls і шукайте SIZE. Він дозволяє використовувати одиниці, відмінні від MB/MiB, а також, судячи з усього (я не пробував), довільні розміри блоків (так що ви можете побачити розмір файлу як кількість 429-байтових блоків, якщо захочете).

Зауважте, що як --block-size, так і -h є розширеннями GNU на додачу до the Open Group's ls, тож це може не спрацювати, якщо у вас немає користувацького середовища GNU (яке є у більшості інсталяцій Linux). Команда ls з GNU Coreutils 8.5 підтримує --block-size і -h, як описано вище. Дякуємо kojiro за те, що вказав на це.

a CVn
a CVn
Edited answer 2-го серпня 2018 в 2:24
526
0
 Sirex
Sirex
8-го лютого 2013 в 8:35
2013-02-08T08:35:27+00:00
Ще
Джерело
Редагувати
#14725320

ls -lh дає читабельні для людини розміри файлів, довгий формат.

Він використовує суфікси k, M, G і T (або без суфіксів для байтів) за необхідності, щоб число залишалося невеликим, наприклад, 1.4K або 178M.

-h є розширенням GNU coreutils, а не базового POSIX.

Зауважте, що це не дає точної відповіді на поставлене запитання. Якщо вам потрібні розміри строго у МіБ навіть для малих або гігантських файлів, Michael Kjörling's answer does that for GNU coreutils ls.

Peter Cordes
Peter Cordes
Edited answer 22-го лютого 2018 в 9:14
398
0
 jaciefan
jaciefan
4-го травня 2016 в 7:00
2016-05-04T19:00:36+00:00
Ще
Джерело
Редагувати
#14725322

ls -lhS сортування за розміром, в читабельному для людини форматі

48
0
Додати питання
Категорії
Все
Технологія
Культура / Відпочинок
Життя / Мистецтво
Наука
Професіонал
Бізнес
Користувачі
All
New
Popular
1
Роман Азаров
Registered 10 годин тому
2
Mansur Zakirov
Registered 3 дні тому
3
Тагир Мамедов
Registered 5 днів тому
4
Алексей Толманов
Registered 5 днів тому
5
Valeriu Vodnicear
Registered 2 тижні тому
BG
DA
DE
EL
ES
FI
FR
HU
ID
IT
JA
LT
NL
PT
SK
TR
UK
ZH
© kzen.dev 2023
Джерело
unix.stackexchange.com
за ліцензією cc by-sa 3.0 з атрибуцією