Обзор
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`.