Как да използвате FTP командата в Linux

Протоколът за прехвърляне на файлове е по-стар от повечето наши читатели, но все още е силен. FTP няма сигурността на модерен протокол, но все пак може да се наложи да го използвате. Ето как да го направите.

Предупреждение: Не използвайте FTP през Интернет

Нека изясним това още от самото начало: Протоколът за прехвърляне на файлове (FTP) датира от началото на 70-те години и е написан без никакво отношение към сигурността. Не използва криптиране за нищо. Идентификационните данни за вход като вашето потребителско име и парола, както и данните, които изтегляте или качвате, се прехвърлят в чист текст. Всеки по пътя може да види вашите тайни. Въпреки това, FTP все още има своите приложения.

Ако прехвърляте файлове в рамките на вашата мрежа, трябва да сте в безопасност – стига никой в ​​мрежата да не подслушва пакети и да подслушва всякакви чувствителни документи, докато ги прехвърляте. Ако вашите файлове не са поверителни или чувствителни по никакъв начин, преместването им из вътрешната ви мрежа с FTP би трябвало да е добре. Linux има стандартен ftp програма на командния ред да се справим точно с този сценарий.

Но определено не използвайте командата ftp за достъп до външни ресурси в интернет. За това използвайте sftp програма на командния ред, който използва защитения SSH протокол за прехвърляне на файлове. Ще ви представим и двете програми в този урок.

За да изясните защо никога не искате да използвате FTP през интернет, погледнете екранната снимка по-долу. Показва FTP паролата в обикновен текст. Всеки във вашата мрежа или между вас и FTP сървъра в Интернет може лесно да види паролата е „MySecretPassword“.

Без криптирането злонамерен актьор може да променя и файловете, които изтегляте или качвате по време на пренос.

Командата ftp

Ако приемем, че имате валиден акаунт на FTP сайт, можете да се свържете с него със следната команда. В цялата тази статия заменете IP адреса в командите с IP адреса на FTP сървъра, към който се свързвате.

ftp  192.168.4.25

Предупреждение: Трябва да използвате командата ftp само за свързване със сървъри в надеждна локална мрежа. Използвайте командата sftp, описана по-долу, за прехвърляне на файлове през интернет.

  Как да намерите текстове на песни в Linux с търсачката на текстове

FTP сървърът отговаря с приветствено съобщение. Формулировката на поздрава ще варира от сървър до сървър. След това пита за потребителското име на акаунта, в който влизате.

Обърнете внимание, че се показва IP адресът на сайта, към който се свързвате, последван от вашето потребителско име за Linux. Ако името на вашия акаунт на FTP сървъра е същото като потребителското ви име за Linux, просто натиснете клавиша Enter. Това ще използва вашето потребителско име за Linux като име на акаунта на FTP сървъра. Ако вашето потребителско име за Linux и името на FTP акаунта са различни, въведете потребителското име на FTP акаунта и след това натиснете Enter.

Влизане в FTP сървъра

Ще бъдете подканени да въведете паролата си за FTP сайта. Въведете паролата си и натиснете Enter. Вашата парола не се показва на екрана. Ако вашият FTP потребителски акаунт и комбинация от парола са потвърдени от FTP сървъра, тогава ще влезете в FTP сървъра.

Ще ви бъде представено подканата ftp>.

Разглеждане и извличане на файлове

Първо, вероятно ще искате да получите списък с файловете на FTP сървъра. Командата ls прави точно това. Нашият потребител вижда, че файлът gc.c е на FTP сървъра и иска да го изтегли на собствения си компютър. Неговият компютър е „локалният компютър“ на FTP език.

Командата за извличане (или „получаване“) на файл е get. Следователно нашият потребител издава командата get gc.c. Те въвеждат get, интервал и след това името на файла, който искат да извлекат.

FTP сървърът отговаря, като прехвърля файла на локалния компютър и потвърждава, че прехвърлянето е извършено. Показват се също размерът на файла и времето, необходимо за прехвърляне.

ls
get gc.c

За да извлечете няколко файла наведнъж, използвайте командата mget (множество get). Командата mget ще ви помоли да потвърдите дали искате да изтеглите всеки файл на свой ред. Отговорете, като натиснете “y” за да и “n” за не.

Това би било досадно за голям брой файлове. Поради това колекциите от свързани файлове обикновено се съхраняват на ftp сайтове като единични tar.gz или tar.bz2 файлове.

mget *.c

Качване на файлове на FTP сървъра

В зависимост от разрешенията, предоставени на вашия FTP акаунт, може да сте в състояние да качвате (или „поставяте“) файлове на сървъра. За да качите файл, използвайте командата put. В нашия пример потребителят качва файл, наречен Songs.tar.gz на FTP сървъра.

