GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare i comandi e le opzioni SFTP

Introduzione

SFTP (Safe File Transfer Protocol) fa parte del protocollo SSH progettato per trasferire file in modo sicuro tra sistemi remoti. Consente agli utenti di visualizzare, gestire e modificare i permessi di file e directory su sistemi remoti.

In questo tutorial, esamineremo i comandi che puoi utilizzare con SFTP fornendo spiegazioni, opzioni ed esempi per ciascuno.

Prerequisiti

  • Accesso a un sistema locale ea un server remoto, collegati tramite una coppia di chiavi pubbliche SSH.
  • Una connessione Internet funzionante.
  • Accesso alla finestra del terminale.

Elenco dei comandi e delle opzioni SFTP

SFTP consente agli utenti di trasferire dati tra un server SFTP remoto e un sistema client locale. SFTP utilizza il protocollo di rete SSH per connettere due sistemi che condividono una chiave SSH pubblica.

La connessione al server SFTP apre l'interfaccia della shell SFTP. L'interfaccia della shell SFTP supporta i seguenti comandi:

Comando Descrizione
cd [path] Cambia la directory sul server remoto in [path] .
lcd [path] Cambia la directory sul sistema locale in [path] .
chgrp [group ID] [path] Cambia la proprietà del gruppo in [group ID] per il file o la cartella che si trova in [path] .
chmod [mode] [path] Cambia la proprietà in [mode] per il file o la cartella che si trova in [path] .
chown [user ID] [path] Cambia la proprietà dell'utente in [user ID] per il file o la cartella che si trova in [path] .
help Visualizza il testo della guida.
get [remote path] [local path] Trasferisci un file o una directory da [remote path] sul server remoto a [local path] sul sistema locale.
lls [options] [path] Visualizza l'elenco per la directory situata in [path] sul sistema locale. Utilizza ls opzioni di comando.
ln [old path] [new path] Crea un collegamento simbolico da [old path] a [new path] sul server remoto.
lmkdir [path] Crea una directory in [path] sul sistema locale.
lpwd Visualizza la directory locale corrente.
ls [options] [path] Visualizza l'elenco per la directory situata in [path] sul server remoto. Utilizza ls opzioni di comando.
lumask [mask] Imposta la maschera delle autorizzazioni locali su [mask] .
mkdir [path] Crea una directory in [path] sul server remoto.
put [local path] [remote path] Trasferisci un file o una directory da [local path] sul sistema locale su [remote path] sul server remoto.
pwd Visualizza la directory remota corrente.
exit Esci dall'interfaccia SFTP.
quit Esci dall'interfaccia SFTP.
rename [old path] [new path] Rinomina un file sul server remoto da [old path] a [new path] .
rmdir [path] Rimuovi una directory situata in [path] sul server remoto.
rm [path] Rimuovi un file che si trova in [path] sul server remoto.
symlink [old path] [new path] Crea un collegamento simbolico da [old path] a [new path] sul server remoto.
version Visualizza la versione corrente di SFTP
![command] Esegui <strong>[command]</strong> nella shell locale.
! Sposta temporaneamente nella shell locale.
? Visualizza il testo della guida.

Connessione a SFTP

La connessione a SFTP utilizza la stessa sintassi della connessione a un sistema remoto con SSH:

sftp [username]@[remote hostname or IP address]

Ad esempio, la connessione a un server con phoenixnap nome utente all'indirizzo IP 192.168.100.7 :

sftp [email protected]

Se la connessione riesce, la shell si sposta sull'interfaccia SFTP, indicata da sftp> al posto del nome utente corrente:

Quando ti connetti a un sistema remoto con SFTP, usa le seguenti opzioni con sftp comando per cambiarne il comportamento:

