Cum să utilizați comanda FTP pe Linux

Protocolul de transfer de fișiere este mai vechi decât majoritatea cititorilor noștri, dar este încă puternic. FTP nu are securitatea unui protocol modern, dar poate fi necesar să-l utilizați oricum. Iată cum să o faci.

Avertisment: Nu utilizați FTP pe Internet

Să clarificăm acest lucru încă de la început: Protocolul de transfer de fișiere (FTP) datează de la începutul anilor 1970 și a fost scris fără nicio importanță de securitate. Nu folosește criptarea pentru nimic. Acreditările de conectare, cum ar fi numele de utilizator și parola, precum și datele pe care le descărcați sau le încărcați, sunt transferate în text clar. Oricine de-a lungul drumului vă poate vedea secretele. Cu toate acestea, FTP-ul își are încă utilizările.

Dacă transferați fișiere în cadrul rețelei dvs., ar trebui să fiți în siguranță, atâta timp cât nimeni din rețea nu detectează pachete și nu ascultă documentele sensibile pe măsură ce le transferați. Dacă fișierele dvs. nu sunt confidențiale sau sensibile în niciun fel, mutarea lor în rețeaua internă cu FTP ar trebui să fie bine. Linux are ftp standard program de linie de comandă pentru a face față exact acel scenariu.

Dar cu siguranță nu utilizați comanda ftp pentru a accesa resurse externe pe internet. Pentru asta, folosește sftp program de linie de comandă, care utilizează protocolul securizat de transfer de fișiere SSH. Vom prezenta ambele programe în acest tutorial.

Pentru a clarifica de ce nu doriți să utilizați niciodată FTP pe Internet, aruncați o privire la captura de ecran de mai jos. Afișează parola FTP în text simplu. Oricine din rețeaua dvs. sau dintre dvs. și serverul FTP de pe Internet poate vedea cu ușurință parola este „MySecretPassword”.

Fără criptare, un actor rău intenționat ar putea modifica și fișierele pe care le descărcați sau le încărcați în tranzit.

Comanda ftp

Presupunând că aveți un cont valid pe un site FTP, vă puteți conecta la acesta cu următoarea comandă. Pe parcursul acestui articol, înlocuiți adresa IP din comenzi cu adresa IP a serverului FTP la care vă conectați.

ftp  192.168.4.25

Avertisment: ar trebui să utilizați comanda ftp numai pentru a vă conecta la servere dintr-o rețea locală de încredere. Utilizați comanda sftp, descrisă mai jos, pentru a transfera fișiere pe internet.

  Cum se instalează Python în Ubuntu Linux (4 metode)

Serverul FTP răspunde cu un mesaj de bun venit. Formularea salutului va varia de la server la server. Apoi vă solicită numele de utilizator al contului la care vă conectați.

Observați că este afișată adresa IP a site-ului la care vă conectați, urmată de numele dvs. de utilizator Linux. Dacă numele contului dvs. de pe serverul FTP este același cu numele dvs. de utilizator Linux, pur și simplu apăsați tasta Enter. Aceasta va folosi numele dvs. de utilizator Linux ca nume de cont pe serverul FTP. Dacă numele dvs. de utilizator Linux și numele contului FTP sunt diferite, introduceți numele de utilizator al contului FTP și apoi apăsați Enter.

Conectarea la serverul FTP

Vi se va solicita să introduceți parola pentru site-ul FTP. Introduceți parola și apăsați Enter. Parola dvs. nu este afișată pe ecran. Dacă numele contului de utilizator FTP și combinația de parolă sunt verificate de serverul FTP, atunci sunteți conectat la serverul FTP.

Vi se va prezenta promptul ftp>.

Privirea în jur și preluarea fișierelor

În primul rând, probabil că veți dori să obțineți o listă a fișierelor de pe serverul FTP. Comanda ls face exact asta. Utilizatorul nostru vede că fișierul gc.c este pe serverul FTP și dorește să îl descarce pe propriul computer. Computerul lui este „calculatorul local” în limbajul FTP.

Comanda pentru a prelua (sau „obține”) un fișier este get. Prin urmare, utilizatorul nostru lansează comanda get gc.c. Ei tastează get, un spațiu și apoi numele fișierului pe care doresc să îl recupereze.

Serverul FTP răspunde transferând fișierul pe computerul local și confirmând că transferul a avut loc. Sunt afișate și dimensiunea fișierului și timpul necesar transferului.

ls
get gc.c

Pentru a prelua mai multe fișiere simultan, utilizați comanda mget (obținere multiple). Comanda mget vă va cere să confirmați dacă doriți să descărcați fiecare fișier pe rând. Răspundeți apăsând „y” pentru da și „n” pentru nu.

Acest lucru ar fi plictisitor pentru un număr mare de fișiere. Din această cauză, colecțiile de fișiere asociate sunt de obicei stocate pe site-uri ftp ca fișiere tar.gz sau tar.bz2 unice.

mget *.c

Încărcarea fișierelor pe serverul FTP

În funcție de permisiunile care au fost acordate contului dvs. FTP, este posibil să puteți încărca (sau „pune”) fișiere pe server. Pentru a încărca un fișier, utilizați comanda put. În exemplul nostru, utilizatorul încarcă un fișier numit Songs.tar.gz pe serverul FTP.

