Sådan bruger du FTP-kommandoen på Linux

Filoverførselsprotokollen er ældre end de fleste af vores læsere, men den går stadig stærkt. FTP har ikke sikkerheden som en moderne protokol, men du skal muligvis bruge den alligevel. Sådan gør du.

Advarsel: Brug ikke FTP over internettet

Lad os gøre det klart lige fra begyndelsen: File Transfer Protocol (FTP) dateres tilbage til begyndelsen af ​​1970’erne og blev skrevet uden hensyn til sikkerhed. Den bruger ikke kryptering til noget. Loginoplysninger som dit brugernavn og adgangskode, samt de data, du downloader eller uploader, overføres i klartekst. Enhver undervejs kan se dine hemmeligheder. FTP har dog stadig sine anvendelser.

Hvis du overfører filer inden for dit netværk, bør du være sikker – så længe ingen på netværket pakker og aflytter følsomme dokumenter, mens du overfører dem. Hvis dine filer ikke er fortrolige eller følsomme på nogen måde, bør det være fint at flytte dem rundt på dit interne netværk med FTP. Linux har standard ftp kommandolinje program at håndtere netop det scenarie.

Men brug bestemt ikke ftp-kommandoen til at få adgang til eksterne ressourcer på tværs af internettet. Til det skal du bruge sftp kommandolinje program, som bruger den sikre SSH File Transfer Protocol. Vi introducerer begge disse programmer i denne øvelse.

For at præcisere, hvorfor du aldrig vil bruge FTP over internettet, skal du tage et kig på nedenstående skærmbillede. Det viser FTP-adgangskoden i klartekst. Enhver på dit netværk eller mellem dig og FTP-serveren på internettet kan nemt se adgangskoden er “MySecretPassword.”

Uden krypteringen kan en ondsindet aktør også ændre filer, du downloader eller uploader under transit.

ftp-kommandoen

Forudsat at du har en gyldig konto på et FTP-sted, kan du oprette forbindelse til den med følgende kommando. Gennem hele denne artikel skal du erstatte IP-adressen i kommandoerne med IP-adressen på den FTP-server, du opretter forbindelse til.

ftp  192.168.4.25

Advarsel: Du bør kun bruge ftp-kommandoen til at oprette forbindelse til servere på et betroet lokalt netværk. Brug sftp-kommandoen, som er dækket nedenfor, til at overføre filer over internettet.

  Sådan kører du Windows-apps på Linux med vin

FTP-serveren svarer med en velkomstbesked. Ordlyden af ​​hilsenen vil variere fra server til server. Den beder derefter om brugernavnet på den konto, du logger på.

Bemærk, at IP-adressen på det websted, du opretter forbindelse til, vises, efterfulgt af dit Linux-brugernavn. Hvis dit kontonavn på FTP-serveren er det samme som dit Linux-brugernavn, skal du blot trykke på Enter-tasten. Dette vil bruge dit Linux-brugernavn som kontonavnet på FTP-serveren. Hvis dit Linux-brugernavn og FTP-kontonavnet er forskellige, skal du indtaste FTP-kontoens brugernavn og derefter trykke på Enter.

Log ind på FTP-serveren

Du vil blive bedt om at indtaste din adgangskode til FTP-stedet. Indtast din adgangskode, og tryk på Enter. Din adgangskode vises ikke på skærmen. Hvis kombinationen af ​​dit FTP-brugerkontonavn og din adgangskode bekræftes af FTP-serveren, er du derefter logget ind på FTP-serveren.

Du vil blive præsenteret for ftp>-prompten.

Se sig omkring og hente filer

Først vil du sikkert gerne have en liste over filerne på FTP-serveren. Kommandoen ls gør netop det. Vores bruger ser, at filen gc.c er på FTP-serveren, og han vil downloade den til sin egen computer. Hans computer er den “lokale computer” på FTP-sprog.

Kommandoen til at hente (eller “hente”) en fil er get. Vores bruger udsender derfor kommandoen get gc.c. De skriver get, et mellemrum og derefter navnet på den fil, de ønsker at hente.

FTP-serveren reagerer ved at overføre filen til den lokale computer og bekræfte, at overførslen fandt sted. Filens størrelse og den tid, det tog at overføre, vises også.

ls
get gc.c

For at hente flere filer på én gang skal du bruge kommandoen mget (multiple get). Kommandoen mget vil bede dig om at bekræfte, om du vil downloade hver fil efter tur. Svar ved at trykke “y” for ja og “n” for nej.

Dette ville være kedeligt for et stort antal filer. På grund af dette gemmes samlinger af relaterede filer normalt på ftp-websteder som enkelte tar.gz- eller tar.bz2-filer.

mget *.c

Uploader filer til FTP-serveren

Afhængigt af de tilladelser, der er givet til din FTP-konto, kan du muligvis uploade (eller “sætte”) filer til serveren. For at uploade en fil, brug put-kommandoen. I vores eksempel uploader brugeren en fil kaldet Songs.tar.gz til FTP-serveren.

put Songs.tar.gz

