File Transfer Protocol (FTP) และ Secure File Transfer Protocol (SFTP) เป็นสองโปรโตคอลที่ใช้กันอย่างแพร่หลายที่สุดสำหรับการถ่ายโอนไฟล์ระหว่างอุปกรณ์ท้องถิ่นและเซิร์ฟเวอร์ระยะไกล นักพัฒนาเว็บใช้บ่อยพวกเขาจะผลักดันการเปลี่ยนแปลงไปยังเซิร์ฟเวอร์ของพวกเขาและดังนั้นจึงมีลูกค้า FTP จำนวนมากที่มีอยู่ อย่างไรก็ตามยังมีเครื่องมือที่ค่อนข้างทรงพลังที่สร้างขึ้นใน Mac ที่สามารถอนุญาตให้ผู้ใช้ใช้ FTP และโปรโตคอล SFTP เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล
ในบทความนี้ฉันจะอธิบายรายละเอียดว่าคุณสามารถใช้ Terminal (Mac) เป็นไคลเอนต์ FTP หรือ SFTP เพื่อทำงานต่าง ๆ บนเซิร์ฟเวอร์ระยะไกลได้อย่างไร เพื่อจุดประสงค์ในการภาพประกอบฉันใช้เซิร์ฟเวอร์ทดสอบที่ติดตั้ง Linux, Apache, MySQL และ PHP ไว้โดยเปิดใช้งานการเข้าถึง SSH ฉันจะบอกคุณว่าคุณสามารถทำงาน FTP / SFTP ขั้นพื้นฐานได้อย่างไรเช่นการอัปโหลด / ดาวน์โหลดไฟล์การเปลี่ยนชื่อการย้ายการลบ ฯลฯ โดยใช้ Terminal ของ 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
การสร้างโฟลเดอร์ใหม่โดยใช้ Terminal นั้นง่าย มันเป็นคำสั่งเดียวกันในทั้งโปรโตคอล FTP และ SFTP:
mkdir directory_name
ตัวอย่างเช่นถ้าฉันต้องการสร้างโฟลเดอร์ด้วยชื่อของ "Beebom" คำสั่งจะกลายเป็น:
mkdir Beebom
สิ่งนี้จะสร้างโฟลเดอร์ชื่อ“ Beebom” ในไดเรกทอรีทำงานบนเซิร์ฟเวอร์ระยะไกล
3. การเปลี่ยนชื่อไฟล์บนเซิร์ฟเวอร์
การเปลี่ยนชื่อไฟล์บนเซิร์ฟเวอร์ระยะไกลสามารถทำได้อย่างง่ายดายโดยใช้ Terminal เป็นไคลเอนต์
ใช้ FTP หรือ SFTP
คำสั่งเพื่อเปลี่ยนชื่อไฟล์บนเซิร์ฟเวอร์ระยะไกลโดยใช้ Terminal เป็นไคลเอนต์ 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” ไปที่“ ผลลัพธ์” ของโฟลเดอร์ย่อย
6. ตรวจสอบวันที่ "แก้ไขครั้งสุดท้าย"
การตรวจสอบวันที่“ แก้ไขล่าสุด” สำหรับไฟล์หรือโฟลเดอร์จะมีประโยชน์หากคุณจำเป็นต้องรู้ว่าไฟล์และโฟลเดอร์ใดได้รับการอัปเดตเมื่อใด คุณสามารถทำได้ในเทอร์มินัลเช่นกัน
ใช้ FTP หรือ SFTP
คำสั่งเพื่อตรวจสอบวันที่แก้ไขล่าสุดสำหรับไฟล์คือ:
ls -l file_name
คำสั่งนี้แสดงข้อมูลบางอย่างในรูปแบบตาราง คอลัมน์ที่มีค่าวันที่และเวลาสอดคล้องกับค่า“ Last Modified”
ตัวอย่างเช่นถ้าฉันต้องการตรวจสอบวันที่“ testresults.txt” ถูกแก้ไขครั้งสุดท้ายคำสั่งจะเป็น:
ls -l testresults.txt
7. ตรวจสอบและแก้ไขการอนุญาต
การตั้งค่าไฟล์ให้ถูกต้องเป็นสิ่งที่สำคัญมาก บางครั้งการอนุญาตที่ไม่ถูกต้องอาจทำให้แอปพลิเคชันเว็บของคุณไม่โหลด
ใช้ FTP หรือ SFTP
- การตรวจสอบสิทธิ์
การตรวจสอบและแก้ไขสิทธิ์ใช้งาน Terminal เป็นไคลเอนต์ตรงไปตรงมามากคำสั่งคือ:
ls -l file_name
คำสั่งนี้แสดงข้อมูลบางอย่างในรูปแบบตาราง คอลัมน์แรกจะแสดงการอนุญาตในไฟล์
ตัวอย่างเช่นถ้าฉันต้องการตรวจสอบการอนุญาตบนไฟล์“ testresults.txt” ฉันจะใช้คำสั่งดังนี้:
ls -l testresults.txt
- การแก้ไขการอนุญาต
หากคุณเห็นไฟล์ที่มีการอนุญาตที่ไม่ถูกต้องหรือหากคุณแค่ต้องการเล่นกับการอนุญาตคุณสามารถใช้ Terminal เพื่อปรับเปลี่ยนการอนุญาตของไฟล์ คำสั่งคือ:
chmod permissions_value file_name
ตัวอย่างเช่นถ้าฉันต้องการให้สิทธิ์การอ่านเขียนและเรียกใช้ไฟล์“ testresults.txt” แบบเต็มคำสั่งจะกลายเป็น
chmod 777 testresults.txt
คำสั่งนี้จะให้สิทธิ์ในการอ่านเขียนและดำเนินการกับไฟล์“ testresults.txt”
8. สร้างไฟล์ใหม่
การสร้างไฟล์ใหม่บนเซิร์ฟเวอร์เป็นงานที่ไม่สามารถทำได้อย่างง่ายดายบน Terminal อย่างไรก็ตามนั่นไม่ได้หมายความว่าเป็นไปไม่ได้ ปัญหาในการสร้างไฟล์ใหม่คือคุณต้องมีสำเนาของไฟล์ในแล็ปท็อปของคุณก่อนที่คุณจะสามารถอัปโหลดไปยังเซิร์ฟเวอร์
ใช้ FTP หรือ SFTP
คำสั่งเพื่อสร้างไฟล์บนรีโมตเซิร์ฟเวอร์คือ:
!touch file_name
put file_name file_name
ตัวอย่างเช่นถ้าฉันต้องการสร้างไฟล์“ newtest.txt” บนเซิร์ฟเวอร์คำสั่งจะกลายเป็น:
!touch newtest.txt
put newtest.txt newtest.txt
สิ่งนี้จะสร้างไฟล์ใหม่ที่ชื่อว่า“ newtest.txt” และอัปโหลดไปยังเซิร์ฟเวอร์
9. แก้ไขไฟล์ที่มีอยู่
การแก้ไขไฟล์ที่มีอยู่ก็เป็นคุณสมบัติที่สำคัญเช่นกัน คุณสามารถแก้ไขไฟล์ใน Terminal ได้โดยใช้โปรแกรมเช่น nano, emacs เป็นต้นซึ่งมีอยู่แล้วในตัว Terminal นาโนนั้นเข้าใจง่ายกว่าและฉันจะใช้มันในตัวอย่างนี้
ใช้ 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
ใช้ประโยชน์จาก Power ของ Mac Terminal ด้วย FTP หรือ SFTP
ตอนนี้คุณรู้แล้วว่าคุณสามารถใช้ Terminal เป็นไคลเอนต์ FTP หรือ SFTP ได้อย่างไรคุณสามารถใช้มันเพื่อ FTPing หรือ SFTPing ในเซิร์ฟเวอร์การพัฒนาของคุณ หากคุณมีปัญหาเกี่ยวกับการใช้ FTP หรือ SFTP จากเทอร์มินัลของคุณหรือถ้าคุณคิดว่าเราพลาดอะไรบางอย่างไปแจ้งให้เราทราบในส่วนความเห็นด้านล่าง