Display file size in linux

ls-command: how to display the file size in megabytes?

In Unix (Tru64), how do I make the ls command show the file size in megabytes? Currently I am able to show it in bytes using the following:

10 Answers 10

Maybe -h is sufficient for you:

-h
When used with the -l option, use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte in order to reduce the number of digits to three or less using base 2 for sizes.

General advice: Use man commandname to read the manual/help of a certain command, e.g. here man ls .

I like your tip about using man, but really, searching on Google is so much faster than using man a lot of the time (as now, when I found this result on Google).

Google’s fine and all for general hints, but ultimately man pages are system/OS, even host specific, usually created when the software is compiled or installed, and thus, authoritative for the software on your particular system.

ls —block-size=M prints the sizes in Megabytes but shows 1MB also for anything below 1 MB. I’m unsure if this option is acceptable in your UNIX version of ls, though.

Actually ls -lh also prints sizes in Gigabytes if the file is big enough (Well anyways: on Linux 64bit this does work :>)

On a side node: du -sh * prints also directory sizes in current directory.

Thanks! I needed to monitor live file changes in a folder and using ls -h is meaningless after a file grows over 1GB, so I use this command in a 1 second loop: while true ; do ls -al —block-size=M ; sleep 1 ; done

You will have to use awk to do the math for you:

This won’t affect the output for files that are smaller than mega .

You may need to adjust the field number to match the way your ls is laid out. You can change mega to «1000000» if that is your preference.

This will print more decimal places than you probably want. You could implement a rounding function.

Источник

How to Display File Size in Human Readable Format (KB, MB, GB) in Linux Terminal

Quick tip to display file size in Linux using the ls command.

You probably already know that you can use ls command with long listing option -l to show file size in Linux.

But unfortunately, the long listing shows the file size in blocks and that’s not of much use to us humans.

The good thing is that you can combine the option -l with -h to show the file size in a human-readable format.

Читайте также:  Yandex disk linux exclude dirs

As you can see, it is better to display file size in a human-readable format.

As you can see, file sizes are now displayed in K (for KB), M for (MB). If the file size is in Bytes, it is not displayed with any suffix. In the above example, char.sh is 140 Bytes in size.

Did you notice the size of new_dir directory? It is 4 KB. If you use ls -lh command on directories, it always shows the size of directory as 4.0 K.

By default, the block size in most Linux system is 4096 Bytes or 4 KB. A directory in Linux is simply a file with the information about the memory location of all the files in it.

You can force ls command to display file size in MB with the —block-size flag.

The problem with this approach is that all the files with a size of less than 1 MB will also be displayed with file size of 1 MB.

The ls command also has -s option to display size. You should combine with -h to show the file size in human readable form.

[email protected]:~/tutorial$ ls -sh total 324M 4.0K char.sh 4.0K hello.sh 319M wp_ghost_export.zip 4.0K file.txt 4.0K new_dir 4.0K filetype.sh 5.5M wp_ghost_export.json

You can use the -S option of the ls command to sort files by size. This is also helpful in knowing which files take the most space on your system.

You can also use the stat command in Linux to check the file size.

I hope you find this quick tip helpful in seeing the file size in Linux.

Источник

Размер файла в Linux

В этой небольшой статье мы поговорим о том, как узнать размер файла в Linux с помощью различных утилит. Проще всего узнать этот параметр в графическом интерфейсе, но многим часто приходится работать в терминале и надо знать как эта задача решается там.

Вы узнаете как посмотреть размер файла через файловый менеджер, утилиту ls, а также du. Об этих утилитах у нас есть отдельные статьи, но эта будет нацелена именно на просмотр размера конкретного файла.

Размер файла в Linux

1. Nautilus

Чтобы посмотреть размер файла в файловом менеджере сначала найдите нужный файл и кликните по нему правой кнопкой мыши. В открывшемся меню выберите Свойства:

Программа откроет окно, в котором будут указаны свойства файла, среди них будет и размер:

2. Команда ls

Для того чтобы утилита ls отображала размер файлов в удобном для чтения формате необходимо использовать параметр -h. Например:

Здесь размер отображается в пятой колонке. Чтобы увидеть размер определённого файла надо передать его имя утилите:

ls -lh ‘Снимок экрана от 2020-08-10 20-22-50.png’

Можно ещё вручную указать единицы измерения для показа размера. Для этого используйте опцию —block-size. Например, мегабайты:

Вместо ls можно использовать команду ll, её вывод полностью аналогичен команде ls -l:

3. Утилита stat

Программа stat кроме метаданных позволяет выводить размер файла в байтах. Например:

stat ‘Снимок экрана от 2020-08-10 20-22-50.png’

Если нужно показать только размер, используйте опцию с указанием формата %s:

Читайте также:  Ручная настройка сети linux

stat -c %s ‘Снимок экрана от 2020-08-10 20-22-50.png’

4. Утилита du

Программа du специально предназначена для просмотра размера файлов в папке. Вы можете просмотреть размер конкретного файла, например:

du -h ‘Снимок экрана от 2020-08-10 20-22-50.png’

Опция -h включает вывод размера в удобном для чтения формате. Если вы хотите посмотреть размеры для всех файлов в папке, просто передайте путь к папке:

А чтобы узнать размер папки в Linux используйте опцию -s. Она суммирует размеры всех объектов:

5. Утилита ncdu

