vdir
1. Что такое vdir и зачем он нужен
- Определение
Командаvdir– это утилита из пакетаutil-linux, которая выводит список содержимого каталога без подробной информации о файлах, в отличие отls. Это позволяет быстро просматривать структуру каталогов. - Ключевые преимущества
- Минимальный объём вывода (только имена файлов и папок).
- Быстрая работа с большими директориями.
- Поддержка стандартных опций сортировки, что облегчает скриптовую обработку.
2. Как установить vdir
- Debian/Ubuntu
sudo apt-get update && sudo apt-get install util-linux - CentOS/RHEL
sudo yum install util-linux - Arch Linux
sudo pacman -S util-linux
3. Основные варианты использования
| Опция | Что делает | Пример |
|---|---|---|
-a или --all | Показывает скрытые файлы (начинающиеся с .) | vdir -a /etc |
-l | Форматирует вывод в длинном виде, аналогично ls -l | vdir -l ~/projects |
-R | Рекурсивно выводит содержимое подкаталогов | vdir -R /var/log |
--sort=name | Сортировка по имени (по умолчанию) | vdir --sort=name /home/user |
3.1 Практический пример: мониторинг логов
Bash
# Вывести все файлы в /var/log, включая скрытые, сортируя по дате изменения
vdir -lR --sort=time /var/log | grep '.log'-lRобеспечивает подробный вывод и рекурсию.grep '.log'фильтрует только лог-файлы.
3.2 Автоматическое обновление списков файлов
Bash
#!/usr/bin/env bash
# Скрипт для обновления списка файлов в каталоге /backup
output="/tmp/backup_list.txt"
vdir -lR /backup > "$output"
echo "Список файлов сохранён: $output"- Такой скрипт удобно использовать в cron‑задачах.
4. Советы по работе с vdir
- Совет по производительности
При работе с огромными директориями используйте--no-sort, чтобы избежать лишней сортировки и ускорить вывод:vdir --no-sort /mnt/huge_dir - Совет для скриптов
Используйте флаг-n(или--null) в сочетании сxargs, чтобы корректно обрабатывать имена файлов, содержащих пробелы:vdir -a /var/www | tr '\n' '\0' | xargs -0 -I{} echo "Файл: {}"
5. Интеграция vdir в систему управления версиями
- Git
Для быстрого просмотра файлов, отслеживаемых Git‑репозиторием, можно выполнить:vdir -a . | grep '^\..*' # Показывает скрытые файлы и папки репозитория - Subversion
Аналогичноvdirудобно использовать для вывода списка изменений без лишних деталей.
6. Часто задаваемые вопросы
| Вопрос | Ответ |
|---|---|
| Можно ли изменить вывод по умолчанию? | Да, создайте алиас: alias vdir='vdir -l'. |
| Как убрать расширения файлов из вывода? | Используйте awk или sed: |