Протокол передачи файлов (FTP) и Протокол безопасной передачи файлов (SFTP) являются двумя наиболее широко используемыми протоколами для передачи файлов между локальным устройством и удаленным сервером. Они часто используются веб-разработчиками для внесения изменений на свои серверы, и поэтому доступно множество FTP-клиентов. Однако в Mac также встроен довольно мощный инструмент, который позволяет пользователям использовать протоколы FTP и SFTP для взаимодействия с удаленными серверами.
В этой статье я подробно расскажу, как вы можете использовать терминал (Mac) в качестве клиента FTP или SFTP для выполнения различных задач на удаленных серверах. В целях иллюстрации я использую тестовый сервер с установленными на нем Linux, Apache, MySQL и PHP с включенным доступом по SSH. Я расскажу вам, как вы можете выполнять базовые задачи FTP / SFTP, такие как загрузка / выгрузка файлов, переименование, перемещение, удаление и т. Д., Используя терминал MacOS вместо стороннего FTP-клиента.
Примечание. Для использования SFTP на вашем сервере должен быть включен SSH-доступ. Если у вас нет доступа по SSH, вы можете связаться с вашим хостинг-провайдером или использовать FTP. Но имейте в виду, что FTP обычно не считается безопасным, поэтому будьте осторожны.
Вход на сервер
Вход на удаленный сервер довольно прост. Для входа на сервер вам потребуется имя пользователя и пароль FTP / SFTP. FTP может разрешить анонимные входы в систему, но лучше проходить аутентификацию, используя имя пользователя и пароль.
Использование FTP
Команда для входа на удаленный сервер по FTP:
ftp server_ip
Затем вам будет предложено ввести имя пользователя, введите его и нажмите Enter. Затем Терминал запросит у вас пароль, введите его, нажмите Enter, и вы войдете в систему.
Использование SFTP
Команда для входа на удаленный сервер с использованием SFTP:
sftp [email protected]_ip
Вам будет предложено ввести пароль. Введите его и нажмите Enter, чтобы войти.
1. Загрузка и загрузка файлов
Одной из основных функций клиента FTP / SFTP является возможность загрузки файлов с локального хоста на удаленный сервер и загрузка файлов с удаленного сервера.
Используя FTP или SFTP
- Загрузить файлы
Команда для загрузки файлов на удаленный сервер:
put path_to_local_file remote_file
Например, если я хочу загрузить файл с именем index.txt, команда будет выглядеть так:
put /Users/akshaygangwar/index.txt index.txt
Эта команда поместит файл с именем «index.html» из моего домашнего каталога в рабочий каталог на удаленном сервере.
Примечание: чтобы узнать ваш рабочий каталог, вы можете использовать команду «pwd»
- Скачать файлы
Команда для загрузки файлов с удаленного сервера:
get path_to_remote_file local_file
Например, если я хочу загрузить файл с именем newfile.txt, команда будет выглядеть так:
get newfile.txt newfile.txt
Эта команда загрузит файл с именем «newfile.txt» из рабочего каталога на удаленном сервере в рабочий каталог на моем Mac.
2. Создание новой папки
Создание папок (каталогов) на удаленном сервере - еще одна важная задача, которую выполняют клиенты FTP.
Используя FTP или SFTP
Создать новую папку с помощью терминала очень просто. Это одна и та же команда в протоколах FTP и SFTP:
mkdir directory_name
Например, если я хочу создать папку с именем «Beebom», команда будет выглядеть так:
mkdir Beebom
Это создаст папку с именем «Beebom», в рабочем каталоге на удаленном сервере.
3. Переименование файлов на сервере
Переименование файлов на удаленном сервере может быть легко выполнено с использованием Терминала в качестве клиента.
Используя FTP или SFTP
Команда для переименования файлов на удаленном сервере с использованием Терминала в качестве клиента FTP / SFTP может быть выполнена с помощью следующей команды:
rename old_name new_name
Например, если я хочу изменить имя «newfile.txt» на «mainlog.txt», команда будет выглядеть так:
rename newfile.txt mainlog.txt
Это переименует файл «newfile.txt» в «mainlog.txt».
4. Удаление файлов
Терминал также позволяет удалять файлы с удаленного сервера. Команды в этом случае различны как для FTP, так и для SFTP, и я говорю о них по отдельности.
Использование FTP
Команда для удаления файлов с удаленного сервера по FTP:
delete file_name
Например, если я хочу удалить файл с именем «beebomold.txt», команда будет выглядеть так:
delete beebomold.txt
Это удалит файл «beebomold.txt» с удаленного сервера.
Использование SFTP
Команда для удаления файлов с удаленного сервера с использованием SFTP:
rm file_name
Например, если я хочу удалить файл с именем «beebomold.txt» с использованием SFTP, команда будет такой:
rm beebomold.txt
Это удалит файл «beebomold.txt» с удаленного сервера.
5. Перемещение файлов на удаленном сервере
Использование Терминала в качестве FTP-клиента также позволяет вам перемещать файлы внутри самого удаленного сервера, точно так же, как вы это делаете в стороннем FTP-клиенте.
Используя FTP или SFTP
Команда для перемещения файлов внутри сервера как по FTP, так и по SFTP:
rename file_name path_to_new_file/file_name
Например, если я хочу переместить файл с именем «testresults.txt» из каталога «test» в каталог «results», команда будет выглядеть так:
rename testresults.txt results/testresults.txt
Это переместит файл «testresults.txt» в подпапку «results».
6. Проверьте «Дата последнего изменения»
Проверка даты «последнего изменения» для файла или папки полезна, если вам необходимо знать, какие файлы и папки были обновлены, когда. Вы можете достичь этого и в Терминале.
Используя FTP или SFTP
Команда для проверки даты последнего изменения файла:
ls -l file_name
Эта команда отображает некоторую информацию в виде таблицы. Столбец со значениями даты и времени соответствует значению «Последнее изменение».
Например, если я хочу проверить дату последнего изменения «testresults.txt», команда будет такой:
ls -l testresults.txt
7. Проверьте и измените разрешения
Наличие файлов с правильными разрешениями очень важно. Иногда неправильные разрешения могут привести к тому, что ваше веб-приложение даже не загрузится.
Используя FTP или SFTP
- Проверка разрешений
Проверка и изменение разрешений с использованием Терминала в качестве клиента очень проста, команда:
ls -l file_name
Эта команда отображает некоторую информацию в виде таблицы. В первом столбце отображаются разрешения для файла.
Например, если я хочу проверить разрешения для файла «testresults.txt», я буду использовать команду как:
ls -l testresults.txt
- Изменение разрешений
Если вы видите файл с неправильными разрешениями или если вы просто хотите поиграться с разрешениями, вы можете использовать Терминал для изменения разрешений файла. Команда:
chmod permissions_value file_name
Например, если я хочу дать полные права на чтение, запись и выполнение файла «testresults.txt», команда станет
chmod 777 testresults.txt
Эта команда предоставит права на чтение, запись и выполнение файла «testresults.txt»
8. Создайте новые файлы
Создание новых файлов на сервере - задача, которую нелегко выполнить в Терминале. Однако это не значит, что это невозможно. Проблема с созданием новых файлов заключается в том, что у вас должна быть копия файла на вашем ноутбуке, прежде чем вы сможете загрузить ее на сервер.
Используя FTP или SFTP
Команды для создания файла на удаленном сервере:
!touch file_name
put file_name file_name
Например, если я хочу создать файл «newtest.txt» на сервере, команды будут такими:
!touch newtest.txt
put newtest.txt newtest.txt
Это создаст новый файл с именем «newtest.txt» и загрузит его на сервер.
9. Редактировать существующие файлы
Редактирование существующих файлов также является важной особенностью. Вы можете редактировать файл в самом Терминале, используя такие программы, как nano, emacs и т. Д., Которые уже встроены в Терминал. Нано проще понять, и я буду использовать его в этом примере.
Используя FTP или SFTP
Команды для редактирования существующих файлов на удаленном сервере:
get file_name file_name
!nano file_name
put file_name file_name
Например, если я хочу отредактировать файл «newtest.txt», команды будут такими:
get newtest.txt newtest.txt
!nano newtest.txt
put newtest.txt newtest.txt
Эти команды отредактируют файл «newtest.txt» и загрузят его обратно на сервер.
10. Создание дубликатов файлов
Когда вы редактируете файлы на удаленном сервере, лучше иметь копию оригинального файла, на случай, если вы что-то напутаете.
Используя FTP или SFTP
Чтобы создать копию файла на удаленном сервере, введите следующие команды:
get file_name file_name
!mv file_name new_file_name
put new_file_name new_file_name
Например, если я хочу создать дубликат копии «newtest_copy.txt» из «newtest.txt», команды будут такими:
get newtest.txt newtest.txt
!mv newtest.txt newtest_copy.txt
put newtest_copy.txt newtest_copy.txt
Используйте всю мощь терминала Mac с помощью FTP или SFTP
Теперь, когда вы знаете, как вы можете использовать Терминал в качестве клиента FTP или SFTP, вы можете использовать его для FTP или SFTPing на сервере разработки, не беспокоясь о том, что сторонние приложения устанавливают вредоносные программы или не обеспечивают безопасность трафика. Если у вас есть какие-либо проблемы с использованием FTP или SFTP из вашего Терминала, или если вы считаете, что мы что-то упустили, сообщите нам об этом в разделе комментариев ниже.