Программа ncdu позволяет анализировать дисковое пространство занимаемое файлами и каталогами. Но она не поставляется вместе с системой. Для её установки выполните:

Затем просто укажите в параметрах каталог, размер которого вы хотите посмотреть:

Все файлы будут отсортированы по размеру, а в самом низу будет отображен общий размер этой папки:

6. Утилита find

С помощью этой утилиты вы не можете узнать размер файла, зато можете найти файлы с определённым размером. С помощью параметра size можно указать границы размера файлов, которые надо найти. Например, больше чем 2000 килобайт, но меньше чем 2500 килобайт:

find ~/Изображения/ -size +2000k -size -2500k

Размер можно ещё указывать в мегабайтах для этого используйте приставку M, или в байтах, тогда никакой приставки не нужно.

Выводы

В этой небольшой статье мы разобрались как узнать размер файлов linux, а также как посмотреть размер каталога и всех файлов в нём с помощью различных утилит. А какие способы просмотра размера используете вы? Напишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

How to get file and directory size in Linux

In Linux, you can use command-line tools like ls, stat, and du to display information about files and directories, such as their sizes. While ls and stat provide general information, du is a specialized tool for displaying size-related details.

Use du to identify large files or folders on your system, which can help you free up storage by deleting unnecessary items. However, du isn’t intended for viewing overall disk usage information.

Steps to check file and folder sizes in Linux:

$ du Documents/random.txt 16 Documents/random.txt
$ du -h Documents/random.txt 16K Documents/random.txt

Size will automatically be displayed in K (Kilobytes), M (Megabytes), G (Gigabytes) or T (Terabytes) unit.

$ du -h Documents/ 21M Documents/Finance 4.0K Documents/Secret/Empty 40K Documents/Secret 21M Documents/
$ du -h --max-depth=1 Documents/ 21M Documents/Finance 40K Documents/Secret 21M Documents/
$ du -hc Documents/ 21M Documents/Finance 4.0K Documents/Secret/Empty 40K Documents/Secret 21M Documents/ 21M total
$ du -hs Documents/ 21M Documents/
$ sudo du -hs /var/cache/ [sudo] password for user: 117M /var/cache/
$ sudo du -hs /var/cache/* 6.2M /var/cache/apparmor 16M /var/cache/app-info 75M /var/cache/apt 6.1M /var/cache/cracklib 32K /var/cache/cups 5.2M /var/cache/debconf 40K /var/cache/dictionaries-common 2.7M /var/cache/fontconfig 2.1M /var/cache/fwupd 0 /var/cache/fwupdmgr 60K /var/cache/ldconfig 2.1M /var/cache/man 8.0K /var/cache/PackageKit 8.0K /var/cache/private 4.0K /var/cache/realmd 2.2M /var/cache/snapd
$ du --help Usage: du [OPTION]. [FILE]. or: du [OPTION]. --files0-from=F Summarize disk usage of the set of FILEs, recursively for directories. Mandatory arguments to long options are mandatory for short options too. -0, --null end each output line with NUL, not newline -a, --all write counts for all files, not just directories --apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like -B, --block-size=SIZE scale sizes by SIZE before printing them; e.g., '-BM' prints sizes in units of 1,048,576 bytes; see SIZE format below -b, --bytes equivalent to '--apparent-size --block-size=1' -c, --total produce a grand total -D, --dereference-args dereference only symlinks that are listed on the command line -d, --max-depth=N print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize --files0-from=F summarize disk usage of the NUL-terminated file names specified in file F; if F is -, then read names from standard input -H equivalent to --dereference-args (-D) -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) --inodes list inode usage information instead of block usage -k like --block-size=1K -L, --dereference dereference all symbolic links -l, --count-links count sizes many times if hard linked -m like --block-size=1M -P, --no-dereference don't follow any symbolic links (this is the default) -S, --separate-dirs for directories do not include size of subdirectories --si like -h, but use powers of 1000 not 1024 -s, --summarize display only a total for each argument -t, --threshold=SIZE exclude entries smaller than SIZE if positive, or entries greater than SIZE if negative --time show time of the last modification of any file in the directory, or any of its subdirectories --time=WORD show time as WORD instead of modification time: atime, access, use, ctime or status --time-style=STYLE show times using STYLE, which can be: full-iso, long-iso, iso, or +FORMAT; FORMAT is interpreted like in 'date' -X, --exclude-from=FILE exclude files that match any pattern in FILE --exclude=PATTERN exclude files that match PATTERN -x, --one-file-system skip directories on different file systems --help display this help and exit --version output version information and exit Display values are in units of the first available SIZE from --block-size, and the DU_BLOCK_SIZE, BLOCK_SIZE and BLOCKSIZE environment variables. Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set). The SIZE argument is an integer and optional unit (example: 10K is 10*1024). Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB. (powers of 1000). Binary prefixes can be used, too: KiB=K, MiB=M, and so on. GNU coreutils online help: Full documentation or available locally via: info '(coreutils) du invocation'

Author: Mohd Shakir Zakaria
Mohd Shakir Zakaria, a proficient cloud architect, is deeply rooted in development, entrepreneurship, and open-source advocacy. As the founder of Simplified Guide, he combines these passions to help others navigate the intricate world of computing. His expertise simplifies complex tech concepts, making them accessible to everyone. Discuss the article:

Читайте также:  Менеджеры операционной системы linux

Comment anonymously. Login not required.

Источник

Оцените статью
Adblock
detector