В Linux команда dirname
используется для удаления слэшей /
из имени файла и печатает оставшуюся часть.
Если аргумент ИМЯ не содержит слэша /
, то он просто печатает точку .
.
Содержание
Синтаксис
$ dirname [ПАРАМЕТР] ИМЯ…
Выводит каждое ИМЯ, удаляя компонент у последнего слэша /
; если ИМЯ не содержит слэша /
, выводит .
(то есть текущий каталог).
Опции
- -z, --zero
- Завершать каждую выводимую строку NUL, а не символом новой строки
- --help
- Показать эту справку и выйти
- --version
- Показать информацию о версии и выйти
Использование в Linux команды dirname
Путь к подкаталогу
При указании утилите пути к подкаталогу он будет обрезан вместе с завершающем слэшем предыдущего каталога:
oleg@mobile:~:$ dirname ~/store/distros/ubuntu/
/home/oleg/store/distros
oleg@mobile:~:$
Путь к файлу в подкаталоге
При указании пути к файлу в подкаталоге файл будет обрезан вместе с завершающем слэшем предыдущего каталога:
oleg@mobile:~:$ dirname ~/store/distros/ubuntu/ubuntu-20.04.2.0-desktop-amd64.iso
/home/oleg/store/distros/ubuntu
oleg@mobile:~:$
Путь к файлу в текущем каталоге
При указании пути к файлу в текущем каталоге результатом будет .
:
leg@mobile:~/store/distros/ubuntu:$ dirname ubuntu-20.04.2.0-desktop-amd64.iso
.
oleg@mobile:~/store/distros/ubuntu:$
Заключение
В Linux команда dirname
является полезным инструментом для извлечения части каталога из заданного пути или имени файла. Таким образом утилита помогает эффективно управлять путём к файлу и работать с ним, что значительно упрощает задачи создания скриптов.