Показать полный путь к файлу в терминале
У меня есть файл. Я хотел бы повторить полный путь к нему в терминале.
Какая команда будет?
4 ответа
Я нашел это:
sudo apt-get install realpath
Затем:
realpath MY_FILE
Использование readlink
с -e
флаг. Он не только дает вам полный путь к файлу, но также показывает реальный путь символических ссылок
$ readlink -e ./out.txt
/home/xieerqi/out.txt
Я лично использую его в своих сценариях всякий раз, когда необходимо получить полный путь к файлу
Если вы не знаете, где находится файл, используйте find
команда.
find / -name MY_FILE
Он напечатает полный путь MY_FILE
начиная с /
,
или вы можете использовать find $PWD -name MY_FILE
искать в текущем каталоге.
Если вы знаете местоположение MY_FILE
затем перейдите в папку MY_FILE
и использовать
pwd
Команда для печати полного пути MY_FILE
,
Вот функция для отображения путей к файлам, вам может просто понадобиться часть "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.