2009-08-13 9 views

Répondre

1

comme vous le feriez télécharger un dossier complet de toute autre ligne de commande:

  1. Faire une archive zip ou tar hors de lui, puis mettre l'archive.
  2. Si vous voulez télécharger des fichiers individuels, mais les faire tous, utilisez "mput".
0

Avez-vous essayé mput? Vous pouvez le passer Un caractère générique (*) pour télécharger tous les fichiers ...

+0

Je mets "put * nom de fichier" et je reçois "nom de fichier: pas un fichier ordinaire." – HollerTrain

0

Il semble y avoir une question à savoir si ftp à travers le mac est capable de gérer la copie récursive.
Si vous avez un accès ssh aux deux machines, vous pouvez le faire depuis l'ordinateur source: tar -cf - directory | ssh user @ hostB "cd target_dir; tar -xf -"

mput * devrait fonctionner correctement pour les objets dans le répertoire, mais si vous avez des sous-répertoires, il peut avoir des problèmes pour récupérer les fichiers.

16
terminal>ftp [email protected] 
    password:xXxXx 
    ftp>mkdir <remote dir> 
    ftp>cd <remote dir> 
    ftp>lcd <local dir> 
    ftp>mput * 
    ftp>close 

Cela

  • connecter
  • créer le répertoire distant (ou dossier)
  • cd dans ce répertoire
  • cd dans le répertoire local (si vous ne l'avez pas commencé là-bas
  • copier plusieurs fichiers (tous)
  • se déconnecter à nouveau

see the man page online

+1

J'ai bien travaillé pour moi! Merci! La seule chose que je changerais, c'est que j'utiliserais 'sftp' à la place. Mêmes commandes, juste là où il est dit que 'ftp' utilise' sftp'. C'est beaucoup plus sécurisé. – daviesgeek

24

Avez-vous d'utiliser ftp? J'aime utiliser scp (copie sécurisée) lorsque l'hôte distant supporte ssh (comme beaucoup d'entre eux le font).

scp -r mydirectory [email protected]:destdir

Le -r signifie « récursive » il copie récursive tout le répertoire. Remplacez username par votre nom d'utilisateur, etc., destdir est un chemin relatif sur le serveur distant (quel que soit le répertoire dans lequel vous vous connectez si vous vous connectez) tant que vous n'utilisez pas une barre oblique / - alors il sera un chemin absolu.

+17

Pourquoi offrir cette réponse .. il demande FTP! raisons d'utiliser FTP DO existe ... peu importe si je préfère scp ... ce que je fais réellement – kasthor

+3

@ksthor Bon point, mais c'était la réponse que je cherchais quand j'ai googlé "télécharger le dossier entier ssh" :) – Automatico

+0

Parce que c'est une excellente ressource pour d'autres personnes à la recherche de solutions sur des questions ** similaires **. Oui, même en 2017, @kasthor. – LinusGeffarth

8

mput est la bonne commande pour cette tâche, mais je pense que l'implémentation OS X 'du client de ligne de commande ftp ne supporte pas la copie récursive des répertoires via mput *. Donc, une solution possible pourrait être l'utilisation d'un autre client de ligne de commande ftp comme NcFTP qui est livré avec de nombreuses distributions Linux et est également disponible pour OS X. Voir NcFTP download page pour plus de détails. Le -R est pour le mode récursif.

+0

Merci @Joker pour la recommandation NcFTP. Cela a fonctionné parfaitement pour mes besoins. J'ai été en mesure de transférer un répertoire entier, et il est élégant d'avoir un one-liner dans les fichiers de script. – theUtherSide

+1

Pour installer ncftp sur un mac ces jours-ci, vous pouvez «installer ncftp» (en supposant que vous avez homebrew, ce que vous devriez probablement) –

1

Go - Connexion au serveur. Entrez ftp://ip-address-of-other-box et les informations d'identification appropriées. Cliquez sur + pour ajouter ce serveur, puis double-cliquez dessus pour l'ouvrir. Vous pouvez maintenant faire glisser et déposer des dossiers et il copiera récursivement.

+0

Cela fonctionne très bien pour moi ... mais seulement en lecture seule, pour une raison quelconque. Ne me laissera rien télécharger. –

+2

Il a demandé comment le faire avec le terminal. –

Questions connexes