Как использовать команду FTP в Linux

Фатмавати Ахмад Заенури/Shutterstock.com

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

Предупреждение: не используйте FTP через Интернет

Давайте с самого начала проясним это: протокол передачи файлов (FTP) восходит к началу 1970-х годов и был написан без какого-либо отношения к безопасности. Он не использует шифрование ни для чего. Учетные данные, такие как имя пользователя и пароль, а также загружаемые или загружаемые данные передаются в виде открытого текста. Любой желающий может просмотреть ваши секреты. Тем не менее, FTP все еще имеет свое применение.

Если вы передаете файлы в своей сети, вы должны быть в безопасности – если никто в сети не перехватывает пакеты и не перехватывает какие-либо конфиденциальные документы во время их передачи. Если ваши файлы никоим образом не являются конфиденциальными или конфиденциальными, перемещение по внутренней сети с помощью FTP должно быть нормальным. В Linux есть стандартная программа командной строки ftp , предназначенная именно для этого сценария.

Но определенно не использует команду ftp для доступа к внешним ресурсам через Интернет. Для этого используйте программу командной строки sftp , которая использует защищенный протокол передачи файлов SSH. Мы представим обе эти программы в этом руководстве.

Чтобы выяснить, почему вы никогда не хотите использовать FTP через Интернет, взгляните на скриншот ниже. Он показывает пароль FTP в виде открытого текста. Любой человек в вашей сети или между вами и FTP-сервером в Интернете может легко увидеть пароль «MySecretPassword».

Без шифрования злоумышленник также может изменять файлы, которые вы загружаете или загружаете в пути.

Команда ftp

Если у вас есть действующая учетная запись на FTP-сайте, вы можете подключиться к ней с помощью следующей команды. В этой статье замените IP-адрес в командах IP-адресом FTP-сервера, к которому вы подключаетесь.

 ftp 192.168.4.25 

Предупреждение . Команду ftp следует использовать только для подключения к серверам в доверенной локальной сети. Используйте команду sftp , описанную ниже, для передачи файлов через Интернет.

FTP-сервер отвечает приветственным сообщением. Формулировка приветствия будет варьироваться от сервера к серверу. Затем он запрашивает имя пользователя учетной записи, в которую вы входите.

Обратите внимание, что отображается IP-адрес сайта, к которому вы подключаетесь, а затем ваше имя пользователя Linux. Если имя вашей учетной записи на FTP-сервере совпадает с именем пользователя Linux, просто нажмите клавишу Enter. Это будет использовать ваше имя пользователя Linux в качестве имени учетной записи на FTP-сервере. Если ваше имя пользователя Linux и имя учетной записи FTP различаются, введите имя пользователя учетной записи FTP и нажмите клавишу ВВОД.

Вход на FTP-сервер

Вам будет предложено ввести пароль для FTP-сайта. Введите свой пароль и нажмите Enter. Ваш пароль не отображается на экране. Если комбинация имени учетной записи пользователя FTP и пароля подтверждена FTP-сервером, вы войдете в систему на FTP-сервере.

Вам будет предложено приглашение ftp> .

Осматривая и получая файлы

Во-первых, вы, вероятно, захотите получить список файлов на FTP-сервере. Команда ls делает именно это. Наш пользователь видит, что файл gc.c находится на FTP-сервере, и хочет загрузить его на свой компьютер. Его компьютер является «локальным компьютером» на языке FTP.

Команда для извлечения (или «получения») файла: get . Поэтому наш пользователь выдает команду get gc.c . Они вводят get , пробел и затем имя файла, который они хотят получить.

FTP-сервер отвечает, передав файл на локальный компьютер и подтверждая, что передача произошла. Размер файла и время, необходимое для передачи, также показаны.

 Ls 
 получить gc.c 

Чтобы получить несколько файлов одновременно, используйте команду mget (множественное получение). Команда mget попросит вас подтвердить, хотите ли вы загружать каждый файл по очереди. Ответьте, нажав «y» для да и «n» для нет.

Это было бы утомительно для большого количества файлов. По этой причине коллекции связанных файлов обычно хранятся на FTP-сайтах в виде отдельных файлов tar.gz или tar.bz2.

 mget * .c 

Загрузка файлов на FTP-сервер

В зависимости от разрешений, предоставленных вашей учетной записи FTP, вы можете загружать (или «помещать») файлы на сервер. Чтобы загрузить файл, используйте команду put . В нашем примере пользователь загружает файл с именем Songs.tar.gz на FTP-сервер.

 put Songs.tar.gz 

Как вы, вероятно, и ожидаете, есть команда для одновременной загрузки нескольких файлов на FTP-сервер. Он называется mput (многократный ввод). Как и команда mget , mput запросит подтверждение «y» или «n» для загрузки каждого файла, один за другим.

Тот же аргумент для помещения наборов файлов в архивы 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 
 Выход 

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

Чтобы переименовать файлы на FTP-сервере, используйте команду rename . Здесь наш пользователь FTP переименовывает файл с помощью rename , а затем использует команду ls для вывода списка файлов в каталоге.

 переименовать songs.tar.gz rock_songs.tar.gz 
 Ls 

Удаление файлов

Чтобы удалить файлы на FTP-сервере, используйте команду delete . Чтобы удалить несколько файлов одновременно, используйте команду mdelete . Вам будет предложено предоставить подтверждение «y» или «n» для удаления каждого файла.

Здесь наш пользователь FTP перечислил файлы, чтобы увидеть их имена, а затем выбрал один для удаления. Затем они решают удалить их всех.

 Ls 
 удалить gc.o 
 mdelete * .o 

Использование команды sftp

Читатели, знакомые с системой IP-адресации, заметят, что адрес FTP-сервера 192.168, используемый в приведенных выше примерах, является внутренним IP-адресом, также называемым частным IP-адресом. Как мы предупреждали в начале этой статьи, команда ftp должна использоваться только во внутренних сетях.

Если вы хотите подключиться к удаленному или общедоступному FTP-серверу, используйте команду sftp . Наш пользователь собирается подключиться к учетной записи SFTP с именем demo на общедоступном FTP-сервере, расположенном по адресу test.trebex.net .

Когда они подключаются, им сообщают, что соединение установлено. Им также сообщают, что подлинность хоста не может быть проверена. Это нормально для первого подключения нового хоста. Они нажимают «y», чтобы принять соединение.

Поскольку имя учетной записи пользователя ( demo ) было передано в командной строке, у них не запрашивается имя учетной записи пользователя. Они запрашиваются только для пароля.Это введено, проверено и принято, и они представлены с подсказкой sftp> .

 sftp demo@test.rebex.net 

Команды FTP, которые мы описали выше, будут работать точно так же в сеансе SFTP со следующими исключениями.

  • Чтобы удалить файл, используйте rm (FTP использует delete )
  • Для удаления нескольких файлов используйте rm (FTP использует mdelete )
  • Для перехода в родительский каталог используйте cd .. (FTP использует cdup )

Наш пользователь использовал несколько команд в своем сеансе SFTP. Они используют ls для отображения файлов и cd для перехода в каталог pub. Они использовали pwd для печати рабочего каталога.

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

Оцените статью
TutoryBird.Ru
Добавить комментарий