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

Команда basename: получить последнюю часть имени

Выделите имя из строки пути и при необходимости снимите известный суффикс. Узнайте, почему basename не проверяет существование файла и не разрешает ссылки.

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

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

basename преобразует строку пути в её последнюю компоненту. Она полезна при построении подписи или имени результата, но не удостоверяет существование объекта. Можно успешно получить имя из пути, которого никогда не было в файловой системе.

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

Форма basename ИМЯ [СУФФИКС] допускает удаление точно заданного окончания. Суффикс — буквальный текст, а не маска расширений. Вход с завершающим слешем обрабатывается как имя последней непустой компоненты; корень остаётся особым случаем.

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

Проверка: Вывод autumn не содержит каталога и указанного суффикса.

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

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

ЗаписьСмысл
NAMEСтрока пути; её доступность не проверяется.
SUFFIXУдалить совпавшее окончание, если оно не равно всему имени.
--Завершить опции перед именем, начинающимся с дефиса.
-aОбработка нескольких имён в GNU basename; отсутствует в учебном режиме.

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

Результат печатается в stdout и обычно завершается newline. Этот перевод строки неудобен как разделитель произвольных файловых имён: само имя в Linux может содержать newline. Для машинного протокола выбирают подходящий формат и отдельно проверяют правила потребителя.

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

Строковая операция не является защитой от обхода пути или проверки symlink. После получения имени нельзя считать исходный путь доверенным. Имя archive.tar.gz со снятым .gz становится archive.tar; команда не знает, какой тип архива вы планировали получить.

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

Учебный режим поддерживает один путь, необязательный суффикс и --. NUL запрещён, множественные имена и -z отсутствуют. Несколько начальных слешей рассматриваются как обычный корень Linux. Команда не обращается даже к виртуальным файлам: она меняет только строку.

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

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

  • GNU Coreutils — basename

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

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

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

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

Поиск по Linux

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

Навигация