Lệnh scp trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh Linux scp (secure copy) để sao chép an toàn các tập tin và thư mục giữa máy chủ cục bộ và máy chủ từ xa. Lệnh scp là một phần của bộ công cụ SSH (Secure Shell) và cung cấp một cách an toàn để truyền dữ liệu qua mạng. Bạn sẽ khám phá cú pháp cơ bản của lệnh scp, học cách sao chép các tập tin giữa máy chủ cục bộ và máy chủ từ xa, và khám phá cách sao chép đệ quy các thư mục bằng scp. Lab này bao gồm các kỹ năng mạng và giao tiếp thiết yếu cho người dùng Linux.

Giới thiệu về Lệnh scp

Trong bước này, bạn sẽ tìm hiểu về lệnh scp (secure copy), được sử dụng để sao chép an toàn các tập tin và thư mục giữa máy chủ cục bộ và máy chủ từ xa trong môi trường Linux.

Lệnh scp là một phần của bộ công cụ SSH (Secure Shell) và cung cấp một cách an toàn để truyền dữ liệu qua mạng. Nó sử dụng giao thức SSH để mã hóa dữ liệu trong quá trình truyền, đảm bảo tính bảo mật và toàn vẹn của các tập tin được truyền.

Để bắt đầu, hãy khám phá cú pháp cơ bản của lệnh scp:

scp [options] source_file_or_directory destination_file_or_directory

Ở đây, source_file_or_directory có thể là một tập tin hoặc thư mục cục bộ, hoặc một tập tin hoặc thư mục từ xa được chỉ định theo định dạng user@host:path. destination_file_or_directory cũng có thể là một vị trí cục bộ hoặc từ xa.

Ví dụ: để sao chép một tập tin từ máy chủ cục bộ đến máy chủ từ xa, bạn có thể sử dụng lệnh sau:

scp ~/project/file.txt labex@remote_host:/home/labex/project/

Lệnh này sẽ sao chép an toàn tập tin file.txt từ thư mục ~/project cục bộ đến thư mục /home/labex/project/ trên máy chủ từ xa.

Ví dụ về đầu ra:

file.txt                                    100%  123     0.1KB/s   00:00

Đầu ra cho thấy tập tin đã được sao chép thành công vào máy chủ từ xa.

Tương tự, để sao chép một tập tin từ máy chủ từ xa đến máy chủ cục bộ, bạn có thể sử dụng lệnh sau:

scp labex@remote_host:/home/labex/project/file.txt ~/project/

Lệnh này sẽ sao chép an toàn tập tin file.txt từ thư mục /home/labex/project/ trên máy chủ từ xa đến thư mục ~/project/ cục bộ.

Ví dụ về đầu ra:

file.txt                                    100%  123     0.1KB/s   00:00

Trong bước tiếp theo, bạn sẽ học cách sử dụng lệnh scp để sao chép các tập tin và thư mục giữa máy chủ cục bộ và máy chủ từ xa với các tùy chọn nâng cao hơn.

Sao chép Tập tin Giữa Máy Chủ Cục bộ và Máy Chủ Từ xa

Trong bước này, bạn sẽ học cách sử dụng lệnh scp để sao chép các tập tin giữa máy chủ cục bộ và máy chủ từ xa.

Hãy bắt đầu bằng cách sao chép một tập tin từ máy chủ cục bộ sang máy chủ từ xa. Đảm bảo rằng bạn đang ở trong thư mục ~/project trên máy chủ cục bộ:

scp file.txt labex@remote_host:/home/labex/project/

Lệnh này sẽ sao chép an toàn tập tin file.txt từ thư mục ~/project cục bộ đến thư mục /home/labex/project/ trên máy chủ từ xa.

Ví dụ về đầu ra:

file.txt                                    100%  123     0.1KB/s   00:00

Bây giờ, hãy sao chép một tập tin từ máy chủ từ xa sang máy chủ cục bộ:

scp labex@remote_host:/home/labex/project/file.txt ~/project/

Lệnh này sẽ sao chép an toàn tập tin file.txt từ thư mục /home/labex/project/ trên máy chủ từ xa đến thư mục ~/project/ cục bộ.

