O comando Find não consegue encontrar meus arquivos?

0

Eu tenho o Vesta Control Panel no meu servidor Ubuntu e o serviço dos meus sites. Posso até enviar FTP para os sites para atualizar os arquivos conforme necessário.

Portanto, quando me conecto via FTP, posso navegar para o site remoto:

/public_html/sma/modules/pos/views

Aqui eu vejo o arquivo view.php tão claramente que esse arquivo existe em algum lugar no meu servidor, certo?

Muda para o terminal e eu executo estes comandos que não retornam nenhum resultado:

sudo find ~/ -iname "view.php"
sudo find / -iname "view.php"

Nenhum resultado parece indicar que não existe um arquivo chamado view.php em qualquer lugar no meu sistema, o que claramente não pode ser o caso, já que posso fazer o CRUD do arquivo através do Filezilla por FTP.

O que está acontecendo!?

    
por Ortund 22.07.2016 / 20:14

2 respostas

2

Você está pesquisando em seu diretório home apenas por ~/ .

Para pesquisar no diretório raiz e em todos os subdiretórios recursivamente, por exemplo, em todo o sistema:

sudo find / -iname "view.php"

Além disso, à medida que procura um arquivo, você deve especificar o tipo de arquivo com a opção -type para tornar o comando eficiente:

sudo find / -type f -iname "view.php"

Além disso, você deve excluir os pontos de montagem do sistema de arquivos virtual, /proc , /sys , /dev e tmpfs mount point /run da pesquisa:

sudo find / \( -path /proc -o -path /sys -o -path /dev -o \
               -path /run \) -prune -o -type f -iname 'view.php'
    
por heemayl 22.07.2016 / 20:18
1
sudo find /public_html -iname view.php

Em sua invocação find , você está pesquisando um diretório diferente daquele que você mostra como o diretório que contém view.php . ( pode ser que o diretório views esteja visível sob /public_html/ e seu diretório pessoal ~ via links simbólicos, mas isso não está claro a partir do que você postou.)

    
por user4556274 22.07.2016 / 20:22