×

Lệnh scp trong Bash sao chép tệp tin qua mạng

Trong thế giới công nghệ ngày nay, việc trao đổi và chia sẻ dữ liệu qua mạng trở nên dễ dàng hơn bao giờ hết. Một trong những công cụ phổ biến nhất để thực hiện điều này trong môi trường dòng lệnh (CLI) là lệnh scp. Lệnh này cho phép người dùng sao chép tệp tin giữa các máy tính thông qua SSH (Secure Shell) và đảm bảo rằng dữ liệu được truyền tải một cách an toàn và bảo mật. Bài viết này sẽ giúp bạn hiểu rõ và áp dụng lệnh scp trong Bash để sao chép tệp tin qua mạng.

Lệnh SCP là gì?

SCP (Secure Copy Protocol) là một giao thức được xây dựng trên nền tảng SSH, cho phép người dùng truyền tải tệp tin giữa hai máy tính một cách an toàn qua mạng. Lệnh scp sử dụng mã hóa SSL, điều này đồng nghĩa với việc mọi dữ liệu được truyền tải thông qua các kênh an toàn, giúp người dùng không phải lo lắng về việc rò rỉ thông tin nhạy cảm.

Lệnh scp có một cú pháp khá đơn giản nhưng lại rất linh hoạt, cho phép người dùng thực hiện nhiều thao tác sao chép khác nhau. Bạn có thể sử dụng scp để sao chép tệp tin từ máy cục bộ lên máy từ xa, từ máy từ xa về máy cục bộ hoặc thậm chí giữa hai máy từ xa.

Cú pháp cơ bản của lệnh SCP

Cú pháp cơ bản của lệnh scp có thể được trình bày như sau:

scp [tùy chọn] [tệp_tin_nguồn] [tệp_tin_đích]
  • [tùy chọn]: Các tùy chọn thêm cho lệnh scp, bạn có thể sử dụng hoặc không.
  • [tệp_tin_nguồn]: Địa chỉ của tệp tin mà bạn muốn sao chép. Địa chỉ này có thể là một đường dẫn cục bộ hoặc đường dẫn trên máy từ xa.
  • [tệp_tin_đích]: Địa chỉ nơi bạn muốn sao chép tệp tin đến. Địa chỉ này cũng có thể là cục bộ hoặc từ xa.

Các tùy chọn thường dùng với SCP

Khi sử dụng lệnh scp, bạn có thể sử dụng một số tùy chọn sau để điều chỉnh hành vi của lệnh. Một số tùy chọn phổ biến bao gồm:

  • -r: Sao chép các thư mục một cách đệ quy.
  • -P: Chỉ định cổng SSH (nếu không sử dụng cổng mặc định 22).
  • -i: Chỉ định tệp tin khóa sử dụng để xác thực SSH.
  • -v: Chế độ verbose, cho phép hiển thị thông tin chi tiết khi sao chép.
  • -C: Bật nén dữ liệu khi sao chép, giúp tăng tốc quá trình sao chép khi làm việc với tệp tin lớn.

Ví dụ sử dụng lệnh SCP

Để giúp bạn hiểu rõ hơn cách sử dụng lệnh scp, hãy xem qua một số ví dụ cụ thể:

Sao chép tệp tin từ máy cục bộ lên máy từ xa

Giả sử bạn có một tệp tin có tên là file.txt trên máy cục bộ và bạn muốn sao chép nó lên máy từ xa với địa chỉ IP là 192.168.1.2, danh mục thư mục đích là /home/user/. Lệnh bạn sẽ sử dụng như sau:

scp file.txt user@192.168.1.2:/home/user/

Tại đây, user là tên người dùng trên máy từ xa. Bạn sẽ được yêu cầu nhập mật khẩu cho tài khoản này.

Sao chép tệp tin từ máy từ xa về máy cục bộ

Nếu bạn muốn tải xuống một tệp tin từ máy từ xa về máy cục bộ, bạn có thể sử dụng cú pháp tương tự như sau:

scp user@192.168.1.2:/home/user/file.txt ./

Dấu ./ chỉ định rằng tệp tin sẽ được lưu tại thư mục hiện tại trên máy cục bộ.

Sao chép thư mục đệ quy

Để sao chép một thư mục từ máy cục bộ lên máy từ xa, bạn cần sử dụng tùy chọn -r như sau:

scp -r /path/to/local/directory user@192.168.1.2:/home/user/

Điều này cho phép bạn sao chép tất cả tệp tin và thư mục con trong thư mục mà bạn đã chỉ định.

Sao chép qua cổng khác

Nếu máy từ xa của bạn sử dụng một cổng SSH không phải 22, bạn có thể chỉ định cổng đó bằng tùy chọn -P. Ví dụ:

scp -P 2222 file.txt user@192.168.1.2:/home/user/

Trong đó, 2222 là số cổng mà SSH đang lắng nghe.

Một số lưu ý khi sử dụng lệnh SCP

  • Đảm bảo rằng bạn đã cài đặt chương trình SSH trên cả hai máy. Nếu không, bạn sẽ không thể sử dụng lệnh scp một cách hiệu quả.
  • Kiểm tra kết nối mạng trước khi thực hiện lệnh để đảm bảo rằng bạn có thể kết nối với máy từ xa.
  • Nếu bạn chuyển dữ liệu nhạy cảm, hãy luôn chắc chắn rằng bạn đang kết nối qua một kênh an toàn và sử dụng các tùy chọn bảo mật của SSH.

Kết luận

Lệnh scp là một công cụ mạnh mẽ và cần thiết cho bất kỳ ai làm việc trong môi trường mạng và cần chia sẻ dữ liệu giữa các máy tính một cách an toàn. Với cú pháp đơn giản cùng nhiều tùy chọn hữu ích, bạn có thể dễ dàng sao chép các tệp tin và thư mục theo cách mà bạn muốn. Hy vọng rằng bài viết này đã trở thành tài liệu tham khảo hữu ích cho bạn trong việc sử dụng lệnh scp để truyền tải dữ liệu qua mạng một cách hiệu quả và bảo mật.

Comments