Protokół FTP (File Transfer Protocol) i protokół bezpiecznego przesyłania plików (SFTP) to dwa najpopularniejsze protokoły przesyłania plików między urządzeniem lokalnym a serwerem zdalnym. Są często wykorzystywane przez twórców stron internetowych do wprowadzania zmian na swoich serwerach, a zatem istnieje wiele klientów FTP, którzy są dostępni. Istnieje jednak również potężne narzędzie wbudowane w komputer Mac, które pozwala użytkownikom korzystać z protokołów FTP i SFTP do łączenia się ze zdalnymi serwerami.
W tym artykule opiszę, jak można używać terminala (komputera Mac) jako klienta FTP lub SFTP, aby wykonywać różne zadania na zdalnych serwerach. W celach ilustracyjnych używam serwera testowego z zainstalowanymi na nim systemami Linux, Apache, MySQL i PHP, z włączonym dostępem SSH. Powiem ci, w jaki sposób możesz wykonać podstawowe zadania FTP / SFTP, takie jak przesyłanie / pobieranie plików, zmiana nazwy, przenoszenie, usuwanie itp. Za pomocą terminala macOS, zamiast klienta FTP innej firmy.
Uwaga: Aby korzystać z SFTP, musisz mieć dostęp do SSH na swoim serwerze. Jeśli nie masz dostępu do SSH, możesz skontaktować się ze swoim dostawcą hostingu lub skorzystać z FTP. Należy jednak pamiętać, że FTP zasadniczo nie jest uważany za bezpieczny, więc należy zachować ostrożność.
Logowanie do serwera
Logowanie do zdalnego serwera jest dość proste. Do zalogowania się na serwerze potrzebna jest nazwa użytkownika FTP i SFTP oraz hasło. Protokół FTP może zezwalać na anonimowe logowanie, ale lepiej jest uwierzytelnić przy użyciu nazwy użytkownika i hasła.
Korzystanie z FTP
Polecenie do zalogowania się na serwerze zdalnym za pomocą FTP, to:
ftp server_ip
Zostaniesz poproszony o podanie swojej nazwy użytkownika, wpisz ją i naciśnij Enter. Następnie Terminal poprosi cię o hasło, wpisz je, naciśnij Enter, a zostaniesz zalogowany.
Korzystanie z SFTP
Polecenie do zalogowania się do zdalnego serwera przy użyciu protokołu SFTP to:
sftp [email protected]_ip
Zostaniesz poproszony o podanie hasła. Wprowadź klucz i naciśnij Enter, aby się zalogować.
1. Wgrywanie i pobieranie plików
Jedną z podstawowych funkcji klienta FTP / SFTP jest możliwość przesyłania plików z hosta lokalnego na serwer zdalny oraz pobieranie plików ze zdalnego serwera.
Korzystanie z FTP lub SFTP
- Prześlij pliki
Polecenie do przesłania plików na zdalny serwer to:
put path_to_local_file remote_file
Na przykład, jeśli chcę przesłać plik o nazwie index.txt, polecenie stanie się:
put /Users/akshaygangwar/index.txt index.txt
To polecenie umieści plik o nazwie "index.html" z mojego katalogu domowego, do katalogu roboczego na serwerze zdalnym.
Uwaga: Aby znaleźć swój katalog roboczy, możesz użyć polecenia "pwd"
- Pobierz pliki
Polecenie pobierania plików ze zdalnego serwera to:
get path_to_remote_file local_file
Na przykład, jeśli chcę pobrać plik o nazwie newfile.txt, polecenie stanie się:
get newfile.txt newfile.txt
To polecenie pobierze plik o nazwie "newfile.txt" z katalogu roboczego na serwerze zdalnym do katalogu roboczego na moim komputerze Mac.
2. Tworzenie nowego folderu
Tworzenie folderów (katalogów) na serwerze zdalnym jest kolejnym ważnym zadaniem, które jest realizowane przez klientów FTP.
Korzystanie z FTP lub SFTP
Tworzenie nowego folderu za pomocą terminalu jest łatwe. To samo polecenie zarówno w protokołach FTP, jak i SFTP:
mkdir directory_name
Na przykład, jeśli chcę utworzyć folder o nazwie "Beebom", polecenie stanie się:
mkdir Beebom
Spowoduje to utworzenie folderu o nazwie "Beebom" w katalogu roboczym na serwerze zdalnym.
3. Zmiana nazwy plików na serwerze
Zmiana nazwy plików na serwerze zdalnym może być łatwo zrealizowana przy użyciu terminala jako klienta.
Korzystanie z FTP lub SFTP
Polecenie do zmiany nazw plików na serwerze zdalnym za pomocą terminala jako klienta FTP / SFTP można wykonać za pomocą następującego polecenia:
rename old_name new_name
Na przykład, jeśli chcę zmienić nazwę pliku "nowy plik.txt" na "plik główny.txt", polecenie stanie się:
rename newfile.txt mainlog.txt
Spowoduje to zmianę nazwy pliku "newfile.txt" na "mainlog.txt"
4. Usuwanie plików
Terminal umożliwia również usuwanie plików z serwera zdalnego. Polecenia w tym przypadku są różne zarówno dla FTP, jak i SFTP, i podaję je osobno.
Korzystanie z FTP
Polecenie usunięcia plików z serwera zdalnego za pomocą FTP jest następujące:
delete file_name
Na przykład, jeśli chcę usunąć plik o nazwie "beebomold.txt", polecenie stanie się:
delete beebomold.txt
Spowoduje to usunięcie pliku "beebomold.txt" ze zdalnego serwera.
Korzystanie z SFTP
Polecenie usunięcia plików z serwera zdalnego przy użyciu protokołu SFTP jest następujące:
rm file_name
Na przykład, jeśli chcę usunąć plik o nazwie "beebomold.txt" za pomocą SFTP, polecenie będzie:
rm beebomold.txt
Spowoduje to usunięcie pliku "beebomold.txt" ze zdalnego serwera.
5. Przenoszenie plików na serwerze zdalnym
Używanie terminala jako klienta FTP pozwala również na przenoszenie plików na serwerze zdalnym, dokładnie tak, jak robiłbyś to w zewnętrznym kliencie FTP.
Korzystanie z FTP lub SFTP
Polecenie do przenoszenia plików w serwerze zarówno w FTP, jak i SFTP jest:
rename file_name path_to_new_file/file_name
Na przykład, jeśli chcę przenieść plik o nazwie "testresults.txt" z katalogu "test" do katalogu "wyniki", polecenie stanie się:
rename testresults.txt results/testresults.txt
Spowoduje to przeniesienie pliku "testresults.txt" do podfolderu "wyniki".
6. Sprawdź datę "Ostatnia modyfikacja"
Sprawdzenie daty "Ostatnia modyfikacja" pliku lub folderu jest przydatne, jeśli chcesz wiedzieć, które pliki i foldery zostały zaktualizowane, kiedy. Możesz to osiągnąć również na Terminalu.
Korzystanie z FTP lub SFTP
Polecenie sprawdzenia daty ostatniej modyfikacji pliku to:
ls -l file_name
To polecenie wyświetla niektóre informacje w formie tabelarycznej. Kolumna z wartościami daty i czasu odpowiada wartości "Ostatnia modyfikacja".
Na przykład, jeśli chcę sprawdzić datę ostatniej modyfikacji pliku testresults.txt, polecenie będzie:
ls -l testresults.txt
7. Sprawdź i zmodyfikuj uprawnienia
Posiadanie plików o odpowiednich uprawnieniach jest bardzo ważne. Czasami złe uprawnienia mogą spowodować, że Twoja aplikacja internetowa nawet się nie załaduje.
Korzystanie z FTP lub SFTP
- Sprawdzanie uprawnień
Sprawdzanie i modyfikowanie uprawnień przy użyciu terminala jako klienta jest bardzo proste, polecenie brzmi:
ls -l file_name
To polecenie wyświetla niektóre informacje w formie tabelarycznej. Pierwsza kolumna wyświetla uprawnienia do pliku.
Na przykład, jeśli chcę sprawdzić uprawnienia do pliku "testresults.txt", użyję tego polecenia jako:
ls -l testresults.txt
- Modyfikowanie uprawnień
Jeśli zobaczysz plik, który ma niepoprawne uprawnienia lub chcesz po prostu korzystać z uprawnień, możesz użyć terminalu, aby zmodyfikować uprawnienia pliku. Polecenie to:
chmod permissions_value file_name
Na przykład, jeśli chcę nadać pełne uprawnienia do odczytu, zapisu i wykonywania do pliku "testresults.txt", polecenie stanie się
chmod 777 testresults.txt
To polecenie da uprawnienia do odczytu, zapisu i wykonywania do pliku "testresults.txt"
8. Utwórz nowe pliki
Tworzenie nowych plików na serwerze jest zadaniem, które nie jest łatwe do wykonania na terminalu. Jednak nie oznacza to, że nie jest to możliwe. Problem z tworzeniem nowych plików polega na tym, że przed przesłaniem ich na serwer musisz mieć kopię pliku na swoim laptopie.
Korzystanie z FTP lub SFTP
Polecenia do utworzenia pliku na serwerze zdalnym są:
!touch file_name
put file_name file_name
Na przykład, jeśli chcę utworzyć plik "newtest.txt" na serwerze, polecenia staną się:
!touch newtest.txt
put newtest.txt newtest.txt
Spowoduje to utworzenie nowego pliku o nazwie "newtest.txt" i przesłanie go na serwer.
9. Edytuj istniejące pliki
Edytowanie istniejących plików jest również ważną funkcją. Możesz edytować plik w samym Terminalu, używając programów takich jak nano, emacs itp., Które są już wbudowane w Terminal. Nano jest prostszy do zrozumienia i będę go używał w tym przykładzie.
Korzystanie z FTP lub SFTP
Polecenia do edycji istniejących plików na serwerze zdalnym są:
get file_name file_name
!nano file_name
put file_name file_name
Na przykład, jeśli chcę edytować plik "newtest.txt", polecenia staną się:
get newtest.txt newtest.txt
!nano newtest.txt
put newtest.txt newtest.txt
Polecenia te będą edytować plik "newtest.txt" i przesłać go z powrotem na serwer.
10. Tworzenie duplikatów plików
Podczas edycji plików na serwerze zdalnym lepiej jest mieć kopię oryginalnego pliku, na wypadek gdyby coś zepsuć.
Korzystanie z FTP lub SFTP
Aby utworzyć zduplikowaną kopię pliku na serwerze zdalnym, polecenia są następujące:
get file_name file_name
!mv file_name new_file_name
put new_file_name new_file_name
Na przykład, jeśli chcę utworzyć duplikat "newtest_copy.txt" z "newtest.txt", polecenia staną się:
get newtest.txt newtest.txt
!mv newtest.txt newtest_copy.txt
put newtest_copy.txt newtest_copy.txt
Wykorzystaj moc terminalu Mac z FTP lub SFTP
Teraz, kiedy już wiesz, jak możesz używać terminala jako klienta FTP lub SFTP, możesz użyć go do FTP lub SFTP do swojego serwera programistycznego, nie martwiąc się o aplikacje innych producentów instalujące bloatware lub nie zabezpieczające swojego ruchu. Jeśli masz jakiekolwiek problemy z korzystaniem z FTP lub SFTP z terminalu lub jeśli uważasz, że coś pominęliśmy, daj nam znać w sekcji komentarzy poniżej.