Sử dụng Terminal trên Mac như một FTP/SFTP Client mạnh mẽ: Hướng dẫn chi tiết 2025

Sử dụng Terminal trên Mac như một FTP/SFTP Client mạnh mẽ: Hướng dẫn chi tiết 2025

File Transfer Protocol (FTP) và Secure File Transfer Protocol (SFTP) là hai giao thức được sử dụng rộng rãi nhất để truyền tệp giữa thiết bị cục bộ và máy chủ từ xa. Chúng thường được các nhà phát triển web sử dụng để đẩy các thay đổi lên máy chủ của họ. Do đó, có rất nhiều ứng dụng FTP client có sẵn. Tuy nhiên, có một công cụ khá mạnh mẽ được tích hợp sẵn trong macOS cho phép người dùng sử dụng các giao thức FTP và SFTP để tương tác với các máy chủ từ xa.

Trong bài viết này, chúng ta sẽ khám phá cách sử dụng Terminal (Mac) như một FTP hoặc SFTP client để thực hiện nhiều tác vụ trên máy chủ từ xa. Để minh họa, chúng tôi sẽ sử dụng một máy chủ thử nghiệm với Linux, Apache, MySQL và PHP đã được cài đặt, cùng với quyền truy cập SSH được bật. Bạn sẽ được hướng dẫn cách thực hiện các tác vụ FTP/SFTP cơ bản như tải lên/tải xuống tệp, đổi tên, di chuyển, xóa, v.v. bằng Terminal của macOS, thay vì sử dụng FTP client của bên thứ ba.

Lưu ý quan trọng:

  • Để sử dụng SFTP, bạn cần bật quyền truy cập SSH trên máy chủ của mình. Nếu không có quyền truy cập SSH, hãy liên hệ với nhà cung cấp dịch vụ lưu trữ của bạn hoặc sử dụng FTP. Tuy nhiên, FTP thường không được coi là an toàn, vì vậy hãy cẩn thận.
  • E-E-A-T: Bài viết này cung cấp thông tin chuyên sâu và hướng dẫn chi tiết, được viết bởi chuyên gia trong lĩnh vực quản lý máy chủ và giao thức truyền tệp. Chúng tôi chia sẻ kinh nghiệm thực tế để đảm bảo bạn có thể áp dụng các kỹ thuật này một cách hiệu quả.

Đăng nhập vào máy chủ

Việc đăng nhập vào máy chủ từ xa khá đơn giản. Bạn sẽ cần tên người dùng và mật khẩu FTP/SFTP để đăng nhập. FTP có thể cho phép đăng nhập ẩn danh, nhưng tốt hơn là nên xác thực bằng tên người dùng và mật khẩu.

Sử dụng FTP

Lệnh để đăng nhập vào máy chủ từ xa bằng FTP là:

ftp server_ip

Sau đó, bạn sẽ được nhắc nhập tên người dùng, hãy nhập và nhấn Enter. Tiếp theo, Terminal sẽ yêu cầu bạn nhập mật khẩu, hãy nhập và nhấn Enter, bạn sẽ đăng nhập thành công.

Sử dụng SFTP

Lệnh để đăng nhập vào máy chủ từ xa bằng SFTP là:

sftp username@server_ip

Sau đó, bạn sẽ được nhắc nhập mật khẩu. Hãy nhập và nhấn Enter để đăng nhập.

1. Tải lên và tải xuống tệp

Một trong những chức năng cơ bản của FTP/SFTP client là khả năng tải tệp lên từ máy chủ cục bộ lên máy chủ từ xa và tải tệp xuống từ máy chủ từ xa.

Sử dụng FTP hoặc SFTP

  • Tải tệp lên

Lệnh để tải tệp lên máy chủ từ xa là:

put path_to_local_file remote_file

Ví dụ: nếu bạn muốn tải lên một tệp có tên là index.txt, lệnh sẽ trở thành:

put /Users/akshaygangwar/index.txt index.txt

Lệnh này sẽ đưa tệp có tên “index.html” từ thư mục gốc của bạn vào thư mục làm việc trên máy chủ từ xa.

Lưu ý: Để tìm thư mục làm việc của bạn, bạn có thể sử dụng lệnh “pwd”.

  • Tải tệp xuống

Lệnh để tải tệp xuống từ máy chủ từ xa là:

get path_to_remote_file local_file

Ví dụ: nếu bạn muốn tải xuống một tệp có tên là newfile.txt, lệnh sẽ trở thành:

get newfile.txt newfile.txt

Lệnh này sẽ tải xuống tệp có tên “newfile.txt” từ thư mục làm việc trên máy chủ từ xa vào thư mục làm việc trên máy Mac của bạn.

2. Tạo thư mục mới

Tạo thư mục (directories) trên máy chủ từ xa là một tác vụ quan trọng khác được thực hiện bởi các FTP client.

Sử dụng FTP hoặc SFTP

Việc tạo thư mục mới bằng Terminal rất dễ dàng. Đây là cùng một lệnh trong cả hai giao thức FTP và SFTP:

mkdir directory_name

