O que é um nome de caminho completo?

21

Gostaria de entender o que realmente significa o nome do caminho completo. Eu tenho um arquivo no meu diretório pessoal chamado my_script. Eu assumi que o nome do caminho completo é ./my_script, o que significa que ele está na pasta raiz, mas não tenho certeza. Alguém pode me esclarecer sobre isso?

sosytee
fonte
Você pode perguntar "é possível escrever um comando que exibirá a lista de arquivos com seus nomes?" em outra nova pergunta ?
Braiam 27/08/13

Respostas:

30

Não, sua suposição está errada. O nome completo do caminho para o my_scriptarquivo do seu diretório home é: /home/your_user_name/my_script. Ao digitar o ./my_scriptterminal, você realmente tenta executar o script (se for executável) e ele será executado apenas se o seu diretório de trabalho atual for /home/your_user_name/. Para executar o script, você também pode usar o caminho completo do arquivo, como eu disse /home/your_user_name/my_script.

Acredita-se que um nome de caminho UNIX pareça e pareça com endereços da Internet, resultando em compatibilidade. O nome completo do caminho do diretório de trabalho atual pode ser encontrado no terminal usando o seguinte comando:

pwd

Para descobrir o caminho completo para o diretório inicial do usuário, você pode usar:

echo ~
echo $HOME
echo /home/$USER

Os três comandos acima são equivalentes.

Para descobrir o nome completo do caminho para um arquivo, você pode usar o readlinkcomando Por exemplo, no seu caso:

cd ~
readlink -f my_script
Radu Rădeanu
fonte
O +1 readlinkrevela o caminho real dos soft links
lamino 5/09/2018
7

O nome completo do caminho realmente significa o caminho completo para esse arquivo ou pasta do diretório do sistema de arquivos /.

Por exemplo, o caminho completo para o seu script é:

/home/your_username/my_script

Ou, o nome completo do caminho para o grepexecutável é

/bin/grep

Quanto a ./my_script, o símbolo .significa o diretório atual, então você realmente diz "Procure no diretório atual por um arquivo ou pasta chamado my_script"

hytromo
fonte
3

Para entender o caminho completo, você deve primeiro saber o ponto de partida.

O diretório raiz /é o ponto de partida dos sistemas operacionais baseados em * nix. Ele contém todos os outros diretórios do sistema e do usuário.

Diretório inicial do usuário /home/USERNAME/ou ~/abreviado, contém arquivos e diretórios do usuário. Por exemplo Imagens, Música, Documentos, etc. Cada um desses diretórios é referenciado como, /home/USERNAME/DIRECTORYpor exemplo, Documentos, está localizado em /home/USERNAME/Documents.

Assim como nos diretórios, os arquivos são referenciados da mesma maneira, por exemplo, um arquivo nomeado my_scriptlocalizado no diretório inicial do usuário sosyteepode ser referenciado usando o caminho completo /home/sosytee/my_scriptou ~/my_scriptabreviado.

Arquivos e diretórios podem ser referenciados / acessados ​​usando seus caminhos completos de qualquer lugar do sistema. Além disso, é possível acessá-los usando apenas o nome, se estiver no mesmo diretório. Por exemplo, se o usuário estiver ~/usando o terminal, ele poderá acessar o my_scriptarquivo usando just my_script.

Além disso, é possível acessar diretórios e arquivos usando apenas seu nome, se eles forem colocados em sua variável PATH. Você pode ver o que é armazenado no PATH usando echo $PATH.

Exemplos simples de como acessar arquivos usando a linha de comando:

  • O usuário está atualmente em /home/USERNAME/e deseja usar o catcomando em um arquivo localizado em /home/USERNAME/Documentsnomeado foo.txt:

cat Documents/foo.txt

  • O usuário está dentro ~/Documentse deseja executar um script chamado foo.shanúncio localizado ~/Scripts/Foo:

    sh ../Scripts/Foo/foo.sh

    ou

    sh ~/Scripts/Foo/foo.sh

por todos os meios este é apenas um resumo.

Outras informações

Stef K
fonte
2

O nome completo do caminho é o caminho do diretório raiz (ou seja, /). ./my_scripté o nome do caminho relativo, porque o caminho é fornecido relativamente ao diretório atual, indicado por .. Portanto, se você estiver no diretório inicial, o caminho completo será s.th. gosto /home/sosytee/my_script. Para o seu diretório pessoal, existe o "atalho" ~, o que significa que você também pode escrever ~/my_script. Mas é claro que isso resolverá um caminho diferente para cada usuário.

Para ver o caminho completo da sua chamada de diretório atual pwd.

Ninguém
fonte
2

Eu assumi que o nome do caminho completo é ./my_script

Não não é. Esse caminho é relativo. O ponto no início indica o diretório atual:

$ ls ./my_script
my_script
$ cd ..
$ ls ./my_script
ls: cannot access ./my_script: No such file or directory

Como você pode ver, mudei o diretório e o my_scriptnão foi encontrado, o que significa que esse ./my_scriptnão é um caminho absoluto.

Eu assumi que o nome do caminho completo é ./my_script, o que significa que ele está na pasta raiz, mas não tenho certeza.

Da Wikipedia :

[...] Um caminho completo ou caminho absoluto é um caminho que aponta para o mesmo local em um sistema de arquivos, independentemente do diretório de trabalho ou dos caminhos combinados.

Como ./my_scriptnão preenchemos a condição de que sempre que eu encontrar o my_scriptarquivo , devemos inferir que esse é um caminho relativo.

Um caminho relativo é um caminho relativo ao diretório de trabalho do usuário ou aplicativo, portanto, o caminho absoluto completo não precisará ser fornecido.

Braiam
fonte
0

Aqui ... suponho que você esteja perguntando porque instalou o servidor Ubuntu no Windows ...

copie este código para o seu gerenciador de pastas no Windows %userprofile%\AppData\Local\Packages

que mostrará a localização da sua casa ... está escondida em algum lugar do seu sistema

Nesta pasta, clique duas vezes na pasta da distribuição Linux cujos arquivos você deseja visualizar:

  1. Ubuntu: CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
  2. openSUSE Leap 42: 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
  3. SUSE Linux Enterprise Server 1246932SUSE.SUSELinuxEnterpriseServer12SP2_022rs5jcyhyac

Os nomes dessas pastas podem mudar um pouco no futuro. Basta procurar uma pasta com o nome da distribuição Linux.

sua casa estará sob LocalState\rootfs\home

A maioria dessas informações foi obtida em Como acessar os arquivos do Ubuntu Bash no Windows (e a unidade do sistema Windows no Bash)

Hammao
fonte