Linux ftp удалить файл

Передача файлов по FTP

FTP — это один из самых популярных способов передачи файлов на сервер серди веб-мастеров и пользователей. File Transfer Protocol — довольно давняя технология, которая применялась для передачи файлов между компьютерами еще на заре зарождения интернета. Но она до сих пор сохранила свою популярность из-за простоты и надежности.

В одной из предыдущих статей мы писали о том, как выполняется настройка FTP на Ubuntu 16.04, в этой статье рассмотрим как работает передача файлов по FTP, рассмотрим как передать файлы с помощью терминала или в графическом интерфейсе.

Как работает FTP?

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

Важно заметить, что для передачи файлов и обработки команд используются два разных соединения. Команды передаются на порт 21, а когда нужно передать файл, сервер FTP сообщает на какой порт нужно начать отправлять информацию. Не будем вдаваться в подробности, скажу только, что существует два режима передачи файлов. Это активный, когда сервер подключается к компьютеру и начинает считывать файл и пассивный, когда компьютер передает файл на сервер. Сейчас в большинстве случаев применяется пассивный режим, потому что большинство пользователей используют NAT, что не позволяет серверу самому подключаться к портам клиента.

А теперь перейдем ближе к практике и рассмотрим как выполняется передача файлов по FTP.

Передача файлов по FTP через терминал

Мы могли бы использовать telnet для передачи файлов по FTP через терминал, но это слишком сложно и не нужно. Существует консольный клиент FTP с более простым синтаксисом и достаточными возможностями. Сначала рассмотрим общий синтаксис и команды утилиты:

$ ftp опции адрес_сервера

Опций у утилиты всего несколько, но нам нужно их рассмотреть, потому что они могут быть вам очень полезны:

  • -A — использовать активный режим во время передачи файлов;
  • -p — использовать пассивный режим, используется по умолчанию;
  • -i — отключать интерактивный режим во время передачи файлов;
  • -n — попытаться использовать автоматический вход;
  • -e — отключить историю команд;
  • -v — максимально подробный вывод;
  • -d — включить режим отладки.

Дальше рассмотрим команды интерактивного режима, которые вы будете использовать для подключения к серверу и управления файлами:

  • account — отправить серверу свой пароль для авторизации;
  • append — добавить локальный файл в конец удаленного файла на сервере;
  • ascii — передавать файлы в кодировке ASCII;
  • binary — передавать файлы в бинарном формате;
  • bye — завершить сессию;
  • cd — перейти в папку;
  • cdup — перейти в папку уровнем выше;
  • chmod — изменить права на файл;
  • delete — удалить файл с сервера;
  • dir — посмотреть список файлов в папке;
  • get — скачать файл из сервера на локальную машину;
  • hash — отображать статус передачи файла;
  • lcd — сменить рабочую директорию на локальной машине;
  • ls — список файлов в папке;
  • mdelete — удалить несколько файлов;
  • mget — скачать несколько файлов;
  • mkdir — создать папку;
  • mput — передать несколько файлов на сервер;
  • open — подключится к удаленному FTP серверу;
  • put — передать файл на сервер;
  • pwd — вывести текущую папку;
  • recv — то же самое что и get;
  • rename — переименовать файл на сервере;
  • rmdir — удалить папку;
  • size — узнать размер файла;
  • user — авторизоваться на сервере.
Читайте также:  Linux web control panel

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

Сначала подключаемся к нашему серверу, команде нужно передать адрес сервера:

Затем авторизуемся на сервере, нужно передать логин и пароль:

Только после этого перед нами открывается командная оболочка FTP клиента. Именно здесь будет выполняться передача файлов ftp. Изменим текущую папку на FTP, затем посмотрим ее содержимое и выведем полный адрес текущей папки:

ftp> cd FTP
ftp> ls
ftp> pwd

Перейдем в папку documents на удаленном сервере и посмотрим ее содержимое:

Чтобы скачать файл по FTP с удаленного сервера нам нужно использовать команду get. Просто передайте команде имя файла:

Теперь файл находится на нашей локальной машине. Мы можем выполнять команды на локальной машине если перед ними добавить символ «!». Например, посмотрим содержимое домашней папки чтобы убедиться, что файл был загружен:

Загрузка файлов по FTP на сервер выполняется с помощью команды put, причем, здесь, как и в предыдущей команде можно задать имя создаваемого файла:

ftp> put document2.odt document3.odt

Также можно управлять файлами на удаленном сервере. Переименуем файл doument1.pdf, так чтобы он назывался правильно:

ftp> rename doument1.pdf document1.pdf

