Hướng dẫn
Quảng cáo

Cách sử dụng lệnh cp để sao chép file trong Linux

Bạn đang cần sao chép các file và folder trong Linux bằng terminal? Bài này sẽ hướng dẫn bạn cách sử dụng lệnh cp để copy tệp tin và thư mục trong Linux

Nhiều lúc để copy nhanh các file và thư mục (folder) trong Linux bạn nên sử dụng lệnh cp. Hãy cùng học cách sử dụng cp và tận dụng các tùy chọn tiện dụng của nó để giúp các công việc sao chép của bạn an toàn hơn.

1. Lệnh cp trong Linux có tác dụng gì?

Lệnh cp là một tiện ích dòng lệnh cho các hệ thống Unix và Linux có khả năng sao chép cả file và thư mục, cp có sẵn trên hầu hết mọi bản phân phối Linux. Bạn sẽ thấy nó được nhắc đến thường xuyên trong các hướng dẫn để hoàn thành các tác vụ quản lý file trong Linux.

Cú pháp của nó rất đơn giản và dễ sử dụng nhất nếu bạn mở terminal trong (hoặc cd tới) thư mục chứa các file bạn muốn sao chép.

2. Cú pháp lệnh cp trong Linux

Cú pháp của cp yêu cầu bạn chỉ cần chỉ định nguồn hoặc các nguồn (file hoặc thư mục bạn muốn sao chép) và đích (thư mục hoặc tên file cho các bản sao).

cp [options] >source>... >destination>

Lệnh của bạn có thể chứa nhiều nguồn, nhưng chỉ có thể có một đích. Đích đến có thể là một thư mục khác, một tên file mới hoặc cả hai.

3. Cách sao chép tập tin (file) bằng cp

Nếu bạn muốn sao chép một file trong cùng một thư mục, nhưng có tên khác, hãy sử dụng lệnh như sau:

cp file.pdf newfile.pdf

Để làm điều tương tự, nhưng sao chép tới một thư mục con, hãy sử dụng một lệnh như sau:

cp file.pdf newfolder/newfile.pdf

Lệnh trên giả sử bạn có một thư mục con tên là newfolder trong thư mục hiện tại của bạn.

Nếu bạn không muốn đặt tên mới cho file, chỉ cần chỉ định thư mục chứ không cần phải tên file trong đích:

cp file.pdf newfolder

Để sao chép nhiều file với cp, chỉ cần viết tất cả các file bạn muốn sao chép, phân tách bằng dấu cách, trước khi gõ đích:

cp file1.doc file2.xls file3.pdf newfolder

Để tiết kiệm thời gian sao chép nhiều file, bạn có thể sử dụng wildcard tag, dấu (*) để tự động sao chép tất cả các file trong thư mục có cùng một phần mở rộng (extension), bằng cách gõ lệnh tương tự như ví dụ dưới đây:

cp *.txt newfolder

Lệnh trên sẽ tìm tất cả các file kết thúc bằng .txt trong thư mục hiện tại và sao chép chúng vào thư mục newfolder.

Tất nhiên, điều này chỉ hữu ích nếu tất cả hoặc hầu hết các file bạn muốn sao chép có cùng một phần mở rộng hoặc một số điểm chung khác trong tên file.

4. Sử dụng lệnh cp để sao chép thư mục (folder)

Nếu bạn muốn một thư mục và tất cả nội dung của nó được sao chép sang một vị trí mới, bạn sẽ cần chỉ định tùy chọn -R. Đây là một ví dụ:

cp -R folder newfolder

Lệnh trên sẽ sao chép thư mục folder và đặt bản sao bên trong một thư mục có tên newfolder.

Nếu bạn muốn sao chép nội dung của một thư mục, nhưng không phải chính thư mục đó, bạn sẽ cần sử dụng tùy chọn -T :

cp -RT folder newfolder

5. Những tùy chọn hữu ích của lệnh cp

Các tùy chọn thường được sử dụng này cho lệnh cp chủ yếu sẽ có tác dụng nếu bạn lo lắng về khả năng có thể bị ghi đè hoặc xung đột thuộc tính file.

Bạn sẽ nhận thấy trong các lệnh trước đó rằng bạn không nhận được thông báo nào từ terminal xác nhận rằng có bất kỳ điều gì đã xảy ra. Để xem điều gì đang xảy ra, hãy sử dụng tùy chọn -v :

cp -v file.pdf newfile.pdf

Nếu lo lắng về việc vô tình ghi đè, bạn có thể đặt tùy chọn -i để luôn yêu cầu xác nhận khi có xung đột tên file. Ví dụ:

cp -i file.pdf newfile.pdf

Với lệnh trên, nếu file có tên newfile.pdf đã xuất hiện, cp sẽ hỏi bạn có chắc chắn muốn ghi đè lên file đó không.

Bạn cũng có thể duy trì các thuộc tính file, chẳng hạn như quyền sở hữu của người dùng, chế độ file và ngày sửa đổi, với tùy chọn -p :

cp -p file.pdf newfile.pdf

Tùy chọn trên có tác dụng nếu bạn có nhiều người dùng trên hệ thống của mình hoặc nếu bạn có một hoạt động đồng bộ hóa khác cần lưu ý đến ngày sửa đổi file.

6. Kết luận

Giờ đây, bạn đã biết cách sử dụng cp để sao chép file một cách dễ dàng và an toàn, và bạn đã thực hiện một bước quan trọng để sử dụng dòng lệnh Linux một cách thoải mái và linh hoạt.

Bài viết này đã giúp ích cho bạn?

Bài viết mới

Advertisements