Вы можете получить полный путь к текущему каталогу с помощью команды pwd:
Но как получить абсолютный путь к файлу в системах Linux?
Существует несколько способов вывести полный путь к файлам:
- readlink
- realpath
- найти
- комбинирование ls и pwd
Позвольте мне показать вам эти команды по очереди.
Но перед этим я предлагаю сначала ознакомиться с основами концепции абсолютного и относительного пути.
Использование команды readlink для получения пути к файлу
Команда readlink предназначена для разрешения символических ссылок.
Вы можете использовать ее для отображения полного пути к файлу следующим образом:
Вот пример:
Использование команды для получения полного пути к файлу
Команда realpath используется для разрешения абсолютных имен файлов.
Помимо прочего, она может показать полный путь к файлу.
Взгляните на этот пример:
Если вы используете файл с символической ссылкой, он покажет реальный путь к исходному файлу.
Вы можете заставить его не следовать за символической ссылкой:
Вот пример, где он по умолчанию показывает полный путь к исходному файлу, а затем я заставил его показать символическую ссылку, а не исходный файл.
Используем команду find для получения абсолютного пути к файлу
Вот в чем дело с командой find.
Все относительно каталога, который вы указываете для поиска.
Если вы укажете ей ., она покажет относительный путь.
Если вы укажете абсолютный путь к каталогу, вы получите абсолютный путь к искомым файлам.
Используйте подстановку команд с командой find следующим образом:
Вы можете запустить команду для поиска полного пути к одному файлу:
Или вы можете использовать его с кучей файлов, соответствующих определенному шаблону:
Выведем полный путь с помощью команды ls
Этот способ немного сложный и запутанный.
Вы можете использовать переменную окружения PWD с командой ls следующим образом, чтобы отобразить файлы и каталоги с их абсолютным путем:
Вы получите результат, подобный этому:
Однако, чтобы вывести полный путь к файлу с помощью команды ls, вам придется использовать ее следующим образом:
Не самое чистое решение, но оно работает.
$ ls -l $PWD/sample.txt
-rw-r--r-- 1 itsecforu itsecforu 12813 Sep 7 11:50 /home/itsecforu/sample.txt
Заключение
Мы рассмотрели четыре различных способа получения полного пути к файлу в Linux.
Команды find и ls являются обычными, в то время как realpath и readlink едва ли известны многим пользователям Linux.
Всегда полезно узнавать что-то новое, не так ли?
см. также:
- 🐧 Как улучшить время загрузки apt
- 📦 Как проверить, был ли какой-либо из файлов RPM добавлен или изменен
- 📂 Как найти текущий рабочий каталог процесса, используя Pwdx на Linux
- 🏪 Linux для пентестера: использование Find для повышение привилегий
- 🔳 findmnt – показывает установленные в настоящее время файловые системы в Linux
- Findsploit – найти эксплойты локальных и онлайн баз данных
- 🐧 Поиск файлов, измененных за последние N минут на Linux
- 🔎 Аудит исходного кода с помощью GREP
U best of the best
привет всем
зачем нужны примеры типа -> ls -ld $PWD/*
интереснее сразу пошарить за флагами -l -a
Привет, а почему нет?)