Tìm kiếm
Blog

Lệnh copy trong Linux – Hướng dẫn cách sử dụng chi tiết

19/09/2024

Bài viết nổi bật

lệnh copy trong Linux

Lệnh copy trong Linux đóng vai trò quan trọng trong việc quản lý dữ liệu, đặc biệt là khi bạn cần sao chép file hoặc thư mục. Dù là người mới hay đã có kinh nghiệm với Linux, thì việc hiểu rõ cách sử dụng lệnh copy sẽ giúp bạn quản lý dữ liệu nhanh chóng và chính xác. Hãy cùng HyperCore khám phá hướng dẫn chi tiết cách sử dụng lệnh copy trong Linux qua bài viết dưới đây.

1. Cách sao chép tệp trong Linux bằng lệnh cp

Trong Linux, lệnh cp (copy) là công cụ được sử dụng để sao chép file hoặc thư mục từ vị trí này sang vị trí khác. Cách sử dụng cơ bản của lệnh cp khá đơn giản, nhưng lệnh này cũng đi kèm với nhiều tùy chọn hữu ích giúp tùy chỉnh quá trình sao chép.

Cú pháp cơ bản của lệnh cp là: cp [tùy chọn] [nguồn] [đích]

Trong đó: 

  • Nguồn: Tệp hoặc thư mục bạn muốn sao chép.
  • Đích: Vị trí hoặc tên mới cho tệp hoặc thư mục.

1.1 Cách sao chép 1 tập tin 

Để sao chép một tập tin trong Linux bằng lệnh cp, bạn cần thực hiện theo cú pháp đơn giản sau: 

cp my_file.txt my_file2.txt

Lệnh này sẽ tạo một bản sao của tệp my_file.txt và đặt tên cho bản sao là my_file2.txt. Sau khi thực hiện lệnh, hãy gõ lệnh ls để liệt kê các tệp trong thư mục. Nếu tệp my_file2.txt xuất hiện, tức là quá trình sao chép đã thành công.

Bạn cần dùng lệnh sau đây để sao chép một tệp và đổi tên khi chuyển đến thư mục khác:

 cp my_file.txt path/to/destination/my_file2.txt

Lệnh này sẽ tạo một bản sao của “my_file.txt” và đặt tên là “my_file2.txt” trong thư mục “path/to/destination“. Ngược lại, nếu bạn muốn sao chép mà không đổi thư mục làm việc, hãy ghi rõ đường dẫn đầy đủ cho cả tệp nguồn và thư mục đích: cp -v ~/Documents/my_file.txt path/to/destination. Thay “path/to/destination” bằng đường dẫn thật của thư mục bạn muốn sao chép đến. Tùy chọn -v sẽ giúp hiển thị thông tin chi tiết về quá trình sao chép.

lệnh copy trong Linux

Cách sao chép 1 tập tin trong Linux bằng lệnh cp

Khi sao chép một tệp vào cùng một thư mục, hệ điều hành sẽ không tự động đổi tên tệp mới để tránh xung đột. Để ngăn chặn việc ghi đè lên tệp gốc, bạn có thể:

  • Đổi tên tệp mới: Thêm hậu tố _old, một số hoặc thay đổi phần mở rộng (ví dụ: từ .txt thành .bak) vào tên tệp mới.
  • Sử dụng tùy chọn -i: Thêm tùy chọn -i vào lệnh cp để hệ thống hỏi bạn có muốn ghi đè tệp hiện có hay không trước khi thực hiện thao tác.

1.2 Cách copy nhiều file cùng 1 lúc

Lệnh cp được sử dụng nhằm sao chép các tệp trong Linux. Để sao chép nhiều tệp cùng một lúc, bạn hãy thực hiện theo cú pháp:  cp file.txt dir file1.txt file2.txt dir1. Khi sao chép nhiều tệp, đích đến phải là một thư mục. Bạn có thể sử dụng ký tự (*) như một dấu hiệu đại diện để chọn nhiều tệp cùng lúc. Ví dụ, cp *.png /backup sẽ sao chép tất cả các tệp ảnh có định dạng PNG vào thư mục “backup“. 

lệnh copy trong Linux

Cách sao chép nhiều file cùng 1 lúc trong Linux bằng lệnh cp

1.3 Cách sao chép thư mục 

