15 exemplos de comando ‘pwd’ (imprimir diretório de trabalho) no Linux
Para quem trabalha com linha de comando do Linux, o comando ‘pwd’ é muito útil, pois informa onde você está – em qual diretório, começando pela raiz (/). Especialmente para iniciantes em Linux, que podem se perder em meio a diretórios na interface de linha de comando durante a navegação, o comando ‘pwd’ vem para resgatar.
O que é pwd?
‘pwd‘ significa ‘Imprimir diretório de trabalho‘. Como o nome indica, o comando ‘pwd’ imprime o diretório de trabalho atual ou simplesmente o diretório que o usuário está no momento. Ele imprime o nome do diretório atual com o caminho completo começando na raiz (/). Este comando é integrado ao comando shell e está disponível na maior parte do shell - bash, shell Bourne, ksh, zsh, etc.
Sintaxe básica do pwd:
pwd [OPTION]
Opções usadas com pwd
- Options
Descrição
- -L (logical)
Usar PWD do ambiente, mesmo que contenha links simbólicos
- -P (physical)
-
Evite todos os links simbólicos
- –help
Exiba esta ajuda e saia
- –version
Informações da versão de saída e saída
Se ambas as opções ‘-L‘ e ‘-P‘ forem usadas, a opção ‘L‘ será considerada prioritária. Se nenhuma opção for especificada no prompt, o pwd evitará todos os links simbólicos, ou seja, levará em consideração a opção ‘-P’.
Status de saída do comando pwd:
- 0
Sucesso
- Non-zero
Falha
Este artigo tem como objetivo fornecer a você uma visão profunda do comando Linux ‘pwd’ com exemplos práticos.
1. Imprima seu diretório de trabalho atual.
avi@tecmint:~$ /bin/pwd
/home/avi
2. Crie um link simbólico de uma pasta (diga /var/www/html em seu diretório pessoal como htm). Vá para o diretório recém-criado e imprima o diretório de trabalho com links simbólicos e sem links simbólicos.
Crie um link simbólico da pasta /var/www/html como htm em seu diretório inicial e vá até ele.
avi@tecmint:~$ ln -s /var/www/html/ htm
avi@tecmint:~$ cd htm
3. Imprime o diretório de trabalho do ambiente mesmo que contenha links simbólicos.
avi@tecmint:~$ /bin/pwd -L
/home/avi/htm
4. Imprima o diretório de trabalho físico atual resolvendo todos os links simbólicos.
avi@tecmint:~$ /bin/pwd -P
/var/www/html
5. Verifique se a saída do comando “pwd ” e “pwd -P ” são iguais ou não, ou seja, se nenhuma opção é fornecida em run-time faz “pwd ” leva em conta a opção -P ou não, automaticamente.
avi@tecmint:~$ /bin/pwd
/var/www/html
Resultado: Fica claro na saída acima dos exemplos 4 e 5 (ambos os resultados são iguais), portanto, quando nenhuma opção é especificada com o comando “pwd ”, leva automaticamente em consideração a opção “-P”.
6. Imprima a versão do seu comando ‘pwd’.
avi@tecmint:~$ /bin/pwd --version
pwd (GNU coreutils) 8.23
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Jim Meyering.
Nota: Um comando ‘pwd’ é frequentemente usado sem opções e nunca com argumentos.
Importante: você deve ter notado que estamos executando o comando acima como “/bin/pwd ” e não como “pwd”.
Então qual é a diferença? Bem, “pwd” por si só significa pwd integrado ao shell. Seu shell pode ter uma versão diferente do pwd. Consulte o manual. Quando usamos /bin/pwd, estamos chamando a versão binária desse comando. Tanto o shell quanto a versão binária do comando imprimem o diretório de trabalho atual, embora a versão binária tenha mais opções.
7. Imprima todos os locais que contêm o executável chamado pwd.
avi@tecmint:~$ type -a pwd
pwd is a shell builtin
pwd is /bin/pwd
8. Armazene o valor do comando “pwd ” na variável (digamos a) e imprima seu valor a partir da variável (importante para scripts de shell perspectiva).
avi@tecmint:~$ a=$(pwd)
avi@tecmint:~$ echo "Current working directory is : $a"
Current working directory is : /home/avi
Alternativamente, podemos usar printf, no exemplo acima.
9. Mude o diretório de trabalho atual para qualquer coisa (digamos /home) e exiba-o no prompt da linha de comando. Execute um comando (diga ‘ls‘) para verificar se está tudo OK.
avi@tecmint:~$ cd /home
avi@tecmint:~$ PS1='$pwd> ' [Notice single quotes in the example]
> ls
10. Defina o prompt da linha de comando multilinha (diga algo como abaixo).
/home
123#Hello#!
E então execute um comando (digamos ls) para verificar se está tudo OK.
avi@tecmint:~$ PS1='
> $PWD
123#Hello#!
'
/home
123#Hello#!
11. Verifique o diretório de trabalho atual e o diretório de trabalho anterior em um GO!
avi@tecmint:~$ echo “$PWD $OLDPWD”
/home /home/avi
12. Qual é o caminho absoluto (começando em /) do arquivo binário pwd.
/bin/pwd
13. Qual é o caminho absoluto (começando em /) do arquivo fonte pwd.
/usr/include/pwd.h
14. Imprime o caminho absoluto (começando em /) do arquivo de páginas de manual pwd.
/usr/share/man/man1/pwd.1.gz
15. Escreva um script de shell que analise o diretório atual (digamos tecmint) em seu diretório inicial. Se você estiver no diretório tecmint, será exibido “Bem! Você está no diretório tecmint ” e então imprima “Tchau ” caso contrário, crie um diretório tecmint em seu diretório inicial e peça para você cd para isso.
Vamos primeiro criar um diretório ‘tecmint’, nele criar um seguinte arquivo de script de shell com o nome ‘pwd.sh’.
avi@tecmint:~$ mkdir tecmint
avi@tecmint:~$ cd tecmint
avi@tecmint:~$ nano pwd.sh
Em seguida, adicione o seguinte script ao arquivo pwd.sh.
#!/bin/bash
x="$(pwd)"
if [ "$x" == "/home/$USER/tecmint" ]
then
{
echo "Well you are in tecmint directory"
echo "Good Bye"
}
else
{
mkdir /home/$USER/tecmint
echo "Created Directory tecmint you may now cd to it"
}
fi
Dê permissão de execução e execute-o.
avi@tecmint:~$ chmod 755 pwd.sh
avi@tecmint:~$ ./pwd.sh
Well you are in tecmint directory
Good Bye
Conclusão
pwd é um dos comandos mais simples, porém mais populares e amplamente usados. Um bom comando sobre pwd é básico para usar o terminal Linux. É tudo por agora. Estarei aqui novamente com outro artigo interessante em breve, até então fique ligado e conectado à Tecmint.