Показать полный путь к файлу в терминале

У меня есть файл. Я хотел бы повторить полный путь к нему в терминале.

Какая команда будет?

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.

Другие вопросы по тегам