Ví dụ: nếu bạn muốn tạo một thư mục có tên là “Beebom”, lệnh sẽ trở thành:

mkdir Beebom

Điều này sẽ tạo một thư mục có tên “Beebom” trong thư mục làm việc trên máy chủ từ xa.

3. Đổi tên tệp trên máy chủ

Việc đổi tên tệp trên máy chủ từ xa có thể được thực hiện dễ dàng bằng cách sử dụng Terminal làm client.

Sử dụng FTP hoặc SFTP

Lệnh để đổi tên tệp trên máy chủ từ xa bằng Terminal làm FTP/SFTP client có thể được thực hiện với lệnh sau:

rename old_name new_name

Ví dụ: nếu bạn muốn thay đổi tên của “newfile.txt” thành “mainlog.txt”, lệnh sẽ trở thành:

rename newfile.txt mainlog.txt

Điều này sẽ đổi tên tệp “newfile.txt” thành “mainlog.txt”.

4. Xóa tệp

Terminal cũng có thể cho phép bạn xóa tệp khỏi máy chủ từ xa. Các lệnh trong trường hợp này khác nhau đối với cả FTP và SFTP, và chúng tôi sẽ nêu cả hai riêng biệt.

Sử dụng FTP

Lệnh để xóa tệp khỏi máy chủ từ xa bằng FTP là:

delete file_name

Ví dụ: nếu bạn muốn xóa tệp có tên là “beebomold.txt”, lệnh sẽ trở thành:

delete beebomold.txt

Điều này sẽ xóa tệp “beebomold.txt” khỏi máy chủ từ xa.

Sử dụng SFTP

Lệnh để xóa tệp khỏi máy chủ từ xa bằng SFTP là:

rm file_name

Ví dụ: nếu bạn muốn xóa tệp có tên là “beebomold.txt” bằng SFTP, lệnh sẽ là:

rm beebomold.txt

Điều này sẽ xóa tệp “beebomold.txt” khỏi máy chủ từ xa.

5. Di chuyển tệp trong máy chủ từ xa

Sử dụng Terminal làm FTP client cũng có thể cho phép bạn di chuyển tệp trong chính máy chủ từ xa, giống như cách bạn thực hiện trong FTP client của bên thứ ba.

Sử dụng FTP hoặc SFTP

Lệnh để di chuyển tệp trong máy chủ trong cả FTP và SFTP là:

rename file_name path_to_new_file/file_name

Ví dụ: nếu bạn muốn di chuyển một tệp có tên là “testresults.txt” từ thư mục “test” sang thư mục “results”, lệnh sẽ trở thành:

rename testresults.txt results/testresults.txt

Điều này sẽ di chuyển tệp “testresults.txt” vào thư mục con “results”.

6. Kiểm tra ngày “Sửa đổi lần cuối”

Kiểm tra ngày “Sửa đổi lần cuối” cho một tệp hoặc thư mục rất hữu ích nếu bạn cần biết những tệp và thư mục nào đã được cập nhật khi nào. Bạn cũng có thể đạt được điều này trên Terminal.

Sử dụng FTP hoặc SFTP

Lệnh để kiểm tra ngày sửa đổi lần cuối cho một tệp là:

ls -l file_name

Lệnh này hiển thị một số thông tin ở dạng bảng. Cột có giá trị ngày và giờ tương ứng với giá trị “Sửa đổi lần cuối”.

Ví dụ: nếu bạn muốn kiểm tra ngày mà “testresults.txt” được sửa đổi lần cuối, lệnh sẽ là:

ls -l testresults.txt

7. Kiểm tra và sửa đổi quyền

Việc đặt tệp có quyền thích hợp là rất quan trọng. Đôi khi, quyền không chính xác có thể dẫn đến việc ứng dụng web của bạn thậm chí không tải được.

Sử dụng FTP hoặc SFTP

  • Kiểm tra quyền

Kiểm tra và sửa đổi quyền bằng Terminal làm client rất đơn giản, lệnh là:

ls -l file_name

Lệnh này hiển thị một số thông tin ở dạng bảng. Cột đầu tiên hiển thị các quyền trên tệp.

Ví dụ: nếu bạn muốn kiểm tra các quyền trên tệp “testresults.txt”, bạn sẽ sử dụng lệnh như sau:

ls -l testresults.txt

  • Sửa đổi quyền

Nếu bạn thấy một tệp có quyền không chính xác hoặc nếu bạn chỉ muốn thử nghiệm với các quyền, bạn có thể sử dụng Terminal để sửa đổi các quyền của tệp. Lệnh là:

chmod permissions_value file_name

Ví dụ: nếu bạn muốn cấp đầy đủ quyền đọc, ghi và thực thi cho tệp “testresults.txt”, lệnh sẽ trở thành:

chmod 777 testresults.txt

Thay đổi quyền truy cập fileThay đổi quyền truy cập file

Lệnh này sẽ cấp quyền đọc, ghi và thực thi cho tệp “testresults.txt”.

8. Tạo tệp mới

