Команды / Справочник

Команда dirname: выделить каталог из строки пути

Получите строку родительской части пути без обращения к файлам. Разберите имя без слеша, корень и компоненты .., которые сохраняются в результате.

Начальный10 минОбщие принципы LinuxGNU Coreutils · documented stable optionsDramtezi Simulator 0.1

Назначение команды

dirname удаляет последнюю компоненту строкового имени. Результат подходит для дальнейшего анализа пути, но не доказывает наличие каталога или доступ к нему. Команда не выполняет cd и не меняет текущую рабочую точку оболочки.

Синтаксис и учебный пример

Форма dirname ИМЯ возвращает точку для обычного имени без слеша. Для /srv/reports/day.txt результатом будет /srv/reports. Компоненты .. не разрешаются по реальному дереву: a/../b даёт a/.., а не вычисленный физический каталог.

Виртуальный терминал
dirname /srv/reports/day.txt

Проверка: Вывод /srv/reports — строковая родительская часть.

Опции и варианты записи

Таблица разделяет основные формы записи. Ниже отдельно перечислены пределы виртуальной команды.

ЗаписьСмысл
NAMEСтрока, из которой удаляется последняя компонента.
--Отделить опции от имени с начальным дефисом.
Несколько имёнGNU dirname допускает несколько аргументов; учебная версия принимает один.
-zNUL-разделение результатов в GNU dirname; вне модели.

Вывод, ошибки и статус

Результат идёт в stdout, а ошибка использования — в stderr. Успех преобразования не означает, что следующий cd получится: отсутствие каталога, search permission и символические ссылки рассматриваются уже при обращении к файловой системе.

Как избежать неверного результата

Не сокращайте a/.. вслепую, если a может быть ссылкой и требуется физическое разрешение. Отдельно определяйте, работаете ли вы со строковым адресом или существующим объектом. dirname также не создаёт отсутствующих родителей: это другая операция с самостоятельной проверкой результата.

Реальная система и учебная модель

В тренажёре принимается один путь и --; NUL и опции GNU запрещены. Корневые слеши схлопываются по выбранному правилу Linux, без отдельного значения // других платформ. Текущий каталог остаётся прежним, а VFS не читается и не изменяется.

Технические источники

Использованы для проверки поведения. Объяснения и учебные сценарии созданы для проекта.

  • GNU Coreutils — dirname

Проверка текста: 2026-09-11. Нативное исполнение на всей матрице дистрибутивов ещё не подтверждено.

Основные понятия общие для Linux. Состав утилит, версии и системные настройки зависят от окружения.

От материала к практике

Выберите следующую тему в каталоге Linux или проверьте знакомые команды в учебном терминале.

Поиск по Linux

Поиск локальный. ↑ ↓ — перейти к результату, Enter — открыть.

Навигация