Hur man använder FTP-kommandot på Linux

Filöverföringsprotokollet är äldre än de flesta av våra läsare, men det går fortfarande bra. FTP har inte säkerheten för ett modernt protokoll, men du kan behöva använda det ändå. Så här gör du.

Varning: Använd inte FTP över Internet

Låt oss klargöra detta redan från början: File Transfer Protocol (FTP) går tillbaka till början av 1970-talet och skrevs utan hänsyn till säkerhet. Den använder inte kryptering för någonting. Inloggningsuppgifter som ditt användarnamn och lösenord, samt data du laddar ner eller laddar upp, överförs i klartext. Vem som helst på vägen kan se dina hemligheter. FTP har dock fortfarande sina användningsområden.

Om du överför filer inom ditt nätverk bör du vara säker – så länge ingen på nätverket paketsniffar och avlyssnar känsliga dokument när du överför dem. Om dina filer inte är konfidentiella eller känsliga på något sätt, bör det gå bra att flytta dem runt ditt interna nätverk med FTP. Linux har standard ftp kommandoradsprogram att hantera just det scenariot.

Men använd definitivt inte ftp-kommandot för att komma åt externa resurser över internet. Använd sftp för det kommandoradsprogram, som använder det säkra SSH File Transfer Protocol. Vi kommer att introducera båda dessa program i denna handledning.

För att förtydliga varför du aldrig vill använda FTP över Internet, ta en titt på skärmdumpen nedan. Den visar FTP-lösenordet i klartext. Vem som helst på ditt nätverk eller mellan dig och FTP-servern på Internet kan enkelt se lösenordet är ”MySecretPassword.”

Utan krypteringen kan en illvillig aktör också ändra filer som du laddar ner eller laddar upp under överföring.

Ftp-kommandot

Förutsatt att du har ett giltigt konto på en FTP-sida kan du ansluta till det med följande kommando. I den här artikeln byter du ut IP-adressen i kommandona med IP-adressen för FTP-servern du ansluter till.

ftp  192.168.4.25

Varning: Du bör endast använda ftp-kommandot för att ansluta till servrar på ett pålitligt lokalt nätverk. Använd kommandot sftp, som beskrivs nedan, för att överföra filer över internet.

FTP-servern svarar med ett välkomstmeddelande. Texten i hälsningen kommer att variera från server till server. Den frågar sedan efter användarnamnet för kontot du loggar in på.

Observera att IP-adressen för webbplatsen du ansluter till visas, följt av ditt Linux-användarnamn. Om ditt kontonamn på FTP-servern är detsamma som ditt Linux-användarnamn, tryck helt enkelt på Enter-tangenten. Detta kommer att använda ditt Linux-användarnamn som kontonamn på FTP-servern. Om ditt Linux-användarnamn och FTP-kontonamnet är olika, skriv in FTP-kontots användarnamn och tryck sedan på Retur.

Logga in på FTP-servern

Du kommer att bli ombedd att ange ditt lösenord för FTP-sidan. Ange ditt lösenord och tryck på Enter. Ditt lösenord visas inte på skärmen. Om kombinationen av ditt FTP-användarkonto och lösenord verifieras av FTP-servern, loggas du sedan in på FTP-servern.

Du kommer att presenteras med ftp>-prompten.

Titta runt och hämta filer

Först vill du förmodligen få en lista över filerna på FTP-servern. Kommandot ls gör just det. Vår användare ser att filen gc.c finns på FTP-servern och han vill ladda ner den till sin egen dator. Hans dator är den ”lokala datorn” på FTP-språk.

Kommandot för att hämta (eller ”get”) en fil är get. Vår användare utfärdar därför kommandot get gc.c. De skriver get, ett mellanslag och sedan namnet på filen de vill hämta.

FTP-servern svarar genom att överföra filen till den lokala datorn och bekräfta att överföringen ägde rum. Filens storlek och den tid det tog att överföra visas också.

ls
get gc.c

För att hämta flera filer samtidigt, använd kommandot mget (multiple get). Kommandot mget kommer att be dig bekräfta om du vill ladda ner varje fil i tur och ordning. Svara genom att trycka på ”y” för ja och ”n” för nej.

Detta skulle vara tråkigt för ett stort antal filer. På grund av detta lagras vanligtvis samlingar av relaterade filer på ftp-webbplatser som enstaka tar.gz- eller tar.bz2-filer.

mget *.c

Ladda upp filer till FTP-servern

Beroende på de behörigheter som har beviljats ​​till ditt FTP-konto kan du kanske ladda upp (eller ”sätta”) filer till servern. För att ladda upp en fil, använd kommandot put. I vårt exempel laddar användaren upp en fil som heter Songs.tar.gz till FTP-servern.

