A differenza di ssh, scp usa l'opzione P maiuscola per impostare la porta invece della p minuscola:
scp -P 80 ... # Use port 80 to bypass the firewall, instead of the scp default
L'interruttore p minuscolo viene utilizzato con scp per la conservazione di tempi e modalità.
Ecco un estratto dalla pagina man di scp con tutti i dettagli relativi ai due interruttori, nonché una spiegazione del perché P maiuscola è stata scelta per scp:
-P port Specifica la porta a cui connettersi sull'host remoto. Nota che questa opzione è scritta con la 'P' maiuscola, poiché -p è già riservata per preservare i tempi e le modalità del file in rcp (1).
-p Preserva i tempi di modifica, i tempi di accesso e le modalità dal file originale.
Aggiorna e a parte per rispondere a uno dei commenti (fortemente votati) :
Per quanto riguarda il commento di Abdull sull'ordine delle scp
opzioni, ciò che suggerisce:
scp -P80 -r some_directory -P 80 ...
..., infrange opzioni e parametri. getopt(1)
definisce chiaramente che i parametri devono venire dopo le opzioni e non essere intervallati da esse:
I parametri con cui viene chiamato getopt possono essere divisi in due parti: le opzioni che modificano il modo in cui getopt eseguirà l'analisi (le opzioni e l'optstring nella SINOSSI), e i parametri che devono essere analizzati (parametri nella SINOSSI). La seconda parte inizierà dal primo parametro non-opzione che non è un argomento opzione o dopo la prima occorrenza di '-'. Se non viene trovata alcuna opzione '-o' o '--options' nella prima parte, il primo parametro della seconda parte viene utilizzato come stringa di opzioni brevi.
Poiché l' -r
opzione della riga di comando non accetta ulteriori argomenti, some_directory
è "il primo parametro non opzione che non è un argomento opzione". Pertanto, come chiaramente indicato nella getopt(1)
pagina man, tutti gli argomenti successivi della riga di comando che la seguono (cioè, -P 80 ...
) sono considerati non-opzioni (e argomenti non-opzione).
Quindi, in effetti, questo è il modo in cui getopt(1)
vede l'esempio presentato con la fine delle opzioni e l'inizio dei parametri delimitati dal testo bing successivo in grigio:
scp -P80 -r some_directory -P 80 ...
Ciò non ha nulla a che fare con il scp
comportamento e tutto ciò che riguarda il modo in cui le applicazioni standard POSIX analizzano le opzioni della riga di comando usando l' getopt(3)
insieme delle funzioni C.
Per maggiori dettagli in merito all'ordinamento e all'elaborazione della riga di comando, leggere la getopt(1)
manpage usando:
man 1 getopt