put Songs.tar.gz

Както вероятно очаквате, има команда за поставяне на няколко файла на FTP сървъра наведнъж. Нарича се mput (multiple put). Точно както направи командата mget, mput ще поиска потвърждение „y“ или „n“ за качването на всеки файл, един по един.

  Как да настроите синхронизиране на мрежовото време на Linux

Същият аргумент за поставяне на набори от файлове в tar архиви важи за поставяне на файлове, както и за получаване на файлове. Нашият потребител качва множество „.odt“ файлове със следната команда:

mput *.odt

Създаване и промяна на директории

Ако вашият потребителски акаунт на ftp сървъра го позволява, може да сте в състояние да създавате директории. Командата за това е mkdir. За да бъде ясно, всяка директория, която създадете с командата mkdir, ще бъде създадена на ftp сървъра, а не на вашия локален компютър.

За да промените директории на ftp сървъра, използвайте командата cd. Когато използвате командата cd, подканата ftp> няма да се промени, за да отразява новата ви текуща директория. Командата pwd (печат на работна директория) ще ви покаже текущата ви директория.

Нашият ftp потребител създава директория, наречена music, променя се в тази нова директория, потвърждава къде се намира с помощта на командата pwd, след което качва файл в тази директория.

mkdir music
cd music
pwd
put songs.tar.gz

За бързо преместване в родителската директория на текущата директория използвайте командата cdup.

cdup

Достъп до локалния компютър

За да промените директорията на локалния компютър, можете да използвате командата lcd в подканата ftp>. Лесно е обаче да загубите представа къде се намирате в локалната файлова система. По-удобен метод за достъп до локалната файлова система е използването на ! команда.

! командата отваря прозорец на обвивката към локалния компютър. Можете да правите всичко в тази обвивка, което можете в стандартен терминален прозорец. Когато въведете exit, се връщате към подканата ftp>.

Нашият потребител е използвал ! команда и влезе в прозорец на обвивката на локалния компютър. Те са издали команда ls, за да видят какви файлове се намират в тази директория и след това са написали exit, за да се върнат към подканата ftp>.

!
ls
exit

Преименуване на файлове

За да преименувате файлове на FTP сървъра, използвайте командата за преименуване. Тук нашият FTP потребител преименува файл с преименуване и след това използва командата ls, за да изброи файловете в директорията.

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

Изтриване на файлове

За да изтриете файлове на FTP сървъра, използвайте командата delete. За да изтриете няколко файла наведнъж, използвайте командата mdelete. Ще бъдете помолени да предоставите потвърждение „y“ или „n“ за изтриването на всеки файл.

  Как да изпробвате Microsoft Edge Beta на Linux

Тук нашият FTP потребител е изброил файловете, за да види техните имена и след това е избрал един за изтриване. След това решават да ги изтрият всички.

ls
delete gc.o
mdelete *.o

Използване на командата sftp

Читателите, запознати със системата за IP адресиране, ще забележат, че 192.168 адресът на FTP сървъра, използван в горните примери, е вътрешен IP адрес, наричан още частен IP адрес. Както предупредихме в началото на тази статия, командата ftp трябва да се използва само във вътрешни мрежи.

Ако искате да се свържете с отдалечен или публичен FTP сървър, използвайте командата sftp. Нашият потребител ще се свърже със SFTP акаунт, наречен демо, на публично достъпния FTP сървър, намиращ се на test.trebex.net.

Когато се свържат, те са информирани, че връзката е установена. Те също така са информирани, че автентичността на хоста не може да бъде проверена. Това е нормално за първото свързване с нов хост. Те натискат „y“, за да приемат връзката.

Тъй като името на потребителския акаунт (демо) е предадено в командния ред, те не се подканват за името на потребителския акаунт. Те са подканени само за паролата. Това се въвежда, проверява и приема и те се представят с подканата sftp>.

sftp [email protected]

FTP командите, които описахме по-горе, ще работят по същия начин в SFTP сесия, със следните изключения.

За да изтриете файл, използвайте rm (FTP използва delete)
За да изтриете няколко файла, използвайте rm (FTP използва mdelete)
За да преминете към родителската директория, използвайте cd .. (FTP използва cdup)

Нашият потребител е използвал няколко команди в своята SFTP сесия. Те използват ls за изброяване на файловете и cd за промяна в директорията на pub. Те са използвали pwd за отпечатване на работната директория.

Има и други опции за прехвърляне на файлове в света на Linux, по-специално scp (защитено копие), но тук се фокусирахме върху FTP и SFTP. Използвани в приложимите сценарии, тези две команди ще ви послужат добре и вашите нужди за съхранение и извличане на файлове.