Por que isso encontrou exec ls parar de mostrar um dos arquivos?

0

Eu encontrei um + ls mostrando o .sh e o .sh.bak de alguns arquivos.

Eu copiei um deles pensando que eu teria 3 arquivos, mas, os ls param de mostrar um deles, o .sh.bak

Eu estava repetindo o find + ls da história e, desde então, comparei as cópias

Olhando para 2 arquivos:

[root@localhost jeos]# find / -name del-non-*-locales.sh* -execdir ls -lh {} \;  
-rwxr-xr-x. 1 root root 4.4K Dec 17  2016 /root/proj/vm/locale/backups/del-non-eng-locales.sh.bak  
-rwxr-xr-x. 1 root root 4.4K Dec 17  2016 /root/proj/host.setup/manual/del-non-english-locales.sh  

Copiado 1

[root@localhost jeos]# cp ~/proj/host.setup/manual/del-non-english-locales.sh .

seta para cima + entrar ... pensei em ver 3 arquivos agora

[root@localhost jeos]# find / -name del-non-*-locales.sh* -execdir ls -lh {} \;  
-rwxr-xr-x. 1 root root 4.4K Dec 17  2016 /root/proj/host.setup/manual/del-non-english-locales.sh  
-rwxr-xr-x. 1 root root 4.4K Nov  9 11:05 /root/proj/jeos/del-non-english-locales.sh

O achado + ls não mudou & o arquivo que ele mostra está aqui:

[root@localhost jeos]# ls -lh /root/proj/vm/locale/backups/del-non-eng-locales.sh.bak  
-rwxr-xr-x. 1 root root 4.4K Dec 17  2016 /root/proj/vm/locale/backups/del-non-eng-locales.sh.bak
    
por iletras 09.11.2017 / 18:42

1 resposta

7

Você precisa citar del-non-*-locales.sh* .

A primeira execução funciona porque você não tem nenhum arquivo no diretório atual correspondente a del-non-*-locales.sh* , então, por padrão, o padrão se expande para si mesmo (com estrelas e tudo).

Depois de copiar ~/proj/host.setup/manual/del-non-english-locales.sh para o diretório atual, del-non-*-locales.sh* é expandido para del-non-english-locales.sh , por isso, você está procurando exatamente esse nome, não por del-non-*-locales.sh* . É por isso que del-non-eng-locales.sh.bak não corresponde mais.

    
por 09.11.2017 / 19:02