На этот вопрос уже есть ответ:
У меня есть файл. Я хотел бы вывести полный путь к нему в терминале.
Какая команда будет?
Я нашел его:
sudo apt-get install realpath
Затем:
realpath MY_FILE
, Если Вы не знаете местоположение использования файла find
команда.
find / -name MY_FILE
Это распечатает полный путь MY_FILE
запуск от /
.
или можно использовать find $PWD -name MY_FILE
для поиска в текущем каталоге.
, Если Вы знаете, местоположение MY_FILE
затем переходит к папке containg MY_FILE
и использует
pwd
команда для печати полного пути MY_FILE
.
Используйте readlink
с -e
флаг. Не только это дает Вам полный путь файлу, это также представляет реальный путь символьных ссылок
$ readlink -e ./out.txt
/home/xieerqi/out.txt
, я лично использую его в своих собственных сценариях каждый раз, когда необходимо получить полный путь файла
Здесь функция состоит в том, чтобы показать пути к файлам, Вам, возможно, просто понадобится "fpath =...." часть?
pathtofile () { : "gives full path to files given in parameters.";
for f in "$@"; do
fpath="$(
cd -P "$(dirname "$f")" && \
printf '%s\n' "$(pwd)/$(basename "${f}")" || \
{ echo "__An error occured while determining path to file: '${f}'."\
"Maybe your user can't access its directory, most likely?__"
} )"
printf "Full path to: %s\n is: %s\n" "'${f}'" "'${fpath}'";
done
}
Использование с:
pathtofile file1 ../file2 /some/pathwithsymlink/file3
важная часть: CD-P somedir: показывает весь "реальный" путь к somedir.