File Transfer Protocol (FTP) og Secure File Transfer Protocol (SFTP) er to af de mest anvendte protokoller til overførsel af filer mellem en lokal enhed og en fjernserver. De bruges ofte af webudviklere til at skubbe ændringer til deres servere, og som sådan er der mange FTP-klienter, der er tilgængelige. Men der er også et ret kraftfuldt værktøj, der er indbygget i en Mac, der kan give brugerne mulighed for at bruge FTP- og SFTP-protokoller til at interfere med eksterne servere.
I denne artikel vil jeg redegøre for, hvordan du kan bruge Terminal (Mac) som en FTP- eller SFTP-klient til at gøre en række opgaver på eksterne servere. Med henblik på illustration bruger jeg en testserver med Linux, Apache, MySQL og PHP installeret på den, med SSH-adgang aktiveret. Jeg vil fortælle dig, hvordan du kan udføre grundlæggende FTP / SFTP opgaver som upload / download af filer, omdøbe, flytte, slette osv. Ved hjælp af macOS 'Terminal, i stedet for en tredjeparts FTP-klient.
Bemærk: Hvis du vil bruge SFTP, skal du have adgang til SSH på din server. Hvis du ikke har SSH-adgang, kan du kontakte din hostingudbyder, eller du kan bruge FTP. Men husk at FTP generelt ikke betragtes som sikker, så vær forsigtig.
Logge ind på serveren
Logning på den eksterne server er ret ligetil. Du skal bruge et FTP / SFTP brugernavn og kodeord for at logge ind på serveren. FTP kan tillade anonyme log-ins, men det er bedre at autentificere ved hjælp af et brugernavn og en adgangskode.
Brug af FTP
Kommandoen til at logge ind på en fjernserver ved hjælp af FTP er:
ftp server_ip
Du bliver derefter bedt om dit brugernavn, indtast det og tryk på Enter. Dernæst vil Terminal spørge dig om dit kodeord, indtaste det, trykke på Enter, og du vil blive logget ind.
Brug af SFTP
Kommandoen til at logge ind på en fjernserver ved hjælp af SFTP er:
sftp [email protected]_ip
Du bliver derefter bedt om adgangskoden. Indtast det, og tryk Enter for at logge ind.
1. Upload og download af filer
En af de grundlæggende funktioner i en FTP / SFTP-klient er evnen til at uploade filer fra den lokale vært til den eksterne server og at downloade filer fra den eksterne server.
Brug af FTP eller SFTP
- Upload filer
Kommandoen til upload af filer til en fjernserver er:
put path_to_local_file remote_file
Hvis jeg for eksempel ville uploade en fil, der hedder index.txt, bliver kommandoen:
put /Users/akshaygangwar/index.txt index.txt
Denne kommando vil lægge filen kaldet "index.html" fra mit hjemmekatalog, til arbejdsmappen i den eksterne server.
Bemærk: For at finde ud af din arbejdskatalog, kan du bruge kommandoen "pwd"
- Download filer
Kommandoen til at downloade filer fra en fjernserver er:
get path_to_remote_file local_file
Hvis jeg for eksempel ville downloade en fil, der hedder newfile.txt, bliver kommandoen:
get newfile.txt newfile.txt
Denne kommando vil hente filen kaldet "newfile.txt" fra arbejdskataloget på den eksterne server til arbejdskataloget på min Mac.
2. Oprettelse af en ny mappe
Oprettelse af mapper (mapper) på en fjernserver er en anden vigtig opgave, der udføres af FTP-klienter.
Brug af FTP eller SFTP
Oprettelse af en ny mappe ved hjælp af Terminal er let. Det er den samme kommando i både FTP og SFTP protokoller:
mkdir directory_name
Hvis jeg for eksempel ville oprette en mappe med navnet "Beebom", bliver kommandoen:
mkdir Beebom
Dette vil oprette en mappe med navnet "Beebom", i arbejdsmappen på den eksterne server.
3. Omdøbe filer på serveren
Omdøbe filer på den eksterne server kan opnås nemt ved at bruge Terminal som en klient.
Brug af FTP eller SFTP
Kommandoen til at omdøbe filer på en fjernserver ved hjælp af Terminal som en FTP / SFTP-klient kan udføres med følgende kommando:
rename old_name new_name
Hvis jeg for eksempel ville ændre navnet på "newfile.txt" til "mainlog.txt", bliver kommandoen:
rename newfile.txt mainlog.txt
Dette vil omdøbe filen "newfile.txt" til "mainlog.txt"
4. Sletning af filer
Terminal kan også lade dig slette filer fra den eksterne server. Kommandoerne i dette tilfælde er forskellige for både FTP og SFTP, og jeg angiver begge dem separat.
Brug af FTP
Kommandoen til at slette filer fra en fjernserver ved hjælp af FTP er:
delete file_name
Hvis jeg for eksempel ville slette filen "Beebomold.txt", bliver kommandoen:
delete beebomold.txt
Dette vil slette filen "beebomold.txt" fra fjernserveren.
Brug af SFTP
Kommandoen til at slette filer fra en fjernserver ved hjælp af SFTP er:
rm file_name
Hvis jeg for eksempel ville slette filen kaldet "beebomold.txt" ved hjælp af SFTP, vil kommandoen være:
rm beebomold.txt
Dette vil slette filen "beebomold.txt" fra den eksterne server.
5. Flytning af filer i den eksterne server
Brug af Terminal som en FTP-klient kan også tillade dig at flytte filer inden for den eksterne server selv, præcis som du ville gøre det i en tredjeparts FTP-klient.
Brug af FTP eller SFTP
Kommandoen til at flytte filer inden for serveren i både FTP og SFTP er:
rename file_name path_to_new_file/file_name
Hvis jeg for eksempel ville flytte en fil kaldet "testresultater.txt" fra "test" -mappen til "resultater" -mappen, bliver kommandoen:
rename testresults.txt results/testresults.txt
Dette vil flytte filen "testresults.txt" til undermappen "resultater".
6. Kontroller "Senest ændret" dato
Checking af "Senest ændret" dato for en fil eller en mappe er nyttig, hvis du har brug for at vide, hvilke filer og mapper der blev opdateret, når. Du kan også opnå dette på Terminal.
Brug af FTP eller SFTP
Kommandoen til at kontrollere den sidste ændrede dato for en fil er:
ls -l file_name
Denne kommando viser nogle oplysninger i en tabelformular. Kolonnen med dato og klokkeslæt svarer til værdien "Sidst ændret".
Hvis jeg for eksempel ville tjekke datoen "testresults.txt" sidst blev ændret, vil kommandoen være:
ls -l testresults.txt
7. Kontroller og modificer tilladelser
At have filer sat til de rigtige tilladelser er meget vigtigt. Nogle gange kan forkerte tilladelser føre til, at din webapp ikke engang indlæser.
Brug af FTP eller SFTP
- Kontrol af tilladelser
Kontrol og ændring af tilladelser ved hjælp af Terminal som klient er meget ligetil, kommandoen er:
ls -l file_name
Denne kommando viser nogle oplysninger i en tabelformular. Den første kolonne viser tilladelserne på filen.
Hvis jeg for eksempel ville kontrollere tilladelserne på filen "testresultater.txt", vil jeg bruge kommandoen som:
ls -l testresults.txt
- Ændring af tilladelser
Hvis du ser en fil, der har forkerte tilladelser, eller hvis du bare vil lege med tilladelserne, kan du bruge Terminal til at ændre tilladelserne for filen. Kommandoen er:
chmod permissions_value file_name
Hvis jeg for eksempel ville give fuld læsning, skrive og udførelsesrettigheder til filen "testresults.txt", bliver kommandoen
chmod 777 testresults.txt
Denne kommando vil give læsning, skrivning og udførelse af tilladelser til filen "testresultater.txt"
8. Opret nye filer
Oprettelse af nye filer på serveren er en opgave, der ikke nemt gøres på Terminal. Det betyder dog ikke, at det ikke er muligt. Problemet med at oprette nye filer er, at du skal have en kopi af filen på din bærbare computer, før du kan uploade den til serveren.
Brug af FTP eller SFTP
Kommandoerne til at oprette en fil på den eksterne server er:
!touch file_name
put file_name file_name
Hvis jeg for eksempel vil oprette en fil "newtest.txt" på serveren, bliver kommandoerne:
!touch newtest.txt
put newtest.txt newtest.txt
Dette vil oprette en ny fil kaldet "newtest.txt" og uploade den til serveren.
9. Rediger eksisterende filer
Redigering af eksisterende filer er også en vigtig funktion. Du kan redigere en fil i selve Terminal ved at bruge programmer som nano, emacs osv., Som allerede er indbygget i Terminal. Nano er enklere at forstå, og jeg vil bruge det i dette eksempel.
Brug af FTP eller SFTP
Kommandoerne til at redigere eksisterende filer på den eksterne server er:
get file_name file_name
!nano file_name
put file_name file_name
Hvis jeg for eksempel vil redigere filen "newtest.txt", bliver kommandoerne:
get newtest.txt newtest.txt
!nano newtest.txt
put newtest.txt newtest.txt
Disse kommandoer vil redigere filen "newtest.txt" og uploade den tilbage til serveren.
10. Oprettelse af duplikatkopier af filer
Når du redigerer filer på den eksterne server, er det bedre at have en kopi af den oprindelige fil, bare hvis du rod noget op.
Brug af FTP eller SFTP
For at oprette en kopi af en kopi af en fil på den eksterne server er kommandoerne:
get file_name file_name
!mv file_name new_file_name
put new_file_name new_file_name
Hvis jeg f.eks. Vil oprette en kopi af "newtest_copy.txt" til "newtest.txt", bliver kommandoerne:
get newtest.txt newtest.txt
!mv newtest.txt newtest_copy.txt
put newtest_copy.txt newtest_copy.txt
Udnyt Mac terminalen med FTP eller SFTP
Nu hvor du ved, hvordan du kan bruge Terminal som en FTP- eller SFTP-klient, kan du bruge den til FTPing eller SFTPing til din udviklingsserver uden at skulle bekymre dig om tredjeparts applikationer, der installerer bloatware eller ikke sikrer din trafik. Hvis du har problemer med at bruge FTP eller SFTP fra din terminal, eller hvis du tror vi savnede noget, så lad os vide i kommentarfeltet nedenfor.