Ответ
В 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/.