Você sempre pode fazer isso:
ssh user@host ls -l /some/directory
Isso vai fazer o SSH para o host, executar o ls, enviar a saída de volta para você e desconectar imediatamente.
Existe uma maneira de fazer um "ls" remoto como "scp" faz uma cópia remota em um shell linux padrão?
Para listar todos os arquivos em um diretório:
rsync host.name.com:directory/path/'*'
Para algo como encontrar diretório / caminho -ls
rsync -r host.name.com:directory/path
Sim. SSH e faça um ls
:
ssh host ls /path
Você pode facilmente rotear isso para ser mais flexível ou usar a sintaxe do host: caminho scp
usa.
Para todos vindo através do google para esta questão, porque eles estão procurando uma maneira de listar arquivos remotos, mas não podem acessar o servidor remoto via ssh (caso comum para servidores de backup), você poderia usar 'sftp'.
Exemplo:
sftp [email protected]
ls
cd somedir
exit
Inicie uma sessão interativa em um diretório remoto específico:
sftp [user@]host[:dir]
Acho que o uso mais frequente disso é obter o resultado ls, uma lista simples de arquivos sem todas as permissões e datas e tal, e mantê-lo em um arquivo local.
{ ssh [email protected] "cd /dir/of/interest; ls -1f *.txt;" } > /home/me/listoffiles.txt
Você pode executar qualquer coisa que quiser entre aspas. Toda a saída acaba no seu arquivo de texto local. Ou se você deseja executar um script grande e desagradável no servidor e capturar todos os seus resultados, até mesmo erros:
{ ssh [email protected] <script.remote.sh } > /home/me/output.log 2>/home/me/output.err