File Transfer Protocol (FTP) och Secure File Transfer Protocol (SFTP) är två av de mest använda protokollen för överföring av filer mellan en lokal enhet och en fjärrserver. De används ofta av webbutvecklare för att driva ändringar på sina servrar, och som sådan finns det många FTP-klienter som är tillgängliga. Det finns emellertid också ett ganska kraftfullt verktyg som är inbyggt i en Mac som kan tillåta användare att använda FTP- och SFTP-protokoll för gränssnitt med fjärrservrar.
I den här artikeln kommer jag att beskriva hur du kan använda Terminal (Mac) som en FTP- eller SFTP-klient, för att göra en mängd olika uppgifter på fjärrservrar. I syfte att illustrera använder jag en testserver med Linux, Apache, MySQL och PHP installerat på den, med SSH-åtkomst aktiverad. Jag kommer att berätta för dig hur du kan utföra grundläggande FTP / SFTP-uppgifter som att ladda upp / ladda ner filer, byta namn, flytta, ta bort etc. med hjälp av MacOS 'Terminal, istället för en tredje part FTP-klient.
Obs! För att kunna använda SFTP måste du ha SSH-åtkomst aktiverad på din server. Om du inte har SSH-åtkomst kan du kontakta din webbhotell, eller du kan använda FTP. Men kom ihåg att FTP i allmänhet inte anses säker, så var försiktig.
Logga in på servern
Logga in på fjärrservern är ganska enkelt. Du behöver ett FTP / SFTP användarnamn och lösenord för att logga in på servern. FTP kan tillåta anonyma inloggningar, men det är bättre att verifiera med användarnamn och lösenord.
Använda FTP
Kommandot att logga in på en fjärrserver med FTP, är:
ftp server_ip
Du kommer då att bli ombedd för ditt användarnamn, skriv in det och tryck på Enter. Därefter frågar terminalen dig om ditt lösenord, skriver in det, trycker på Enter, och du kommer bli inloggad.
Använda SFTP
Kommandot att logga in på en fjärrserver med SFTP är:
sftp [email protected]_ip
Du kommer då att bli uppmanad till lösenordet. Skriv in den och tryck på Enter för att logga in.
1. Ladda upp och ladda ner filer
En av de grundläggande funktionerna i en FTP / SFTP-klient är möjligheten att ladda upp filer från den lokala värd till fjärrservern och ladda ner filer från fjärrservern.
Använda FTP eller SFTP
- Ladda upp filer
Kommandot att ladda upp filer till en fjärrserver är:
put path_to_local_file remote_file
Om jag till exempel vill ladda upp en fil som heter index.txt blir kommandot:
put /Users/akshaygangwar/index.txt index.txt
Det här kommandot lägger filen "index.html" från min hemkatalog, i arbetsmappen på fjärrservern.
Obs! För att ta reda på din arbetsregister kan du använda kommandot "pwd"
- Hämta filer
Kommandot att ladda ner filer från en fjärrserver är:
get path_to_remote_file local_file
Om jag till exempel vill ladda ner en fil som heter newfile.txt kommer kommandot att bli:
get newfile.txt newfile.txt
Kommandot hämtar filen som heter "newfile.txt" från arbetsmappen på fjärrservern till arbetsmappen på min Mac.
2. Skapa en ny mapp
Skapa mappar (kataloger) på en fjärrserver är en annan viktig uppgift som uppnås av FTP-klienter.
Använda FTP eller SFTP
Att skapa en ny mapp med terminalen är lätt. Det är samma kommando i både FTP- och SFTP-protokoll:
mkdir directory_name
Om jag till exempel vill skapa en mapp med namnet "Beebom" kommer kommandot att bli:
mkdir Beebom
Detta skapar en mapp med namnet "Beebom", i arbetsmappen på fjärrservern.
3. Byta namn på filer på servern
Byta namn på filer på fjärrservern kan enkelt uppnås genom att använda Terminal som en klient.
Använda FTP eller SFTP
Kommandot att byta namn på filer på en fjärrserver med Terminal som en FTP / SFTP-klient kan göras med följande kommando:
rename old_name new_name
Om jag till exempel vill ändra namnet "newfile.txt" till "mainlog.txt" kommer kommandot att bli:
rename newfile.txt mainlog.txt
Detta kommer att byta namn på filen "newfile.txt" till "mainlog.txt"
4. Radera filer
Terminalen kan också låta dig ta bort filer från fjärrservern. Kommandona i detta fall är olika för både FTP och SFTP, och jag anger båda dem separat.
Använda FTP
Kommandot att radera filer från en fjärrserver med FTP är:
delete file_name
Om jag till exempel vill radera filen "beebomold.txt" kommer kommandot att bli:
delete beebomold.txt
Detta tar bort filen "beebomold.txt" från fjärrservern.
Använda SFTP
Kommandot att radera filer från en fjärrserver med SFTP är:
rm file_name
Om jag till exempel vill radera filen som heter "beebomold.txt" med SFTP, kommer kommandot att vara:
rm beebomold.txt
Detta kommer att ta bort filen "beebomold.txt" från fjärrservern.
5. Flytta filer i fjärrservern
Att använda Terminal som en FTP-klient kan också låta dig flytta filer på fjärrservern själv, precis som du skulle göra det i en tredje part FTP-klient.
Använda FTP eller SFTP
Kommandot att flytta filer på servern i både FTP och SFTP är:
rename file_name path_to_new_file/file_name
Om jag till exempel vill flytta en fil som heter "testresults.txt" från "test" -katalogen till "results" -katalogen blir kommandot:
rename testresults.txt results/testresults.txt
Detta flyttar filen "testresults.txt" till undermappen "results".
6. Markera "Senast ändrad" datum
Kontrollera datumet "Senast ändrat" för en fil eller en mapp är användbart om du behöver veta vilka filer och mappar som uppdaterades när. Du kan uppnå detta på terminalen också.
Använda FTP eller SFTP
Kommandot att kontrollera det senaste ändringsdatumet för en fil är:
ls -l file_name
Detta kommando visar viss information i en tabellform. Kolumnen med datum- och tidsvärden motsvarar värdet "Senast ändrat".
Om jag till exempel vill kolla på det datum som "testresults.txt" senast ändrades kommer kommandot att vara:
ls -l testresults.txt
7. Kontrollera och ändra behörigheter
Att ha filer som är inställda på rätt behörigheter är mycket viktigt. Ibland kan fel behörigheter leda till att din webbapp inte ens laddas.
Använda FTP eller SFTP
- Kontrollera behörigheter
Att kontrollera och ändra behörigheter med Terminal som klient är mycket enkelt, kommandot är:
ls -l file_name
Detta kommando visar viss information i en tabellform. Den första kolumnen visar behörigheterna på filen.
Om jag till exempel vill kontrollera behörigheterna i filen "testresults.txt" använder jag kommandot som:
ls -l testresults.txt
- Ändra tillstånd
Om du ser en fil som har felaktiga behörigheter, eller om du bara vill leka med behörigheterna, kan du använda terminalen för att ändra behörigheterna för filen. Kommandot är:
chmod permissions_value file_name
Om jag till exempel vill ge full läsning, skriv och exekveringsbehörigheter till filen "testresults.txt" kommer kommandot att bli
chmod 777 testresults.txt
Detta kommando kommer att ge läs, skriva och exekvera behörigheter till filen "testresults.txt"
8. Skapa nya filer
Att skapa nya filer på servern är en uppgift som inte enkelt görs på terminalen. Men det betyder inte att det inte är möjligt. Problemet med att skapa nya filer är att du måste ha en kopia av filen på din bärbara dator innan du kan ladda upp den till servern.
Använda FTP eller SFTP
Kommandon för att skapa en fil på fjärrservern är:
!touch file_name
put file_name file_name
Om jag till exempel vill skapa en fil "newtest.txt" på servern kommer kommandona att bli:
!touch newtest.txt
put newtest.txt newtest.txt
Detta skapar en ny fil som heter "newtest.txt" och laddar upp den till servern.
9. Redigera befintliga filer
Redigering av befintliga filer är också en viktig funktion. Du kan redigera en fil i terminalen själv, genom att använda program som nano, emacs etc., som redan är inbyggda i terminalen. Nano är enklare att förstå, och jag kommer att använda den i det här exemplet.
Använda FTP eller SFTP
Kommandona att redigera befintliga filer på fjärrservern är:
get file_name file_name
!nano file_name
put file_name file_name
Om jag till exempel vill redigera filen "newtest.txt" kommer kommandona att bli:
get newtest.txt newtest.txt
!nano newtest.txt
put newtest.txt newtest.txt
Dessa kommandon kommer att redigera filen "newtest.txt" och ladda upp den till servern.
10. Skapa dubbletter av filer
När du redigerar filer på fjärrservern är det bättre att få en kopia av originalfilen, bara om du förstör något.
Använda FTP eller SFTP
För att skapa en kopia av en fil på den externa servern är kommandona följande:
get file_name file_name
!mv file_name new_file_name
put new_file_name new_file_name
Om jag till exempel vill skapa en duplikat kopia "newtest_copy.txt" av "newtest.txt" kommer kommandona att bli:
get newtest.txt newtest.txt
!mv newtest.txt newtest_copy.txt
put newtest_copy.txt newtest_copy.txt
Hämta makten hos Mac-terminalen med FTP eller SFTP
Nu när du vet hur du kan använda Terminal som en FTP- eller SFTP-klient kan du använda den för FTPing eller SFTPing till din utvecklingsserver utan att behöva oroa dig för program från tredje part som installerar bloatware eller inte säkerställer din trafik. Om du har några problem med att använda FTP eller SFTP från din terminal, eller om du tror att vi saknat något, ber vi dig veta i kommentarfältet nedan.