Eu encontrei:
sudo apt-get install realpath
Então:
realpath MY_FILE
Eu tenho um arquivo. Eu gostaria de ecoar o caminho completo para ele no terminal.
Qual comando seria?
Eu encontrei:
sudo apt-get install realpath
Então:
realpath MY_FILE
Use readlink
com -e
flag. Não só te dá o caminho completo para o arquivo, mas também apresenta o caminho real dos links simbólicos
$ readlink -e ./out.txt
/home/xieerqi/out.txt
Eu pessoalmente uso em meus próprios scripts sempre que é necessário obter o caminho completo de um arquivo
Se você não sabe a localização do arquivo, use o comando find
.
find / -name MY_FILE
Ele imprimirá o caminho completo de MY_FILE
a partir de /
.
ou você pode usar %código% para pesquisar no diretório atual.
Se você souber a localização de find $PWD -name MY_FILE
, vá para a pasta que contém MY_FILE
e use
MY_FILE
para imprimir o caminho completo de pwd
.
Aqui está uma função para mostrar caminhos para arquivos, você pode precisar apenas da parte "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
}
Use com:
pathtofile file1 ../file2 /some/pathwithsymlink/file3
A parte importante: cd -P somedir: mostra o caminho completo "real" para o somedir.
Tags command-line bash files paths