... si vous avez un accès réel au shell. Certains systèmes ont un shell spécial qui n'acceptera que certains appels scpet rsyncappels, peut-être sftpaussi, et c'est tout.
Glglgl
comment voulez-vous alias ceci pour dire, "rls"?
Walrus le chat
2
@WalrustheCat alias rls="ssh user@host ls -l"Redémarrez votre shell et rls /some/directorydevrait fonctionner.
Chishaku
Le seul problème avec ceci est que le fichier non trouvé renvoie un code d'erreur, alors que c'est précisément pour cette raison que je veux appeler ls.
Steve Cohen
Ne suit pas @SteveCohen. Voulez-vous le code d'erreur de la télécommande ls? Si oui, $? le contient juste après l'exécution de la commande. (Par exemple, il retourne 2 si j'exécute cette [localement ou à distance] sur un fichier introuvable.)
Corey S.
11
Pour lister tous les fichiers d'un répertoire:
rsync host.name.com:directory/path/'*'
Pour quelque chose comme find directory / path -ls
Si rsync n'est pas installé sur l'hôte, vous obtenez quelque chose comme bash: rsync: command not found. Je suppose que cela implique qu'il utilise SSH en arrière-plan?
mwfearnley
Notez que le format est similaire à ls -l. Sur mon système, il ne semble pas qu'il existe une option permettant de simplement répertorier les fichiers.
Jonathan
6
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'.
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.
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:
Réponses:
Vous pouvez toujours faire ça:
Cela va relier SSH à l'hôte, exécuter ls, vider la sortie et vous déconnecter immédiatement.
la source
scp
etrsync
appels, peut-êtresftp
aussi, et c'est tout.alias rls="ssh user@host ls -l"
Redémarrez votre shell etrls /some/directory
devrait fonctionner.Pour lister tous les fichiers d'un répertoire:
Pour quelque chose comme find directory / path -ls
la source
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:
Démarrer une session interactive dans un répertoire distant spécifique:
la source
Oui. SSH et faire un
ls
:Vous pouvez facilement écrire un script pour plus de souplesse ou utiliser la syntaxe host: path
scp
.la source
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.
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:
la source
{ }
ne sont pas nécessaires.