Для завершения сеанса FTP наберите Bye:

Сейчас многие FTP серверы используют шифрование на основе ssl сертификатов. Это необходимая мера, которая позволяет обезопасить данные пользователей. Для подключения к таким серверам необходимо использовать утилиту sftp, в остальном же процесс и команды не отличаются.

Передача файлов по FTP в графическом интерфейсе

Передача файлов на FTP через графический интерфейс может выполняться с помощью различных графических клиентов. Один из самых популярных из них — это Filezilla. Его можно использовать в Linux, Windows или MacOS. Например, для установки в Ubuntu используйте такую команду:

Читайте также:  Linux get network speed

sudo apt install filezilla

Вот так выглядит главное окно утилиты. Для подключения к серверу необходимо ввести данные аутентификации в поля, которые находятся в верхней части окна:

Затем нажмите кнопку «Быстрое соединение». Если программа удачно подключится к серверу, то вы увидите список файлов на правой панели. На левой панели находится ваша локальная файловая система:

Чтобы передать файл достаточно его перетащить в нужную часть окна:

В контекстном меню вы можете выполнять различные действия с файлами, удалять, перемещать, копировать, переименовывать и даже редактировать. К тому же программа поддерживает подключение к серверам FTP, которые используют шифрование.

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

delete files from FTP servers with linux terminal

I’m new here, I would like to ask a question about FTP. I have an FTP server that contains multiple folders and there are PDF files in them. I wonder if there is a way to access this server through the terminal and delete PDF files through the terminal. my OS is ubuntu 19.10 I use this command to download the folders

wget -m --user=XXXXX --password=XXXX ftp://XXXXXXX:XXXX/ 

2 Answers 2

To delete files/folders from an FTP server, follow these steps:

  1. Type ftp and enter to continue.
  2. Type open and enter to continue.
  3. Type the ftp server IP address and enter to connect to ftp server.
  4. If connected, type login name and enter.
  5. Type user password and enter. If the username and password are valid, then you’ll be in.
  6. Type help to list all available commands that you can run on an ftp server.
  7. Type ls to list all files and directories.
  8. Type cd to get into a specified folder.
  9. type mdelete to delete a file or multiple files or rmdir -r to delete a folder.
  10. Type y and enter to confirm the delete.

EDIT:
For some security reasons, you have to type y everytime you want to delete a file. To avoid that, you need to run ftp -i in the beginning (instead of ftp ). After that, you can delete files directly without typing y for every file (exp: mdelete folder_name/* will delete all files in folder_name).
Also, you can not delete a folder unless it is empty, so you have to delete all its content using mdelete folder_name/* , then run rmdir folder_name to delete a folder.

Читайте также:  Mount usb device on linux

To automate this you could use something like this.[1]

#!/bin/bash HOST=ftp.example.com USER=ftpuser PASSWORD=P@ssw0rd ftp -inv $HOST  

You must log in to answer this question.

Related

Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.7.14.43533

Ubuntu and the circle of friends logo are trade marks of Canonical Limited and are used under licence.

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Источник

Linux shell script for delete old files from ftp

There is a problem - need to store the database backup on the FTP. On the FTP should not be more than 10 back-ups, ie, After you add backup to FTP should be removed, the oldest files to make the total number of files can not exceed 10 pieces. How can we implement such a removal from the ftp? I'm trying to write a script, but does not work delete:

5 Answers 5

This is a script I wrote to remove any files on a remote ftp site older than 7 days. It works by retrieving a listing of the directory, parsing the modified date, and then re-connecting to delete any files older than ndays.

I suspect that the numbers hard-coded into the loop (element date) may change depending on the setup of your system. The return formatting of the ls command is dependent on the local system settings.

Assuming your backups are every day, then setting ndays to 10 might solve your problem.

#!/bin/bash # get a list of files and dates from ftp and remove files older than ndays ftpsite="ftp.yourserver.com" ftpuser="loginusername" ftppass="password" putdir="/public_ftp/admin/logs" ndays=7 # work out our cutoff date MM=`date --date="$ndays days ago" +%b` DD=`date --date="$ndays days ago" +%d` echo removing files older than $MM $DD # get directory listing from remote source listing=`ftp -i -n $ftpsite ; FNO+=9));do # month (element 5), day (element 6) and filename (element 8) #echo Date $ $ File: $ # check the date stamp if [ $=$MM ]; then if [[ $ -lt $DD ]]; then # Remove this file echo "Removing $" ftp -i -n $ftpsite quit EOMYF2 fi fi done 

Источник

Оцените статью
Adblock
detector