Y a-t-il un moyen de faire une "ls" distante un peu comme "scp" une copie distante dans un shell linux standard?
Y a-t-il un moyen de faire une "ls" distante un peu comme "scp" une copie distante dans un shell linux standard?
Réponses:
Vous pouvez toujours faire ça:
ssh user@host ls -l /some/directory
Cela va relier SSH à l'hôte, exécuter ls, vider la sortie et vous déconnecter immédiatement.
scp
et rsync
appels, peut-être sftp
aussi, et c'est tout.
alias rls="ssh user@host ls -l"
Redémarrez votre shell et rls /some/directory
devrait fonctionner.
Pour lister 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
bash: rsync: command not found
. Je suppose que cela implique qu'il utilise SSH en arrière-plan?
ls -l
. Sur mon système, il ne semble pas qu'il existe une option permettant de simplement répertorier les fichiers.
Pour tous ceux qui viennent via google à cette question car ils cherchent un moyen de répertorier les fichiers distants mais ne peuvent pas accéder au serveur distant via ssh (cas habituel des serveurs de sauvegarde), vous pouvez utiliser 'sftp'.
Exemple:
sftp username@hostname.xyz
ls
cd somedir
exit
Démarrer une session interactive dans un répertoire distant spécifique:
sftp [user@]host[:dir]
Je trouve que mon utilisation la plus fréquente consiste à obtenir le résultat ls, une simple liste de fichiers sans toutes les autorisations et les dates, etc., et à le conserver dans un fichier local.
{ ssh me@host.com "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 toutes ses sorties, même les erreurs:
{ ssh me@host.com <script.remote.sh } > /home/me/output.log 2>/home/me/output.err
{ }
ne sont pas nécessaires.