Cách sử dụng lệnh scp trong Linux | Học CNTT cùng FUNiX

Cách sử dụng lệnh sao chép scp trong Linux

Chia sẻ kiến thức 02/05/2022

Cú pháp đáng sợ của lệnh scp trong Linux có khiến bạn lo lắng? Kiểm tra các ví dụ scp này để hiểu rõ hơn về nó. 

Lệnh scp cho phép bạn sao chép tệp hiệu quả giữa hai máy chủ khác nhau. Cú pháp của scp sử dụng lại cú pháp của cp, vì vậy hầu hết người dùng Linux sẽ cảm thấy nó khá quen thuộc.

Cái khó khi dùng lệnh scp là nguồn hoặc đích có thể ở xa, tức là một máy tính được kết nối với mạng khác, chứ không phải mạng cục bộ của bạn. Khi chỉ định một tệp để sao chép, bạn cũng cần phải bao gồm thông tin chi tiết về máy chủ lưu trữ từ xa, bao gồm địa chỉ IP và tên người dùng của nó.

Tải tệp lên bằng lệnh scp

Cú pháp scp chung là:

scp source destination

Về cơ bản cú pháp giống như lệnh cp.

Ví dụ scp đơn giản nhất là ví dụ mà bạn có thể dùng nhiều nhất: tải tệp từ máy cục bộ lên máy chủ từ xa. Trong trường hợp này, phần source (nguồn) của lệnh đơn giản và phần destination (đích) phức tạp hơn:

scp index.html bobby@example.org:/var/www/html/

Thao tác này sẽ sao chép tệp cục bộ có tên index.html vào máy chủ lưu trữ từ xa. Bạn có thể chỉ định tệp này giống như cách chỉ định tệp cho bất kỳ lệnh nào khác. Nó có thể là một tham chiếu tuyệt đối hoặc tương đối đến tệp. Ví dụ,  index.html../index.html và /home/bobby/index.html  là những cách khác nhau mà bạn có thể sử dụng để chỉ định một tệp cục bộ.

Đích đến trong ví dụ là bobby@example.org:/var/www/html/. Điều này có nghĩa rằng:

  1. Người dùng Bobby sẽ là chủ sở hữu của tệp mới trên máy chủ từ xa. Tài khoản người dùng đó cần phải tồn tại và bạn sẽ có thể truy cập  nó.
  2. Tên máy chủ của máy chủ mà chúng ta sẽ tải tệp lên là example.org. Chúng ta đã chỉ định miền ở đây, nhưng bạn cũng có thể sử dụng địa chỉ IP để thay thế.
  3. Trên máy chủ đó, scp sẽ tải tệp lên thư mục /var/www/html/.

Khi bạn nhập lệnh đó, terminal thường sẽ nhắc bạn nhập mật khẩu của người dùng mà bạn đã chỉ định trên máy điều khiển từ xa.

Tải xuống toàn bộ thư mục

Đây là một biến thể phức tạp hơn một chút có thể tải xuống toàn bộ thư mục:

scp -rpC bobby@example.org:/tmp/docs /home/bobby

Đầu tiên, bạn cần lưu ý rằng bây giờ source là một máy từ xa, trong khi destination là cục bộ. Ví dụ này cũng giới thiệu ba cờ (flag) hữu ích:

  1. -r: Tải xuống đệ quy toàn bộ thư mục. Nó sẽ chuyển tất cả các tệp bên trong /tmp/docs. Điều này rất hữu ích để sao lưu nhanh chóng hoặc chuyển số lượng lớn tệp, đặc biệt nếu bạn không có quyền truy cập đăng nhập vào máy chủ từ xa.
  2. -p:  Lưu giữ dấu thời gian của tệp và chế độ của tệp gốc. Các bản sao cục bộ của bạn sẽ có cùng thời gian tạo hoặc quyền ghi như bản gốc của chúng.
  3. -C: Cho phép nén. Nếu bạn đang chuyển nhiều tệp, điều này có thể tăng tốc quá trình, đặc biệt nếu bạn đang sử dụng kết nối chậm.

Lệnh scp cũng dễ dàng như lệnh cp

Cách sử dụng lệnh scp rất dễ dàng: về cơ bản nó giống như cp. Sự khác biệt chính là scp cần thêm một số chi tiết cho máy chủ từ xa. Tuy nhiên, như với cp, có những cờ hữu ích để mở rộng chức năng của nó, bao gồm nén và sao chép đệ quy để cung cấp cho tải xuống nhiều tệp.

Nắm vững lệnh scp có thể hữu ích nếu bạn cần quản lý một máy chủ Linux. Thực hiện sao lưu và truyền dữ liệu từ xa là công việc hàng ngày đối với những người làm công việc quản trị máy chủ.

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/scp-example/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!