Để sao chép toàn bộ một thư mục và tất cả nội dung bên trong (bao gồm cả các thư mục con), bạn sử dụng lệnh cp kèm theo tùy chọn -r. Tùy chọn -r sẽ giúp bạn sao chép toàn bộ nội dung của thư mục. Ví dụ: cp -r ~/Documents path/to/new_destination sẽ sao chép toàn bộ thư mục Documents vào thư mục “Backup” trên ổ cứng ngoài. Nếu bạn muốn di chuyển thư mục thay vì sao chép, hãy sử dụng lệnh mv.

lệnh copy trong Linux

Cách sao chép thư mục trong Linux bằng lệnh cp

>>>> Xem Thêm: Các lệnh cơ bản trong Ubuntu

2. Copy directory trong Linux bằng lệnh cp 

Trong Linux, lệnh cp -R được sử dụng để sao chép đệ quy một thư mục và tất cả các nội dung bên trong nó. Tùy chọn -R (hoặc -r) cho phép lệnh sao chép không chỉ các tệp mà còn cả cấu trúc thư mục. Nếu thư mục đích chưa tồn tại, lệnh sẽ tự động tạo mới. Ngược lại, nếu thư mục đích đã có sẵn, các tệp và thư mục từ thư mục nguồn sẽ được sao chép vào đó, ghi đè lên các tệp có cùng tên nếu cần.

lệnh copy trong Linux

Copy directory trong Linux bằng lệnh cp

Cụ thể, để tạo một bản sao của thư mục “Documents” và đặt vào thư mục “Documents_backup“, bạn cần dùng lệnh:

cp -R Documents Documents_backup

Nếu thư mục Documents_backup chưa tồn tại, lệnh sẽ tự động tạo thư mục này. Ngược lại, nếu thư mục đích đã có sẵn, các tệp và thư mục từ Documents sẽ được sao chép vào thư mục đích mà không làm ảnh hưởng đến các tệp đã có sẵn trong đó.

>>>> Đọc Thêm: So sánh Debian và Ubuntu: Đâu là lựa chọn tốt nhất?

3. Copy file và thư mục trong Linux bằng lệnh rsync

Rsync là một công cụ dòng lệnh được ưa chuộng trong việc sao chép và đồng bộ hóa dữ liệu trên các hệ thống Unix-like. Bạn có thể sử dụng rsync để sao chép cả tệp tin và thư mục một cách nhanh chóng và hiệu quả.

Một trong những tính năng nổi bật của rsync là khả năng bảo toàn đầy đủ thông tin của tệp tin và thư mục gốc, bao gồm cả quyền truy cập, chủ sở hữu, thời gian sửa đổi và các liên kết tượng trưng. Điều này giúp đảm bảo rằng bản sao mới hoàn toàn giống với bản gốc. Đặc biệt, để sao chép toàn bộ một thư mục cùng với cấu trúc và các thuộc tính bên trong, bạn chỉ cần thêm tùy chọn “-a” vào lệnh rsync.

Minh họa: 

  • Để sao chép một tệp tin sang một vị trí mới, bạn có thể sử dụng lệnh sau: 

rsync -a file.txt file_backup.txt

Lệnh này sẽ tạo một bản sao của “file.txt” và đặt tên là “file_backup.txt”. Nếu tệp đích đã tồn tại, tệp tin này sẽ bị ghi đè lên.

lệnh copy trong Linux

Copy file và thư mục trong Linux bằng lệnh rsync

  • Khi sao chép toàn bộ một thư mục, bạn hãy thực hiện câu lệnh:

rsync -a /var/www/public_html/ /var/www/public_html_backup/

Lệnh trên sẽ sao chép tất cả các tệp và thư mục con trong “/var/www/public_html/ vào thư mục “/var/www/public_html_backup/”. Cần lưu ý rằng, dấu “/” ở cuối đường dẫn thư mục nguồn chỉ ra rằng bạn muốn sao chép toàn bộ nội dung của thư mục đó. Nếu bỏ qua dấu “/”, rsync sẽ tạo một thư mục con có tên giống với thư mục nguồn bên trong thư mục đích.

Qua bài viết HyperCore hy vọng rằng, bạn đã nắm vững cách sử dụng lệnh copy trong Linux cơ bản, cũng như các tùy chọn hữu ích để tối ưu hóa công việc của mình. Hãy thực hành thường xuyên để thành thạo câu lệnh này và khám phá tính ứng dụng của hệ điều hành Linux.

Khám Phá Thêm:

Chia sẻ bài viết

Hãy cho biết trải nghiệm của bạn với nội dung trên

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Danh sách đánh giá (0 đánh giá)