Протокол передачи файлов старше, чем у большинства наших читателей, но он все еще хорош. 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 и нажмите Enter.
Вход на FTP-сервер
Вам будет предложено ввести пароль для FTP-сайта. Введите свой пароль и нажмите Enter. Ваш пароль не отображается на экране. Если комбинация имени учетной записи пользователя FTP и пароля проверяется FTP-сервером, вы затем входите на FTP-сервер.
Вам будет представлен
ftp>
незамедлительный.
Поиск и получение файлов
Во-первых, вы, вероятно, захотите получить список файлов на FTP-сервере. В
ls
команда делает именно это. Наш пользователь видит файл
gc.c
находится на FTP-сервере, и он хочет загрузить его на свой компьютер. Его компьютер - это «локальный компьютер» на языке FTP.
Команда для получения (или «получения») файла:
получить
. Таким образом, наш пользователь выдает команду
получить gc.c
. Они печатают
получить
, пробел, а затем имя файла, который они хотят получить.
FTP-сервер отвечает, передавая файл на локальный компьютер и подтверждая, что передача произошла. Также отображается размер файла и время, необходимое для передачи.
ls
получить gc.c
Чтобы получить сразу несколько файлов, используйте
mget
(множественное получение) команда. В
mget
команда попросит вас подтвердить, хотите ли вы загружать каждый файл по очереди. Ответьте, нажав «y», если да, и «n», если нет.
Это было бы утомительно для большого количества файлов. Из-за этого коллекции связанных файлов обычно хранятся на ftp-сайтах как отдельные файлы tar.gz или tar.bz2 .
СВЯЗАННЫЕ С: Как извлечь файлы из файла .tar.gz или .tar.bz2 в Linux
mget * .c
Загрузка файлов на FTP-сервер
В зависимости от разрешений, предоставленных вашей учетной записи FTP, вы можете загружать (или «помещать») файлы на сервер. Чтобы загрузить файл, используйте
положить
команда. В нашем примере пользователь загружает файл с именем
Sans.tar.gaj
на FTP-сервер.
поставьте 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 музыка
cd worm c
pwd
поместите songs.tar.gz
Для быстрого перехода в родительский каталог текущего каталога используйте
cdup
команда.
cdup
Доступ к локальному компьютеру
Чтобы изменить каталог на локальном компьютере, вы можете использовать
жк
команда в
ftp>
незамедлительный. Однако легко потерять из виду, где вы находитесь в локальной файловой системе. Более удобный метод доступа к локальной файловой системе - использовать
!
команда.
В
!
Команда открывает окно оболочки на локальном компьютере. В этой оболочке можно делать все, что можно в стандартном окне терминала. Когда вы печатаете
Выход
вы вернулись в
ftp>
незамедлительный.
Наш пользователь использовал
!
команда и вошла в окно оболочки на локальном компьютере. Они выпустили
ls
команда, чтобы увидеть, какие файлы присутствуют в этом каталоге, а затем набрать
Выход
вернуться к
ftp>
незамедлительный.
!
ls
Выход
Переименование файлов
Для переименования файлов на FTP-сервере используйте
переименовать
команда. Здесь наш FTP-пользователь переименовывает файл с
переименовать
а затем использует
ls
команда для вывода списка файлов в каталоге.
переименовать песни.tar.gz rock_songs.tar.gz
ls
Удаление файлов
Для удаления файлов на FTP-сервере используйте
удалять
команда. Чтобы удалить сразу несколько файлов, используйте
мделете
команда. Вам будет предложено указать «y» или «n» подтверждения для удаления каждого файла.
Здесь наш FTP-пользователь перечислил файлы, чтобы увидеть их имена, а затем выбрал один для удаления. Затем они решают удалить их все.
ls
γκ.ο.
μδε уменьшаются * .ο
Использование команды sftp
Читатели, знакомые с системой IP-адресации, заметят, что адрес 192.168 FTP-сервера, использованный в приведенных выше примерах, является внутренним IP-адресом, также называемым частным IP-адресом. Как мы предупреждали в начале статьи,
ftp
Команда должна использоваться только во внутренних сетях.
Если вы хотите подключиться к удаленному или общедоступному FTP-серверу, используйте
sftp
команда. Наш пользователь собирается подключиться к учетной записи SFTP под названием
демо
на общедоступном FTP-сервере, расположенном по адресу
тест.требэкс.нет
.
Когда они подключаются, им сообщают, что соединение установлено. Им также сообщают, что подлинность хоста не может быть проверена. Это нормально для первого подключения нового хоста. Они нажимают «y», чтобы принять соединение.
Поскольку имя учетной записи пользователя (
демо
) был передан в командной строке, они не запрашивают имя учетной записи пользователя. У них запрашивается только пароль. Это вводится, проверяется и принимается, и они представлены с
sftp>
незамедлительный.
sftp [email protected]
Команды FTP, которые мы описали выше, будут работать точно так же в сеансе SFTP, за следующими исключениями.
-
Чтобы удалить файл, используйте
rm(FTP используетудалять) -
Чтобы удалить несколько файлов, используйте
rm(FTP используетмделете) -
Чтобы перейти в родительский каталог, используйте
CD ..(FTP используетcdup)
Наш пользователь использовал несколько команд в своем сеансе SFTP. У них есть польза
ls
чтобы перечислить файлы, и
CD
перейти в каталог pub. Они использовали
pwd
распечатать рабочий каталог.
Есть и другие варианты передачи файлов в мире Linux, в частности
scp
(
защищенная копия
), но здесь мы сосредоточились на FTP и SFTP. Эти две команды, используемые в соответствующих сценариях, будут хорошо служить вам и вашим потребностям в хранении и извлечении файлов.