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?
command-line
paths
sosytee
fonte
fonte
Respostas:
Não, sua suposição está errada. O nome completo do caminho para o
my_script
arquivo do seu diretório home é:/home/your_user_name/my_script
. Ao digitar o./my_script
terminal, 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:
Para descobrir o caminho completo para o diretório inicial do usuário, você pode usar:
Os três comandos acima são equivalentes.
Para descobrir o nome completo do caminho para um arquivo, você pode usar o
readlink
comando Por exemplo, no seu caso:fonte
readlink
revela o caminho real dos soft linksO 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 é:
Ou, o nome completo do caminho para o
grep
executável é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"fonte
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/DIRECTORY
por 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_script
localizado no diretório inicial do usuáriososytee
pode ser referenciado usando o caminho completo/home/sosytee/my_script
ou~/my_script
abreviado.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 omy_script
arquivo usando justmy_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:
/home/USERNAME/
e deseja usar ocat
comando em um arquivo localizado em/home/USERNAME/Documents
nomeado foo.txt:cat Documents/foo.txt
O usuário está dentro
~/Documents
e deseja executar um script chamadofoo.sh
anú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
Guia Bash para Iniciantes , de Machtelt Garrels
Mais sobre o PATH aqui
Sobre a estrutura de diretórios Unix
fonte
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
.fonte
Não não é. Esse caminho é relativo. O ponto no início indica o diretório atual:
Como você pode ver, mudei o diretório e o
my_script
não foi encontrado, o que significa que esse./my_script
não é um caminho absoluto.Da Wikipedia :
Como
./my_script
não preenchemos a condição de que sempre que eu encontrar omy_script
arquivo , devemos inferir que esse é um caminho relativo.fonte
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:
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)
fonte