put Songs.tar.gz

După cum probabil vă așteptați, există o comandă pentru a pune mai multe fișiere pe serverul FTP simultan. Se numește mput (put multiplu). La fel ca și comanda mget, mput va cere o confirmare „y” sau „n” pentru încărcarea fiecărui fișier, unul câte unul.

  Ce este gcloud și cum se instalează pe Windows, MacOS și Linux?

Același argument pentru punerea seturi de fișiere în arhivele tar se aplică pentru punerea fișierelor ca și pentru obținerea fișierelor. Utilizatorul nostru încarcă mai multe fișiere „.odt” cu următoarea comandă:

mput *.odt

Crearea și schimbarea directoarelor

Dacă contul dvs. de utilizator de pe serverul ftp permite acest lucru, este posibil să puteți crea directoare. Comanda pentru a face acest lucru este mkdir . Pentru a fi clar, orice director pe care îl creați cu comanda mkdir va fi creat pe serverul ftp și nu pe computerul dvs. local.

Pentru a schimba directoarele de pe serverul ftp, utilizați comanda cd. Când utilizați comanda cd, promptul ftp> nu se va modifica pentru a reflecta noul director curent. Comanda pwd (print working directory) vă va arăta directorul curent.

Utilizatorul nostru ftp creează un director numit muzică, se schimbă în noul director, confirmă unde se află folosind comanda pwd, apoi încarcă un fișier în acel director.

mkdir music
cd music
pwd
put songs.tar.gz

Pentru a muta rapid în directorul părinte al directorului curent, utilizați comanda cdup.

cdup

Accesarea computerului local

Pentru a schimba directorul de pe computerul local, puteți utiliza comanda lcd la promptul ftp>. Cu toate acestea, este ușor să pierdeți evidența unde vă aflați în sistemul de fișiere local. O metodă mai convenabilă de accesare a sistemului de fișiere local este utilizarea ! comanda.

Cel! comanda deschide o fereastră shell către computerul local. Puteți face orice în acest shell într-o fereastră standard de terminal. Când tastați exit, veți reveni la promptul ftp>.

Utilizatorul nostru a folosit! comandă și a intrat într-o fereastră shell pe computerul local. Ei au emis o comandă ls pentru a vedea ce fișiere sunt prezente în acel director și apoi au tastat exit pentru a reveni la promptul ftp>.

!
ls
exit

Redenumirea fișierelor

Pentru a redenumi fișierele de pe serverul FTP, utilizați comanda rename. Aici utilizatorul nostru FTP redenumește un fișier cu redenumire și apoi folosește comanda ls pentru a lista fișierele din director.

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

Ștergerea fișierelor

Pentru a șterge fișiere de pe serverul FTP utilizați comanda delete. Pentru a șterge mai multe fișiere simultan, utilizați comanda mdelete. Vi se va cere să furnizați o confirmare „y” sau „n” pentru ștergerea fiecărui fișier.

  Cum să utilizați comanda istoric pe Linux

Aici utilizatorul nostru FTP a listat fișierele pentru a le vedea numele și apoi a ales unul pentru a le șterge. Ei decid apoi să le ștergă pe toate.

ls
delete gc.o
mdelete *.o

Folosind comanda sftp

Cititorii familiarizați cu sistemul de adresare IP vor fi observat că adresa 192.168 a serverului FTP folosit în exemplele de mai sus este o adresă IP internă, numită și adresă IP privată. După cum am avertizat la începutul acestui articol, comanda ftp ar trebui utilizată numai în rețelele interne.

Dacă doriți să vă conectați la un server FTP la distanță sau public, utilizați comanda sftp. Utilizatorul nostru se va conecta la un cont SFTP numit demo pe serverul FTP accesibil public situat la test.trebex.net.

Când se conectează, sunt informați că conexiunea a fost stabilită. De asemenea, sunt informați că autenticitatea gazdei nu poate fi verificată. Acest lucru este normal pentru prima conexiune o gazdă nouă. Ei apasă „y” pentru a accepta conexiunea.

Deoarece numele contului de utilizator (demo) a fost transmis pe linia de comandă, nu li se solicită numele contului de utilizator. Li se solicită doar parola. Acesta este introdus, verificat și acceptat și li se prezintă promptul sftp>.

sftp [email protected]

Comenzile FTP pe care le-am descris mai sus vor funcționa la fel într-o sesiune SFTP, cu următoarele excepții.

Pentru a șterge un fișier utilizați rm (FTP folosește ștergere)
Pentru a șterge mai multe fișiere, utilizați rm (FTP folosește mdelete)
Pentru a vă muta în directorul părinte, utilizați cd .. (FTP folosește cdup)

Utilizatorul nostru a folosit câteva comenzi în sesiunea sa SFTP. Au folosit ls pentru a lista fișierele și cd pentru a schimba în directorul pub. Ei au folosit pwd pentru a tipări directorul de lucru.

Există și alte opțiuni pentru a transfera fișiere în lumea Linux, în special scp (copie securizată), dar aici ne-am concentrat pe FTP și SFTP. Folosite în scenariile aplicabile, aceste două comenzi vă vor servi bine dvs. și nevoilor dvs. de stocare și recuperare a fișierelor.