Opzione Descrizione
-1 Utilizzare la versione 1 del protocollo SSH durante la connessione.
-4 Utilizza solo indirizzi IPv4.
-6 Utilizza solo indirizzi IPv6.
-A Consente l'inoltro dell'agente di autenticazione SSH al server remoto.
-a Tentativo di continuare i trasferimenti di file interrotti.
-B [buffer size] Imposta una dimensione del buffer personalizzata (il valore predefinito è 32.768 byte).
-b [batch file] Specifica un file batch per avviare sftp comando in modalità batch.
-C Utilizza la compressione dei file.
-c [cipher] Seleziona un codice da utilizzare durante la crittografia dei dati per il trasferimento.
-D [SFTP server path] Connettiti a un server SFTP locale senza utilizzare SSH.
-F [SSH configuration file] Specifica un file di configurazione SSH da utilizzare durante la connessione.
-f Svuota i file su disco subito dopo il trasferimento.
-i [private key file] Seleziona un file che contiene la chiave privata per l'autenticazione con chiave pubblica.
-J [destination] Imposta l'inoltro TCP tramite la destinazione fornita.
-l [kbit/s] Imposta un limite alla larghezza di banda della connessione in kbit/s.
-N Disabilita la modalità silenziosa.
-o [SSH option] Aggiungi un'opzione di comando ssh durante la connessione a SFTP.
-P [port number] Imposta una porta a cui connettersi.
-p Mantieni i permessi dei file e i tempi di accesso durante il trasferimento.
-q Abilita la modalità silenziosa.
-R [number of requests] Imposta il numero di richieste di trasferimento file simultanee consentite.
-r Trasferisci le directory in modo ricorsivo.
-S [client] Specifica un client SFTP che desideri utilizzare per la connessione.
-s [SSH subsystem or SFTP server path] Seleziona un sottosistema SSH2 o un percorso del server SFTP.
-v Mantieni un registro dettagliato della sessione.

Usa l'exit comando per terminare la connessione corrente:

exit

Trasferimento di file

Usa il get e put comandi per creare una richiesta di trasferimento file in SFTP. Il get Il comando trasferisce i file da un server remoto al sistema locale, mentre il put comando fa il contrario.

Il get comando utilizza la seguente sintassi di base:

get [path to file]

Usando il get Il comando trasferisce un file dal server remoto alla Home del sistema locale directory. Ad esempio:

get example01.txt

D'altra parte, usando il put Il comando trasferisce un file dal sistema locale alla Home del server remoto directory:

put example02.txt

Per trasferire il file in una directory diversa, aggiungi il nome della directory alla fine di get o put comando:

get [path to file] [path to directory]
put [path to file] [path to directory]

Per modificare il nome del file sul sistema locale, aggiungi il nuovo nome del file alla fine del comando:

get [path to file] [new file name]
put [path to file] [new file name]

Il get e put i comandi utilizzano le seguenti opzioni:

Opzione Descrizione
-a Tentativo di riprendere un trasferimento di file.
-f Svuota il file su disco subito dopo il trasferimento.
-p Preserva i permessi dei file e i tempi di accesso durante il trasferimento.
-R Trasferisci un'intera directory in modo ricorsivo. Quando si utilizza questa opzione, definire un percorso per una directory anziché un percorso per un file.

Modifica delle autorizzazioni dei file

SFTP consente inoltre di modificare i permessi di file e directory sul server remoto. Il chown il comando cambia la proprietà del file per i singoli utenti:

chown [user ID] [path to file]

A differenza del chown comando, che richiede un ID utente, il comando chmod funziona come nella shell standard:

chmod [permission] [path to file]

Un'altra opzione è usare il chgrp comando per modificare la proprietà del gruppo di un file:

chgrp [group ID] [path to file]

SFTP ti consente anche di impostare una umask locale, modificando l'autorizzazione predefinita per tutti i file futuri trasferiti al sistema locale. Usa il lumask comando per impostare una nuova umask locale:

lumask [permission mask]

Gestione di file e directory

