2009-08-13 21 views

risposta

1

stesso che si caricare un'intera cartella da qualsiasi altra riga di comando:

  1. Fare un archivio zip o tar fuori di esso, poi mettere l'archivio.
  2. Se si desidera caricare singoli file, ma li fanno tutti , utilizzare "mput".
0

hai provato mput? Puoi passarlo Un carattere jolly (*) per caricare tutti i file ...

+0

Inserisco "put * foldername" e ottengo "foldername: not a plain file". – HollerTrain

0

Sembra esserci qualche domanda sul fatto che ftp attraverso il mac sia in grado di gestire la copia ricorsiva.
Se si dispone dell'accesso ssh a entrambe le macchine, è possibile farlo dal computer di origine: tar -cf - directory | ssh user @ hostB "cd target_dir; tar -xf -"

mput * dovrebbe funzionare correttamente per gli oggetti all'interno della directory, ma se si hanno sottodirectory, potrebbe avere problemi nel raccogliere i file.

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

Ciò

  • collegare
  • creare la directory remota (o cartella)
  • cd nella directory
  • cd per la directory locale (se non si avvia lì
  • copia più file (tutti)
  • disconnettersi

see the man page online

+1

ha funzionato benissimo per me! Grazie! L'unica cosa che cambierei è che userei 'sftp' invece. Stessi comandi, proprio dove dice 'ftp' usa' sftp'. È molto più sicuro. – daviesgeek

24

Avete usare ftp? Mi piace usare scp (copia protetta) quando l'host remoto supporta ssh (come molti di loro fanno).

scp -r mydirectory [email protected]:destdir

Il -r significa "ricorsivo" in modo che in modo ricorsivo copiare l'intera directory. Sostituisci username con il tuo nome utente, ecc., Ecc. destdir è un percorso relativo sul server remoto (qualunque sia la directory in cui ci si avvia se si effettua il login) fino a quando non si utilizza una barra iniziale / - quindi sarà un percorso assoluto.

+17

Perché offrire questa risposta .. chiede FTP! esistono motivi per usare FTP DO ... non importa se mi piace SCP meglio ... che effettivamente faccio – kasthor

+3

@ksthor Un buon punto, ma questa era la risposta che stavo cercando quando ho cercato su google "cartella intera ssh" :) – Automatico

+0

Perché è una grande risorsa per gli altri alla ricerca di soluzioni su argomenti ** simili **. Sì, anche nel 2017, @kasthor. – LinusGeffarth

8

mput è il comando corretto per quell'attività, ma penso che l'implementazione del client della riga di comando ftp di OS X non supporti la copia ricorsiva delle directory tramite mput *.

Quindi, una possibile soluzione potrebbe essere l'uso di un client di riga di comando ftp alternativo come NcFTP che viene fornito con molte distribuzioni linux ed è anche disponibile per OS X. Per dettagli vedi NcFTP download page.

ncftpput -R -u user -p passwd <remote-host> <remote-dir> <local-dir> 

Il -R è per il modo ricorsivo.

+0

Grazie a @Joker per la raccomandazione NcFTP. Questo ha funzionato perfettamente per i miei bisogni. Sono stato in grado di trasferire un'intera directory ed è elegante disporre di un solo liner nei file di script. – theUtherSide

+1

Per installare ncftp su un mac in questi giorni, puoi 'brew install ncftp' (supponendo che tu abbia un homebrew, che probabilmente dovresti) –

1

Vai - Connetti al server. Immettere ftp://ip-address-of-other-box e le credenziali appropriate. Fai clic su + per aggiungere quel server, quindi fai doppio clic su di esso per aprirlo. Ora puoi trascinare e rilasciare cartelle e copierà ricorsivamente.

+0

Questo funziona per me ... ma solo per sola lettura, per qualche motivo. Non mi permette di caricare nulla. –

+2

Ha chiesto come farlo con il terminale. –