O que é l tipo de diretório com '-' e como navegar nesses arquivos

0

Eu estava listando o diretório, ele exibe poucos arquivos / diretórios com l logo antes das colunas de permissão e eles têm dois nomes separados por -> com asterisco * (isso significa executável ). Quais os meios deste l

cd /opt/lampp/bin/
ll php*  
---- 
lrwxrwxrwx 1 root root       13 Nov 15 16:05 phpize -> phpize-5.5.15*
-rwxrwxrwx 1 root root     4522 Aug 20 17:23 phpize-5.5.15*

e como executar esses comandos ou entrar nesses diretórios. Eu tentei executar com ambos os nomes no terminal separadamente, mas ambos retornam not a directory

/opt/lampp/bin$ phpize
No command 'phpize' found, did you mean:
 Command 'phpize5' from package 'php5-dev' (main)
phpize: command not found
/opt/lampp/bin$ cd phpize
bash: cd: phpize: Not a directory
    
por diEcho 15.11.2014 / 22:39

1 resposta

5

É um link simbólico , que também é indicado pelo l na primeira coluna. Este é um caso comum, onde o nome simples de algo está ligado à "coisa real" com um número de versão exato. Todos os seus scripts e comandos podem se referir simplesmente a /opt/lampp/bin/phpize . Quando a versão 5.5.16 ou 5.6 está instalada, você só precisa alterar o link (ou o instalador faz isso para você).

"Não é um diretório": como você mencionou, o asterisco indica que são executáveis, e não diretórios. A coisa que geralmente acrescenta um asterisco para executáveis coloca uma barra / para diretórios. Então, cd não é aplicável.

Seu problema ao executar um executável no diretório atual é comum . A versão curta é que se você especificar apenas um nome, o shell irá pesquisar seu PATH . É prática comum e recomendada que o seu diretório atual não esteja em seu PATH . Então, o que todo mundo faz é simplesmente especificar o diretório atual: ./phpize

Alternativas são para especificar o caminho todo, como eu fiz acima. Isso obviamente funcionará, não importa qual seja o diretório atual. Ou você pode adicionar este diretório ao seu PATH. Se você tem muitos diretórios com apenas um ou dois executáveis que você usa com freqüência, isso pode ficar pesado. Portanto, outro uso de links simbólicos é criar links para esses executáveis espalhados (vincular ao nome curto sem versão - links podem ser aninhados) e colocar todos esses novos links em um único diretório que você adiciona ao seu PATH. Portanto, agora, quando você digita apenas o nome, o shell com a pesquisa do PATH, localiza o link secundário, que pula para o link principal, localiza o executável exato e o executa.

    
por 15.11.2014 / 23:07