put Songs.tar.gz

Som du förmodligen förväntar dig finns det ett kommando för att lägga flera filer till FTP-servern samtidigt. Det kallas mput (multiple put). Precis som kommandot mget gjorde, kommer mput att be om en ”y” eller ”n” bekräftelse för uppladdningen av varje fil, en efter en.

Samma argument för att placera uppsättningar filer i tar-arkiv gäller för att lägga in filer som för att hämta filer. Vår användare laddar upp flera ”.odt”-filer med följande kommando:

mput *.odt

Skapa och ändra kataloger

Om ditt användarkonto på ftp-servern tillåter det kan du kanske skapa kataloger. Kommandot för att göra detta är mkdir. För att vara tydlig, kommer alla kataloger du skapar med kommandot mkdir att skapas på ftp-servern och inte på din lokala dator.

För att ändra kataloger på ftp-servern, använd kommandot cd. När du använder cd-kommandot ändras inte ftp>-prompten för att återspegla din nya nuvarande katalog. Kommandot pwd (skriv ut arbetskatalog) visar din nuvarande katalog.

Vår ftp-användare skapar en katalog som heter musik, byter till den nya katalogen, bekräftar var de är genom att använda kommandot pwd och laddar sedan upp en fil till den katalogen.

mkdir music
cd music
pwd
put songs.tar.gz

Använd kommandot cdup för att snabbt flytta till den överordnade katalogen för den aktuella katalogen.

cdup

Åtkomst till den lokala datorn

För att ändra katalogen på den lokala datorn kan du använda lcd-kommandot vid ftp>-prompten. Det är dock lätt att tappa koll på var du befinner dig i det lokala filsystemet. En mer bekväm metod för att komma åt det lokala filsystemet är att använda ! kommando.

Den ! kommandot öppnar ett skalfönster till den lokala datorn. Du kan göra vad som helst i detta skal som du kan i ett standardterminalfönster. När du skriver exit återgår du till ftp>-prompten.

Vår användare har använt ! kommandot och gick in i ett skalfönster på den lokala datorn. De har utfärdat ett ls-kommando för att se vilka filer som finns i den katalogen och sedan skrivit exit för att återgå till ftp>-prompten.

!
ls
exit

Byt namn på filer

För att byta namn på filer på FTP-servern använd kommandot byt namn. Här döper vår FTP-användare om en fil med rename och använder sedan kommandot ls för att lista filerna i katalogen.

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

Ta bort filer

Använd kommandot delete för att radera filer på FTP-servern. För att radera flera filer samtidigt, använd kommandot mdelete. Du kommer att bli ombedd att ge en ”y” eller ”n” bekräftelse för raderingen av varje fil.

Här har vår FTP-användare listat filerna för att se deras namn och sedan valt en att radera. De bestämmer sig sedan för att ta bort dem alla.

ls
delete gc.o
mdelete *.o

Använda sftp-kommandot

Läsare som är bekanta med IP-adresseringssystemet kommer att ha märkt att 192.168-adressen för FTP-servern som används i exemplen ovan är en intern IP-adress, även kallad en privat IP-adress. Som vi varnade i början av den här artikeln bör ftp-kommandot endast användas på interna nätverk.

Använd kommandot sftp om du vill ansluta till en fjärransluten eller offentlig FTP-server. Vår användare kommer att ansluta till ett SFTP-konto som heter demo på den allmänt tillgängliga FTP-servern som finns på test.trebex.net.

När de ansluter informeras de om att anslutningen har upprättats. De informeras också om att värdens äkthet inte kan verifieras. Detta är normalt för den första anslutningen till en ny värd. De trycker på ”y” för att acceptera anslutningen.

Eftersom användarkontonamnet (demo) skickades på kommandoraden uppmanas de inte att ange användarkontonamnet. De tillfrågas endast om lösenordet. Detta matas in, verifieras och accepteras, och de presenteras med sftp>-prompten.

sftp [email protected]

FTP-kommandona vi har beskrivit ovan kommer att fungera på samma sätt i en SFTP-session, med följande undantag.

För att radera en fil använd rm (FTP använder delete)
För att radera flera filer använd rm (FTP använder mdelete)
För att flytta till den överordnade katalogen använd cd .. (FTP använder cdup)

Vår användare har använt några kommandon i sin SFTP-session. De använder ls för att lista filerna och cd för att byta till pubkatalogen. De har använt pwd för att skriva ut arbetskatalogen.

Det finns andra alternativ för att överföra filer i Linux-världen, särskilt scp (säker kopia), men vi har fokuserat på FTP och SFTP här. Används i de tillämpliga scenarierna kommer dessa två kommandon att tjäna dig och dina fillagrings- och hämtningsbehov väl.