Lệnh scp trong Linux là một công cụ dòng lệnh mạnh mẽ để sao chép tệp tin an toàn giữa các máy tính thông qua SSH. Với scp, bạn có thể dễ dàng tải tệp lên máy chủ hoặc tải xuống từ máy chủ một cách bảo mật. Nó mã hóa dữ liệu trong quá trình truyền, bảo vệ thông tin của bạn khỏi bị chặn và đánh cắp.
Lệnh scp trong linux là gì?
Lệnh command scp in linux là một công cụ dòng lệnh mạnh mẽ, cho phép bạn sao chép tệp tin và thư mục một cách an toàn giữa các máy tính thông qua mạng. Nó sử dụng giao thức SSH để mã hóa dữ liệu, đảm bảo tính bảo mật trong quá trình truyền tải, tránh bị nghe lén. Với scp, bạn có thể dễ dàng tải tệp lên máy chủ từ xa hoặc tải xuống tệp từ máy chủ về máy tính cá nhân của mình. Cú pháp của lệnh khá đơn giản, chỉ cần chỉ định nguồn và đích của tệp cần sao chép là xong. Hãy nhớ rằng bạn cần có quyền truy cập SSH vào máy chủ đích để sử dụng lệnh scp thành công.
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), dùng để sao chép an toàn các file và thư mục giữa các máy chủ local và remote 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 cách thức 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 file đượ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 file hoặc thư mục local, hoặc một file hoặc thư mục remote được chỉ định theo định dạng user@host:path.
destination_file_or_directory cũng có thể là một vị trí local hoặc remote.
Ví dụ, để sao chép một file từ máy chủ local sang máy chủ remote, 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 file file.txt từ thư mục ~/project local sang thư mục /home/labex/project/ trên máy chủ remote.
Ví dụ về đầu ra:
file.txt 100% 123 0.1KB/s 00:00
Đầu ra cho thấy file đã được sao chép thành công vào máy chủ remote.
Tương tự, để sao chép một file từ máy chủ remote sang máy chủ local, 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 file file.txt từ thư mục /home/labex/project/ trên máy chủ remote sang thư mục ~/project/ local.
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 file và thư mục giữa các máy chủ local và remote với các tùy chọn nâng cao hơn.
Sao chép File giữa Local và Remote Host
Trong bước này, bạn sẽ học cách dùng lệnh scp để sao chép file giữa local và remote host.
Chúng ta bắt đầu bằng việc sao chép một file từ local host lên remote host nhé. Hãy chắc chắn bạn đang ở thư mục ~/project trên local host:
scp file.txt labex@remote_host:/home/labex/project/
Lệnh này sẽ sao chép file file.txt từ thư mục ~/project trên local lên thư mục /home/labex/project/ trên remote host một cách an toàn.
Ví dụ về output:
file.txt 100% 123 0.1KB/s 00:00
Bây giờ, hãy thử sao chép một file từ remote host về local host xem sao:
scp labex@remote_host:/home/labex/project/file.txt ~/project/
Lệnh này sẽ sao chép file file.txt từ thư mục /home/labex/project/ trên remote host về thư mục ~/project/ trên local một cách an toàn.
Ví dụ về output:
file.txt 100% 123 0.1KB/s 00:00
Bạn cũng có thể sao chép nhiều file cùng lúc bằng lệnh scp. Ví dụ, để sao chép hai file từ local host lên remote host:
scp file1.txt file2.txt labex@remote_host:/home/labex/project/
Lệnh này sẽ sao chép cả file1.txt và file2.txt từ thư mục ~/project trên local lên thư mục /home/labex/project/ trên remote host một cách an toàn.
Ví dụ về output:
file1.txt 100% 123 0.1KB/s 00:00
file2.txt 100% 456 0.4KB/s 00:00
Ở bước tiếp theo, bạn sẽ học cách dùng lệnh scp để sao chép đệ quy các thư mục giữa local và remote host.
Sao chép đệ quy thư mục với 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 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 cục bộ và thêm một vài tệp 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 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
Tiếp theo, hãy sao chép thư mục directory1 từ máy chủ từ xa về máy 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 vừa học cách sử dụng lệnh scp để sao chép đệ quy các thư mục giữa máy cục bộ và máy chủ từ xa.
Kết luận cho linux scp command
Vậy là bạn đã nắm vững những kiến thức cơ bản về lệnh scp trong Linux rồi đấy! Hy vọng hướng dẫn này giúp bạn dễ dàng hơn trong việc truyền tải dữ liệu giữa các máy chủ. Hãy nhớ, scp không chỉ đơn thuần là copy file, mà còn là một công cụ bảo mật, giúp bạn an tâm hơn khi làm việc từ xa. Thực hành thường xuyên với linux scp command sẽ giúp bạn làm quen và sử dụng thành thạo hơn. Đừng ngại thử nghiệm với các tùy chọn khác nhau để khám phá thêm nhiều tính năng hữu ích. Chúc bạn thành công và có những trải nghiệm tuyệt vời với Linux! Nếu có bất kỳ thắc mắc nào, đừng ngần ngại tìm kiếm thêm thông tin trên mạng hoặc tham khảo các tài liệu hướng dẫn khác nhé.