SFTP fornisce opzioni che consentono agli utenti di rivedere e gestire i file sia sul sistema locale che sul server remoto. Il ls comando ti consente di elencare i file e le directory sul server remoto. Ad esempio:

ls -l

Allo stesso modo, il lls (ls locali ) il comando elenca i file e le directory sul sistema locale:

lls -l

Il cd e lcd i comandi cambiano la directory di lavoro corrente sul server remoto o sul sistema locale, rispettivamente:

cd [path to directory on the remote server]
lcd [path to directory on the local system]

Usando il comando mkdir crea una directory sul server remoto con il percorso che fornisci:

mkdir [path to the new directory on the remote server]

Ad esempio, creando Directory_esempio nella Home directory:

mkdir Example_Directory

Il mkdir il comando non ha output, quindi è necessario utilizzare ls comando per verificare il risultato:

Simile a questo, il lmkdir comando crea una directory sul sistema locale:

lmkdir [path to the new directory on the local system]

Utilizzando lo stesso esempio:

lmkdir Example_Directory

Il rename comando cambia il nome di un file o di una directory sul server remoto:

rename [old path] [new path]

Ad esempio, rinominando example01.txt a sampledoc.txt :

rename example01.txt sampledoc.txt

Usando il rm il comando rimuove un file dal server remoto:

rm [path to file]

Ad esempio, rimuovendo il sampledoc.txt file:

rm sampledoc.txt

Allo stesso modo, il rmdir il comando rimuove una directory dal server remoto:

rmdir [path to directory]

Ad esempio, rimuovendo Directory_esempio :

rmdir Example_Directory

Il ln e symlink i comandi creano un collegamento simbolico a un file oa una directory sul server remoto:

ln [old path] [new path]
symlink [old path] [new path]

Ad esempio, creando un collegamento a example02.txt denominato link_esempio utilizzando il ln comando:

ln example02.txt example_link

Il pwd comando mostra la directory di lavoro corrente sul server remoto come output:

pwd

D'altra parte, il lpwd comando crea un output che mostra la directory di lavoro corrente sul sistema locale:

lpwd

Esecuzione dei comandi della shell locale

SFTP consente di eseguire un comando utilizzando la shell locale aggiungendo un punto esclamativo (! ) prima del comando. Ciò consente agli utenti di eseguire comandi che non fanno parte della shell SFTP standard sul sistema locale.

Ad esempio, SFTP non supporta l'tree comando in Linux. Utilizzando la shell locale, puoi eseguire questo comando nell'interfaccia SFTP:

!tree

Utilizzando il punto esclamativo (! ) senza un comando sposta temporaneamente l'utente nella shell locale. Per tornare alla shell SFTP, usa exit comando.

Altri comandi

Utilizzando la help o ? comandi visualizza il testo della guida per l'interfaccia SFTP. La guida fornisce un elenco di comandi disponibili nella shell SFTP.

La version comando visualizza la versione corrente del protocollo SFTP installato:

PDF cheat sheet SFTP

Di seguito puoi trovare un foglio di riferimento di una pagina contenente tutti i comandi e le opzioni SFTP sopra menzionati. Salvalo come file PDF facendo clic sul collegamento sottostante.

SCARICA il Cheat Sheet di SFTP


Linux
  1. Come usare i comandi della cronologia di Bash

  2. Come utilizzare i comandi "cat" e "tac" con esempi in Linux

  3. Come installare e utilizzare Flatpak in Linux

  4. Come salvare i comandi Linux e usarli su richiesta

  5. Usa SFTP e SCP

Come installare e utilizzare SFTP su server Linux

Come installare e utilizzare PuTTY su Linux

Come utilizzare i comandi Pbcopy e Pbpaste su Linux

Come installare e utilizzare phpMyAdmin in Linux

Come installare e utilizzare il comando fd in Linux

Come installare e utilizzare Nu Shell su Linux