Ví dụ về đầu ra:

file.txt                                    100%  123     0.1KB/s   00:00

Bạn cũng có thể sao chép nhiều tập tin cùng một lúc bằng lệnh scp. Ví dụ: để sao chép hai tập tin từ máy chủ cục bộ sang máy chủ từ xa:

scp file1.txt file2.txt labex@remote_host:/home/labex/project/

Lệnh này sẽ sao chép an toàn cả file1.txtfile2.txt từ thư mục ~/project cục bộ đến thư mục /home/labex/project/ trên máy chủ từ xa.

Ví dụ về đầu ra:

file1.txt                                   100%  123     0.1KB/s   00:00
file2.txt                                   100%  456     0.4KB/s   00:00

Trong bước tiếp theo, bạn sẽ học cách sử dụng lệnh scp để sao chép đệ quy các thư mục giữa máy chủ cục bộ và máy chủ từ xa.

Sao chép Đệ quy Thư mục bằng scp

Trong bước này, bạn sẽ học cách sử dụng lệnh scp để sao chép đệ quy các thư mục giữa máy chủ cục bộ và máy chủ từ xa.

Để sao chép một thư mục một cách đệ quy, bạn cần sử dụng tùy chọn -r (recursive) với lệnh scp. Hãy bắt đầu bằng cách tạo một thư mục trên máy chủ cục bộ và thêm một số tập tin vào đó:

mkdir ~/project/directory1
touch ~/project/directory1/file1.txt
touch ~/project/directory1/file2.txt

Bây giờ, hãy sao chép toàn bộ thư mục directory1 từ máy chủ cục bộ sang máy chủ từ xa:

scp -r ~/project/directory1 labex@remote_host:/home/labex/project/

Lệnh này sẽ sao chép an toàn thư mục directory1, bao gồm tất cả nội dung của nó, từ thư mục ~/project cục bộ đến thư mục /home/labex/project/ trên máy chủ từ xa.

Ví dụ về đầu ra:

directory1/                                 100%    0     0.0KB/s   00:00
directory1/file1.txt                         100%  123     0.1KB/s   00:00
directory1/file2.txt                         100%  123     0.1KB/s   00:00

Bây giờ, hãy sao chép thư mục directory1 từ máy chủ từ xa sang máy chủ cục bộ:

scp -r labex@remote_host:/home/labex/project/directory1 ~/project/

Lệnh này sẽ sao chép an toàn thư mục directory1, bao gồm tất cả nội dung của nó, từ thư mục /home/labex/project/ trên máy chủ từ xa đến thư mục ~/project/ cục bộ.

Ví dụ về đầu ra:

directory1/                                 100%    0     0.0KB/s   00:00
directory1/file1.txt                         100%  123     0.1KB/s   00:00
directory1/file2.txt                         100%  123     0.1KB/s   00:00

Bạn đã học cách sử dụng lệnh scp để sao chép đệ quy các thư mục giữa máy chủ cục bộ và máy chủ từ xa.

Tóm tắt

Trong lab này, bạn sẽ học về lệnh scp (secure copy), được sử dụng để sao chép an toàn các tập tin và thư mục giữa máy chủ cục bộ và máy chủ từ xa trong môi trường Linux. Bạn sẽ khám phá cú pháp cơ bản của lệnh scp và học cách sao chép các tập tin từ máy chủ cục bộ sang máy chủ từ xa, cũng như từ máy chủ từ xa sang máy chủ cục bộ. Ngoài ra, bạn sẽ học cách sử dụng lệnh scp với các tùy chọn nâng cao hơn để sao chép các tập tin và thư mục giữa máy chủ cục bộ và máy chủ từ xa.

Lab này bao gồm các điểm chính sau:

  1. Giới thiệu về lệnh scp và cách sử dụng nó
  2. Sao chép tập tin giữa máy chủ cục bộ và máy chủ từ xa bằng lệnh scp
  3. Sao chép đệ quy thư mục bằng lệnh scp

400+ câu lệnh phổ biến trong Linux