Как вывести список домашних директорий пользователей в Linux?

«Как вывести список домашних директорий пользователей в Linux?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Linux домашние директории пользователей обычно находятся в /home/. Для их вывода можно использовать несколько команд:

1. Прямое перечисление содержимого /home/:

ls /home/

Это покажет все поддиректории в /home/, каждая из которых обычно является домашней папкой пользователя.

2. Извлечение путей из /etc/passwd (более точный метод): Файл /etc/passwd содержит информацию о пользователях, где шестое поле — это домашний каталог.

cut -d: -f6 /etc/passwd | grep '^/home/' | sort -u

Эта команда:

  • cut -d: -f6 — извлекает шестое поле (разделитель :).
  • grep '^/home/' — фильтрует только пути, начинающиеся с /home/.
  • sort -u — сортирует и удаляет дубликаты.

3. Получение домашней директории текущего пользователя:

echo $HOME
# или
cd ~ && pwd

Практическое применение в DevOps: При написании скриптов для настройки окружения или резервного копирования я часто использую второй метод, так как он гарантированно возвращает только пути из /etc/passwd, игнорируя возможные временные или системные каталоги в /home/.