Главная > Управление файлами и каталогами > realpath

realpath: Проверка реального пути

Команда realpath следует по символическим ссылкам и удаляет относительные компоненты пути, такие как `.` или `..`, чтобы вывести абсолютный путь к файлу или каталогу. Это полезно для определения точного местоположения файла в скриптах или для упрощения сложных путей.

Обзор

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

Основные функции

  • Разрешение символических ссылок
  • Преобразование относительных путей в абсолютные
  • Нормализация пути (например, удаление `//`, `/./`, `/../`)

Основные опции

Команда realpath предоставляет несколько полезных опций для управления способом разрешения пути.

Опции обработки пути

Сгенерированная команда:

Комбинируйте команды.

Описание:

`realpath` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Различные примеры использования команды realpath.

Проверка абсолютного пути текущего каталога

realpath .

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

Проверка реального абсолютного пути к файлу

realpath my_document.txt

Выводит реальный абсолютный путь к указанному файлу.

Проверка реального пути к символической ссылке

ln -s /etc/hosts myhosts
realpath myhosts

Выводит абсолютный путь к реальному файлу или каталогу, на который указывает символическая ссылка. (Создание символической ссылки для примера)

Нормализация пути без разрешения символических ссылок

ln -s /etc/hosts myhosts
realpath -s myhosts

Нормализует заданный путь без перехода по символическим ссылкам.

Вывод относительного пути к определенному каталогу

realpath --relative-to=/home/user /home/user/documents/report.pdf

Выводит относительный путь к целевому пути относительно заданного базового каталога (`--relative-to`).

Советы и примечания

realpath очень полезен для устранения неопределенности путей в скриптах, повышения безопасности и точности.

Важность нормализации пути

realpath автоматически удаляет ненужные компоненты пути, такие как `//`, `/./`, `/../`, предоставляя наиболее краткий и точный абсолютный путь. Это уменьшает ошибки при сравнении путей или доступе к файлам в скриптах.

Использование с xargs

find . -type f -print0 | xargs -0 realpath -z

При обработке реальных путей нескольких файлов использование опции `-z` с `xargs -0` позволяет безопасно обрабатывать имена файлов, содержащие пробелы или специальные символы.

Обработка несуществующих путей

По умолчанию realpath работает только с существующими путями. При выполнении для несуществующего пути возвращается ошибка. Для обработки этого в скриптах рекомендуется подавлять сообщения об ошибках с помощью опции `-q` или сначала проверять существование пути с помощью `test -e`.



Те же команды в категории