В Linux я набираю du -sh * | sort -rh
, чтобы отобразить файлы и каталоги в моем текущем каталоге, отсортированные от большего к меньшему.
Как это сделать в терминале OSX, желательно без дополнительной установки?
В Linux я набираю du -sh * | sort -rh
, чтобы отобразить файлы и каталоги в моем текущем каталоге, отсортированные от большего к меньшему.
Как это сделать в терминале OSX, желательно без дополнительной установки?
Лучший ответ на этот вопрос спустя 2 года (с использованием терминала в OSX 10.11) — просто добавить -h к команде ls, чтобы получить удобочитаемые размеры файлов.
Насколько я понимаю, в более поздних версиях OSX использование brew для установки coreutils не требуется. (Если я ошибаюсь, кто-нибудь поправит меня.)
Например, чтобы получить список файлов в текущем каталоге в виде списка из одного столбца и отображения сведений о файле, введите:
ls -l
Если вам нужны удобочитаемые размеры файлов, просто добавьте «h»:
ls -hl
or
ls -lh
Буквы после «-» в этом случае могут стоять в любом порядке.
Если, как указано в деталях вопроса, кто-то хочет, чтобы список файлов был упорядочен по размеру файла, наибольший размер файла вверху, добавьте заглавную букву «S»:
ls -lhS
Если вы хотите, чтобы невидимые файлы также были перечислены, добавьте «a»:
ls -alhS
Опять же, буквы после «-» могут быть в любом порядке.
Если вы часто создаете и редактируете файлы в текущем каталоге, возможно, потому, что вы находитесь в процессе работы над задачей или проектом, альтернативная комбинация:
ls -hltur
Это список файлов в формате, удобном для чтения человеком, в длинном списке внизу окна терминала.
«t» указывает порядок сортировки файлов по дате/времени их последнего изменения.
Затем «u» немного изменяет это, чтобы использовать время последнего доступа к файлам, а не время последнего изменения.
Затем «r» меняет порядок списка, так что файлы, к которым недавно обращались или «тронули», перечислены последними в нижней части списка.
Полная комбинация означает, что у вас есть подробный список с файлами, которые вы читали, открывали или модифицировали в последнее время, или которые были «тронуты» аналогичным образом запущенным вами процессом или другим процессом, все в нижней части списка.
Следовательно, даже если список в вашем текущем каталоге такой длинный, что начало списка больше нельзя прочитать без прокрутки вверх, файлы, с которыми вы взаимодействовали, скорее всего, останутся видимыми сразу над вашей следующей, готовой к вводу командной строкой.
Эти и другие параметры находятся на странице руководства для команды ls:
man ls
Если вы хотите регулярно отображать файлы в одном из вышеперечисленных форматов или другом по вашему выбору после прочтения справочной страницы, вы можете добавить псевдоним к вашему файлу .bash_profile (например, используя nano, чтобы открыть этот файл, и делать это, находясь в своем домашнем каталоге).
Например, чтобы выполнить желаемое исходным постером вопроса, откройте файл и на новой строке добавьте:
alias lss='ls -hlS'
Затем, после сохранения файла и выхода из этого окна терминала и открытия нового окна терминала, ввод «lss» в командной строке должен предоставить то, что вы обычно ищете при просмотре файлов.
Если вы не знаете, как использовать nano, сначала вызовите его справочную страницу, набрав
man nano
Страница руководства объяснит, как использовать nano.
Чтобы выйти из справочной страницы и вернуться туда, где вы можете ввести команду, нажмите клавишу «q».
ls -h
сломан, он показывает очень маленький размер папки, всего несколько байтов или килобайт вместо гб. Здесь что-то не так? Я использую Мохаве.
- person Minh Nghĩa; 05.09.2019
ls -lah
возвращает, что размер всех моих папок составляет 4 КБ :|
- person Minh Nghĩa; 07.09.2019
du
, чтобы можно было показать размер каталогов (т.е. рекурсивно). Таким образом, ответ coreutils лучше, чтобы вы могли написать du -sh * | gsort -h
- person HankCa; 20.10.2019
Вы не знаете. Если вы не установите GNU Coreutils.
Например, с пивом
brew install coreutils
а затем вы получаете команду gsort, которая поддерживает параметр -h.
ls
, чтобы я мог использовать их с du. Например cd ~; du -sh * | gsort -h
- person HankCa; 20.10.2019
В приведенной ниже командной строке будут перечислены все файлы и каталоги в текущем каталоге, отсортированные по размеру (от большего к меньшему). Вывод форматируется в
ls -S -lh | awk '{print $5, $9}'
du
.
- person Ken Thomases; 23.08.2014