Как из Linux терминала вывести размер файла

Одна из удобнейших вещей файловых менеджеров в том, что в них как правило автоматически выводятся размеры файлов. Если вас именно это останавливает от использования терминала как основного инструмента, то этот пост возможно изменит ваше отношение к нему.<!--more-->

Вывод размеров файлов через команду ls

Самый очевидный способ - это воспользоваться средствами команды ls. Если вы новичок в Linux, то наверное вам ещё не известно, что почти каждая команда принимает аргументы.

Для вывода размеров файлов, мы воспользуемся двумя параметрами: s - выводит размеры файлов и h - конвертирует размер файлов в формат, удобный для чтения человеком:

$ ls -sh

По умолчанию, команда выведет список файлов директории, где вы сейчас находитесь. Однако вы можете передать путь к директории, где находится файл размер которого вы желаете разузнать:

$ ls -sh ~/Загрузки

Но одна из слабых сторон команды ls в том, что она не может вычислять размер, скажем директории с его содержимым. И тут приходит на помощь другая команда.

Вывод размеров файлов и директорий с помощью du

du - это команда, которая доступна по-умолчанию на многих Linux дистрибутивах.

Попробуйте выполнить эту команду без никаких параметров:

$ du

По-умолчанию эта команда начнёт выводить размер каждой директории с его вложениями. К счастью, как и ls, du поддерживает аргументы. Если желаете увидеть только размеры папок и файлов из текущей директории, без никаких вложенных папок и файлов, то воспользуйтесь следующей командой:

$ du -d 1 -h

Где параметром:

  • -d указываете уровень вложенности
  • -h заставляете показывать размеры файлов в человеко-понятном формате.

А также имейте в виду, что команде du можно отправлять пути к директориям или файлам:

$ du -h ~/картинка.png

Создайте алиасы для удобства

Возможно запоминать все эти параметры немного трудновато. В таком случае просто создайте алиасы к командам в вашем .bashrc. Откройте через текстовый редактор файл ~/.bashrc:

$ vim ~/.bashrc

И добавьте в конец файла следующие строки:

alias du='du -h -d 1'
alias ls='ls -sh'

И сохраните изменения. Теперь команда ls по умолчанию будет показывать размеры файлов, а du будет показывать размеры файлов и папок только 1 уровня вложенности.