Então, eu sou muito novo no Linux e instalei recentemente o Fedora 19 no meu netbook. Eu quero ter uma compreensão mais profunda do Linux e da CLI, agora estou lendo Aprenda Linux: o caminho mais difícil .
No exercício 3, o autor fornece os seguintes comandos:
- ls -al
- perfil de gato
Tento seguir estas instruções, mas sem sucesso. Não há arquivo .profile no meu diretório de nome de usuário, como posso ver em ls -al. Pelo que aprendi, o arquivo .bash_profile e .profile são praticamente os mesmos. A única diferença que concluí da minha pesquisa é que o .bash_profile é verificado primeiro.
O que eu não entendo é por que existem vários arquivos para a mesma função no Linux, por que o autor está usando .profile e não .bash_profile (se eu entendi corretamente .profile não será lido quando o sistema encontrar primeiro .bash_profile) e como é que eu não tenho o arquivo .profile no meu sistema?
Respostas:
A
.profile
data remonta ao shell Bourne original conhecido comosh
. Desde que o shell GNUbash
é (dependendo das opções) um super do shell Bourne, ambas as conchas pode usar o mesmo arquivo de inicialização. Ou seja, desde que apenassh
comandos sejam colocados.profile
Por exemplo,
alias
é um comando interno válidobash
mas desconhecido parash
. Portanto, se você tivesse apenas um.profile
em seu diretório pessoal e colocasse umaalias
declaração nele,sh
reclamaria. Portanto, há um arquivo específico do bash que possui comandos de inicialização do shell que o bash lerá se e somente se não houver um.profile
arquivo presente.Na verdade, isso é um pouco simplista em algumas instalações, e eu não estou familiarizado com o Fedora. Em bash,
/etc/profile
é lido pelo shell antes de qualquer arquivo em seu diretório pessoal. Se houver um script de inicialização em todo o sistema, ele geralmente diz algo comoPor que é assim? Uma tentativa de compatibilidade através de décadas de dialetos shell. Por que o tutorial foi escrito dessa maneira? O shell Bourne não é mais usado muito mais e algumas pessoas nem sabem que existe outro shell semelhante ao Bourne que o bash. Mesmo quando a sintaxe Bourne (limitada) é usada para maior compatibilidade entre plataformas, ela geralmente é executada
dash
ou bash no modo de compatibilidade POSIX. De fato, a fonte shell Bourne real é provavelmente um componente de direitos autorais do Unix System V, que parece ser propriedade da Novell agora, mas não tenho idéia do que estão fazendo com ela.Para o usuário iniciante, use um
$HOME/.profile
ou$HOME/.bash_profile
mas não ambos, e você ficará bem. Como você já.bash_profile
trabalha com isso, pode haver coisas específicas do sistema necessárias para sua instalação.fonte
alias
é exigido pelo POSIX, portanto não há muitos porsh
aí que não saibam disso.