Hoe u de SFTP-opdracht gebruikt om bestanden over te dragen van/naar Linux-servers

De meeste mensen geven de voorkeur aan hulpprogramma's zoals FileZilla of WinSCP wanneer ze bestanden van of naar Linux/BSD-servers moeten overbrengen. Als OpenSSH op deze computer draait, kun je er verbinding mee maken via het Secure / SSH FTP (SFTP) protocol. De bovenstaande hulpprogramma's vergemakkelijken de bestandsoverdracht door een grafische interface te bieden, maar u moet deze programma's installeren en configureren.

Sommige gebruikers willen liever geen extra hulpprogramma's installeren. Anderen geven gewoon de voorkeur aan de opdrachtregel omdat het je meer controle geeft en een snellere manier om de tool te vertellen wat je wilt dat het doet. Maar nu is er nog een reden om naar de opdrachtregel te gaan als u bestanden wilt overbrengen. Windows 10 begon op te nemen Standaard OpenSSH-client Hiermee kunt u rechtstreeks vanaf de opdrachtprompt inloggen op Linux/BSD-servers.

Hoe de SFTP-opdracht te gebruiken om bestanden over te dragen van/naar Linux-servers - uitleg

Deze client wordt ook geleverd met een heleboel andere hulpprogramma's, en SFTP is daar een van. U kunt nu dus bestanden overbrengen naar Linux/BSD-besturingssystemen, rechtstreeks vanaf de opdrachtprompt, zonder dat u iets op uw Windows-computer hoeft te installeren.

Het SFTP-hulpprogramma is ook beschikbaar op Linux-machines en werkt op dezelfde manier.

Hoe in te loggen met het sftp-commando

Als u Windows gebruikt, opent u de opdrachtprompt. Als je Linux gebruikt, open dan een Terminal-venster.

Om in te loggen op de server met het sftp-commando, kunt u exact dezelfde syntaxis gebruiken als het ssh-commando. Als je hier niet bekend mee bent, lees dan de tutorial die in de introductieparagraaf is gelinkt.

sftp your_username@IP-address-or-hostname

Voorbeeld commando's:

sftp john@203.0.113.1

sftp john@example.com

Hoe de SFTP-opdracht te gebruiken om bestanden over te dragen van/naar Linux-servers - uitleg

Hoe bestanden te downloaden na inloggen met sftp

U kunt nu opdrachten invoeren in de sftp> prompt om te communiceren met bestanden op de server.

Om een ​​bestand te downloaden:

get /path/to/file/on/server

Voorbeeld:

get /bin/ls

Dit wordt gedownload naar uw huidige map, waarin u zich lokaal bevond voordat u zich aanmeldde bij de server. Om te downloaden naar een specifieke lokale map (Windows):

get /path/to/file/on/server C:\path\to\local\folder

Voorbeeld

get /bin/ls C:\User\John\Desktop

Gebruik op Linux Unix-type paden (een schuine streep naar voren in plaats van een backslash):

get /bin/ls /home/john/Desktop
Opmerking: zelfs als u (ten onrechte) slashes voor Windows-paden gebruikt, lijkt het erop dat de tool ze in sftp zal begrijpen.

Paden kunnen ook relatief zijn. Dit betekent dat als je in C:\Gebruiker\John Reeds wanneer u de opdrachtprompt opent, kunt u downloaden naar het bureaublad (C:\Gebruiker\John\Desktop) met:

get /bin/ls Desktop

Externe paden kunnen ook relatief zijn, wat betekent dat als u inlogt met sftp john@203.0.113.1 Je staat al in de directory.” thuis/jan, dus je kunt dit gebruiken om te downloaden/home/jan/bestand"

get file Desktop

Dit wordt gedownload "/home/jan/bestand" naar mij "C:\Gebruikers\Uw Gebruiker\Desktop\bestand. '

Om mappen te kopiëren, moet u de parameter -r toevoegen aan de opdracht, die een iterator aangeeft.

get -r /bin Desktop\bin
Hoe de SFTP-opdracht te gebruiken om bestanden over te dragen van/naar Linux-servers - uitleg

Vergeet niet om een ​​naam toe te voegen voor de nieuwe map die u lokaal wilt maken, zoals "Bureaublad\bin" In dit geval. Als je gaat gebruiken haal -r /bin Bureaublad op , worden de bestanden rechtstreeks naar het bureaublad gekopieerd. Het zijn de bestanden die zijn gekopieerd, niet de map zelf.

Hoe bestanden te downloaden na inloggen met sftp

Het downloaden van bestanden of mappen volgt dezelfde principes. De enige uitzondering is dat de paden omgekeerd zijn, wat betekent dat u eerst het lokale bestand/de map opgeeft en vervolgens het externe pad.

Op Windows:

put C:\path\to\local\content /path/where/to/upload

Op Linux:

put /path/to/local/content /path/to/remote/location

Onthoud bij het laden van mappen (het kopiëren ervan) dat dezelfde regel van toepassing is als in de vorige sectie: het zijn eigenlijk de bestanden in de map die zijn gekopieerd, niet de map zelf. Selecteer dus een nieuwe naam voor de map waarnaar u deze bestanden wilt kopiëren.

put -r Desktop/bin bin

Hiermee wordt een nieuwe map gemaakt met de naam "bakOp de andere kant.

Om de sftp-shell te verlaten, typt u gewoon:

afrit

Hoe de overdracht hervatten en paden gebruiken die spaties bevatten

Als u een groot bestand overbrengt en het wordt onderbroken, kunt u de opdracht hervatten door de vorige opdracht te vervangen reputatie وspijt krijgen  in plaats van zetten و krijgen. Zorg ervoor dat u dezelfde paden gebruikt die u de vorige keer hebt gebruikt, zodat ze exact overeenkomen met de bron en de bestemming.

reget /path/to/file/on/server C:\path\to\local\file

reput C:\path\to\local\file /path/to/file/on/server

Om directory-overdrachten te hervatten, voegt u eenvoudig de -r .parameter toe

reput -r Desktop/bin bin

Als het pad naar een bestand spaties bevat, plaatst u dit tussen aanhalingstekens.

Dit gaat niet werken:

put C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\SOUNDTRACK\The_Witcher_3_Wild_Hunt_-_Official_Soundtrack_(steam_edition)_mp3.zip

Maar dit zal werken:

put "C:\Program Files (x86)\Steam\steamapps\common\The Witcher 3\SOUNDTRACK\The_Witcher_3_Wild_Hunt_-_Official_Soundtrack_(steam_edition)_mp3.zip"

(Ja, je kunt de soundtrack in The Witcher 3 vinden als je deze op Steam hebt geïnstalleerd.)

Conclusie

Dit behandelt de belangrijkste dingen die u moet weten over sftp. Als je merkt dat je meer wilt weten, kun je verder lezen Volledige sftp-opdrachtgids online.

Ga naar de bovenste knop