Som du sikkert forventer, er der en kommando til at lægge flere filer til FTP-serveren på én gang. Det kaldes mput (multiple put). Ligesom mget-kommandoen gjorde, vil mput bede om en “y” eller “n” bekræftelse for upload af hver fil, én efter én.

  Sådan gør du harddisken større i VirtualBox på Linux

Det samme argument for at lægge sæt filer i tar-arkiver gælder for at lægge filer, som det gør for at få filer. Vores bruger uploader flere “.odt”-filer med følgende kommando:

mput *.odt

Oprettelse og ændring af mapper

Hvis din brugerkonto på ftp-serveren tillader det, kan du muligvis oprette mapper. Kommandoen til at gøre dette er mkdir . For at være klar, vil enhver mappe, du opretter med mkdir-kommandoen, blive oprettet på ftp-serveren og ikke på din lokale computer.

Brug cd-kommandoen for at ændre mapper på ftp-serveren. Når du bruger cd-kommandoen, ændres ftp>-prompten ikke for at afspejle din nye nuværende mappe. Kommandoen pwd (print working directory) vil vise dig din aktuelle mappe.

Vores ftp-bruger opretter en mappe kaldet musik, skifter til den nye mappe, bekræfter hvor de er ved at bruge kommandoen pwd og uploader derefter en fil til den mappe.

mkdir music
cd music
pwd
put songs.tar.gz

Brug cdup-kommandoen for hurtigt at flytte til den overordnede mappe i den aktuelle mappe.

cdup

Adgang til den lokale computer

For at ændre biblioteket på den lokale computer kan du bruge lcd-kommandoen ved ftp>-prompten. Det er dog nemt at miste overblikket over, hvor du er i det lokale filsystem. En mere bekvem metode til at få adgang til det lokale filsystem er at bruge ! kommando.

Det ! kommando åbner et shell-vindue til den lokale computer. Du kan gøre hvad som helst i denne shell, som du kan i et standard terminalvindue. Når du skriver exit, vender du tilbage til ftp>-prompten.

Vores bruger har brugt ! kommando og indtastede et shell-vindue på den lokale computer. De har udstedt en ls-kommando for at se, hvilke filer der findes i den mappe og derefter skrevet exit for at vende tilbage til ftp>-prompten.

!
ls
exit

Omdøbning af filer

Brug kommandoen omdøb for at omdøbe filer på FTP-serveren. Her omdøber vores FTP-bruger en fil med omdøb og bruger derefter ls-kommandoen til at liste filerne i mappen.

rename songs.tar.gz rock_songs.tar.gz
ls

Sletning af filer

Brug delete-kommandoen for at slette filer på FTP-serveren. Brug mdelete-kommandoen for at slette flere filer på én gang. Du vil blive bedt om at give en “y” eller “n” bekræftelse for sletningen af ​​hver fil.

  Sådan redigeres tekstfiler grafisk på Linux med gedit

Her har vores FTP-bruger listet filerne for at se deres navne og derefter valgt en at slette. De beslutter sig derefter for at slette dem alle.

ls
delete gc.o
mdelete *.o

Brug af sftp-kommandoen

Læsere, der er fortrolige med IP-adressesystemet, vil have bemærket, at 192.168-adressen på FTP-serveren, der bruges i ovenstående eksempler, er en intern IP-adresse, også kaldet en privat IP-adresse. Som vi advarede i begyndelsen af ​​denne artikel, bør ftp-kommandoen kun bruges på interne netværk.

Hvis du vil oprette forbindelse til en ekstern eller offentlig FTP-server, skal du bruge sftp-kommandoen. Vores bruger vil oprette forbindelse til en SFTP-konto kaldet demo på den offentligt tilgængelige FTP-server placeret på test.trebex.net.

Når de forbinder, får de besked om, at forbindelsen er etableret. De er også informeret om, at værtens ægthed ikke kan verificeres. Dette er normalt for den første forbindelse en ny vært. De trykker på “y” for at acceptere forbindelsen.

Fordi brugerkontonavnet (demo) blev sendt på kommandolinjen, bliver de ikke bedt om brugerkontonavnet. De bliver kun bedt om adgangskoden. Dette indtastes, verificeres og accepteres, og de præsenteres med sftp>-prompten.

sftp [email protected]

De FTP-kommandoer, vi har beskrevet ovenfor, fungerer på samme måde i en SFTP-session, med følgende undtagelser.

For at slette en fil, brug rm (FTP bruger slet)
For at slette flere filer, brug rm (FTP bruger mdelete)
For at flytte til den overordnede mappe, brug cd .. (FTP bruger cdup)

Vores bruger har brugt nogle få kommandoer i deres SFTP-session. De har brug ls til at liste filerne, og cd til at skifte til pubmappen. De har brugt pwd til at udskrive arbejdsbiblioteket.

Der er andre muligheder for at overføre filer i Linux-verdenen, især scp (sikker kopi), men vi har fokuseret på FTP og SFTP her. Brugt i de relevante scenarier vil disse to kommandoer tjene dig og dine behov for fillagring og -hentning godt.