Existe-t-il un moyen de faire un "ls" distant comme "scp" fait une copie distante dans un shell Linux standard?
Vous pouvez toujours faire ceci:
ssh user@Host ls -l /some/directory
Cela enverra SSH à l'hôte, exécutera ls, vous renverra la sortie et se déconnectera immédiatement.
Pour répertorier tous les fichiers d'un répertoire:
rsync Host.name.com:directory/path/'*'
Pour quelque chose comme find directory/path -ls
rsync -r Host.name.com:directory/path
Pour tous ceux qui viennent via google à cette question car ils recherchent un moyen de lister les fichiers distants mais ne peuvent pas accéder au serveur distant via ssh (cas courant pour les serveurs de sauvegarde), vous pouvez utiliser 'sftp'.
Exemple:
sftp [email protected]
ls
cd somedir
exit
Démarrez une session interactive dans un répertoire distant spécifique:
sftp [user@]Host[:dir]
Oui. SSH et faites un ls
:
ssh Host ls /path
Vous pouvez facilement l'écrire pour être plus flexible ou utiliser la syntaxe Host: path scp
uses.
Je trouve que mon utilisation la plus fréquente est d'obtenir le résultat ls, une simple liste de fichiers sans toutes les autorisations et dates et autres, et de le conserver dans un fichier local.
{ ssh [email protected] "cd /dir/of/interest; ls -1f *.txt;" } > /home/me/listoffiles.txt
Vous pouvez exécuter tout ce que vous voulez dans les guillemets. Toutes les sorties se retrouvent dans votre fichier texte local. Ou si vous voulez exécuter un gros script méchant sur le serveur et capturer toute sa sortie, même des erreurs:
{ ssh [email protected] <script.remote.sh } > /home/me/output.log 2>/home/me/output.err