Expansão estranha do bash de ~ bin

0

Hoje eu acidentalmente digitei ls ~bin
Eu queria digitar ~bak - essa é minha pasta de backups indesejados, mas ~b<tab> me enganou.

Em vez disso, recebi isso:

$ ls ~bin
core_perl                             fogcoord                     lftp                           pcmanfm                                 snmpvacm
site_perl                             fold                         lftpget                        

... many miles of output ...

Alguém poderia gentilmente explicar o que diabos aconteceu aqui? Funciona também com cd , por exemplo.

Não existe tal pasta (ou symlink) no pwd - é o real / bin. Eu também tentei ls ~etc , mas isso não funcionou.

Aqui está o meu ls:

$ alias ls
alias ls='ls --color=auto --group-directories-first -h'
    
por MightyPork 11.12.2014 / 22:35

1 resposta

3

Há um usuário bin com home /bin :

$ getent passwd bin
bin:x:1:1:bin:/bin:/bin/false

Agora, ~bin refere-se ao diretório inicial do usuário bin que é /bin e contém todas as muitas milhas de comandos.

Da mesma forma, ~etc não funciona, porque não há usuário etc.

    
por 11.12.2014 / 22:40

Tags