Ответ
В работе тестировщика, особенно при анализировании логов на тестовых серверах или настройке окружения, команда ls используется постоянно. Вот ключевые опции, которые я применяю:
Базовый синтаксис и полезные флаги:
ls # Простой список файлов и папок
ls -l # Детальный список (права, владелец, размер, дата модификации)
ls -la # Показать ВСЕ файлы, включая скрытые (начинающиеся с точки)
ls -lh # Человекочитаемые размеры (K, M, G) вместо байтов
ls -lt # Сортировка по времени изменения (сначала новейшие)
ls -ltr # Сортировка по времени в обратном порядке (сначала старые)
ls -R # Рекурсивный обход всех поддиректорий
Практические примеры из работы:
-
Поиск свежих логов: Допустим, тест упал, и нужно найти последний лог-файл.
ls -lt /var/log/myapp/ | head -5 # Выведет 5 последних изменённых файлов в директории -
Проверка прав доступа к скриптам: Перед запуском тестового скрипта проверяю, есть ли у него право на выполнение.
ls -l scripts/run_tests.sh # Должно быть -rwxr-xr-x или подобное. Если нет 'x' — нужно chmod +x -
Анализ размера артефактов: После сборки проекта проверяю, не «раздулся» ли дистрибутив.
ls -lh build/distributions/ # Покажет размер .jar или .tar файлов в мегабайтах -
Поиск конфигурационных файлов (включая скрытые): Многие настройки (.env, .properties) хранятся в скрытых файлах.
ls -la ~/project/ | grep -E '^.' # Покажет только скрытые файлы и папки в проекте
Совет: Для постоянного использования можно создать алиасы в ~/.bashrc, например:
alias ll='ls -la'
alias lh='ls -lh'
Для навигации между каталогами используется cd, а для создания — mkdir -p /path/to/nested/folder (флаг -p создаст все недостающие родительские директории).