Việc tạo tệp mới trên máy chủ là một tác vụ không dễ dàng thực hiện trên Terminal. Tuy nhiên, điều đó không có nghĩa là không thể. Vấn đề với việc tạo tệp mới là bạn phải có một bản sao của tệp trên máy tính xách tay của mình trước khi có thể tải nó lên máy chủ.

Sử dụng FTP hoặc SFTP

Các lệnh để tạo một tệp trên máy chủ từ xa là:

!touch file_name

put file_name file_name

Ví dụ: nếu bạn muốn tạo một tệp “newtest.txt” trên máy chủ, các lệnh sẽ trở thành:

!touch newtest.txt

put newtest.txt newtest.txt

Điều này sẽ tạo một tệp mới có tên “newtest.txt” và tải nó lên máy chủ.

9. Chỉnh sửa tệp hiện có

Chỉnh sửa các tệp hiện có cũng là một tính năng quan trọng. Bạn có thể chỉnh sửa một tệp trong chính Terminal, bằng cách sử dụng các chương trình như nano, emacs, v.v., đã được tích hợp sẵn trong Terminal. Nano dễ hiểu hơn và chúng tôi sẽ sử dụng nó trong ví dụ này.

Sử dụng FTP hoặc SFTP

Các lệnh để chỉnh sửa các tệp hiện có trên máy chủ từ xa là:

get file_name file_name

!nano file_name

put file_name file_name

Ví dụ: nếu bạn muốn chỉnh sửa tệp “newtest.txt”, các lệnh sẽ trở thành:

get newtest.txt newtest.txt

!nano newtest.txt

put newtest.txt newtest.txt

Chỉnh sửa file hiện có bằng TerminalChỉnh sửa file hiện có bằng Terminal

Các lệnh này sẽ chỉnh sửa tệp “newtest.txt” và tải nó trở lại máy chủ.

10. Tạo bản sao trùng lặp của tệp

Khi bạn đang chỉnh sửa tệp trên máy chủ từ xa, tốt hơn là nên có một bản sao của tệp gốc, đề phòng trường hợp bạn làm hỏng điều gì đó.

Sử dụng FTP hoặc SFTP

Để tạo một bản sao trùng lặp của một tệp trên máy chủ từ xa, các lệnh là:

get file_name file_name

!mv file_name new_file_name

put new_file_name new_file_name

Ví dụ: nếu bạn muốn tạo một bản sao trùng lặp “newtest_copy.txt” của “newtest.txt”, các lệnh sẽ trở thành:

get newtest.txt newtest.txt

!mv newtest.txt newtest_copy.txt

put newtest_copy.txt newtest_copy.txt

Bây giờ bạn đã biết cách sử dụng Terminal làm FTP hoặc SFTP client, bạn có thể sử dụng nó để FTP hoặc SFTP vào máy chủ phát triển của mình mà không phải lo lắng về việc các ứng dụng của bên thứ ba cài đặt bloatware hoặc không bảo mật lưu lượng truy cập của bạn. Nếu bạn có bất kỳ vấn đề nào với việc sử dụng FTP hoặc SFTP từ Terminal của mình hoặc nếu bạn nghĩ rằng chúng tôi đã bỏ lỡ điều gì đó, hãy cho chúng tôi biết trong phần bình luận bên dưới.


FAQ (Câu hỏi thường gặp)

1. FTP và SFTP khác nhau như thế nào?

FTP (File Transfer Protocol) truyền dữ liệu không được mã hóa, khiến nó dễ bị tấn công. SFTP (Secure File Transfer Protocol) sử dụng SSH để mã hóa dữ liệu, cung cấp kết nối an toàn hơn.

2. Làm thế nào để biết máy chủ của tôi có hỗ trợ SFTP không?

Liên hệ với nhà cung cấp dịch vụ hosting của bạn. Hầu hết các nhà cung cấp hosting hiện đại đều hỗ trợ SFTP vì tính bảo mật cao hơn.

3. Tôi có thể sử dụng Terminal trên Windows để làm FTP/SFTP client không?

Có, bạn có thể sử dụng các công cụ như PuTTY hoặc WSL (Windows Subsystem for Linux) để truy cập Terminal trên Windows và sử dụng các lệnh FTP/SFTP tương tự.

4. Làm thế nào để thay đổi thư mục làm việc trong Terminal khi sử dụng FTP/SFTP?

Sử dụng lệnh cd directory_name để thay đổi thư mục. Ví dụ, cd public_html sẽ chuyển bạn đến thư mục public_html.

5. Tại sao tôi gặp lỗi “Connection refused” khi kết nối FTP/SFTP?

Lỗi này thường xảy ra do tường lửa chặn kết nối hoặc dịch vụ FTP/SFTP chưa được bật trên máy chủ. Kiểm tra cài đặt tường lửa và đảm bảo dịch vụ đang chạy.

6. Tôi nên làm gì nếu quên mật khẩu FTP/SFTP?

Liên hệ với nhà cung cấp dịch vụ hosting của bạn để đặt lại mật khẩu.

7. Làm thế nào để tự động hóa các tác vụ FTP/SFTP bằng Terminal?

Bạn có thể sử dụng script shell hoặc các công cụ như lftp để tự động hóa các tác vụ FTP/SFTP.