Nội dung
Khi làm việc trên hệ thống Linux và Unix, việc sao chép tập tin và thư mục là một trong những công việc phổ biến mà bạn thường xuyên thực hiện hàng ngày.
cp
là một tiện ích dòng lệnh được sử dụng để sao chép tập tin và thư mục trên các hệ thống Unix và Linux.
Trong bài viết này, chúng tôi sẽ giải thích cách sử dụng lệnh “cp”.
Cách sử dụng lệnh “cp”
Cú pháp chung cho lệnh “cp” là như sau:
cp [TÙY CHỌN] NGUỒN... ĐÍCH
Đối số NGUỒN có thể chứa một hoặc nhiều tập tin hoặc thư mục, và đối số ĐÍCH có thể là một tập tin hoặc thư mục.
- Khi cả NGUỒN và ĐÍCH đều là các tập tin, lệnh “cp” sẽ sao chép tập tin đầu tiên vào tập tin thứ hai. Nếu tập tin không tồn tại, lệnh sẽ tạo nó.
- Khi NGUỒN có nhiều tập tin hoặc thư mục, ĐÍCH phải là một thư mục. Trong trường hợp này, các tập tin và thư mục từ NGUỒN sẽ được chuyển đến thư mục ĐÍCH.
- Khi cả NGUỒN và ĐÍCH đều là các thư mục, lệnh “cp” sẽ sao chép thư mục đầu tiên vào thư mục thứ hai.
Để sao chép tập tin và thư mục, bạn cần ít nhất quyền đọc đối với tập tin nguồn và quyền ghi đối với thư mục đích. Ngược lại, một thông báo lỗi về quyền truy cập sẽ được hiển thị.
Sao chép Tập tin với lệnh “cp”
Tình huống cơ bản nhất khi sử dụng lệnh “cp” là sao chép một tập tin trong thư mục làm việc hiện tại. Ví dụ, để sao chép một tập tin có tên là file.txt thành file_backup.txt, bạn có thể chạy lệnh sau:
cp file.txt file_backup.txt
hoặc:
cp file{,_backup}
Để sao chép một tập tin vào một thư mục khác, hãy chỉ định đường dẫn tuyệt đối hoặc tương đối đến thư mục đích.
Khi chỉ có tên thư mục được chỉ định làm đích, tập tin sao chép sẽ có cùng tên với tập tin gốc.
Trong ví dụ sau, chúng ta đang sao chép tập tin file.txt vào thư mục /backup:
cp file.txt /backup
Nếu bạn muốn sao chép tập tin dưới một tên khác, bạn cần chỉ định tên tập tin mong muốn. Lệnh dưới đây sẽ sao chép tập tin vào thư mục được chỉ định với tên mới_file.txt.
cp file.txt /backup/new_file.txt
Mặc định, nếu tập tin đích tồn tại, nó sẽ bị ghi đè. Tùy chọn -n nói với “cp” không ghi đè lên một tập tin đã tồn tại.
Để buộc “cp” yêu cầu xác nhận trước khi ghi đè, sử dụng tùy chọn -i.
cp -i file.txt file_backup.txt
Nếu bạn chỉ muốn sao chép tập tin nếu nó mới hơn tập tin đích, sử dụng tùy chọn -u:
cp -u file.txt file_backup.txt
Khi sao chép một tập tin, tập tin mới sẽ thuộc sở hữu của người dùng thực hiện lệnh. Sử dụng tùy chọn -p để bảo toàn chế độ tập tin, quyền sở hữu và dấu thời gian:
cp -p file.txt file_backup.txt
Một tùy chọn khác có thể hữu ích là -v, nó cho phép “cp” in ra thông tin chi tiết:
cp -v file.txt file_backup.txt
Sao chép Thư mục với lệnh “cp”
Để sao chép một thư mục, bao gồm tất cả các tập tin và thư mục con của nó, sử dụng tùy chọn -R hoặc -r.
Trong ví dụ sau, chúng ta đang sao chép thư mục Pictures vào Pictures_backup:
cp -R Pictures Pictures_backup
Lệnh trên tạo thư mục đích và sao chép đệ quy tất cả các tập tin và thư mục con từ nguồn vào thư mục đích.
Nếu thư mục đích đã tồn tại, chính thư mục nguồn và nội dung của nó sẽ được sao chép vào bên trong thư mục đích.
Để chỉ sao chép các tập tin và thư mục con mà không sao chép thư mục nguồn, sử dụng tùy chọn -T:
cp -RT Pictures Pictures_backup
Một cách khác để chỉ sao chép nội dung của thư mục mà không sao chép thư mục chính là sử dụng ký tự đại diện dấu sao (*). Nhược điểm của lệnh dưới đây là nó không sao chép các tập tin và thư mục ẩn (bắt đầu bằng dấu chấm .):
cp -RT Pictures/* Pictures_backup/
Tất cả các tùy chọn chúng ta đã sử dụng trong phần trước khi sao chép tập tin cũng có thể được sử dụng khi sao chép thư mục. Sự khác biệt chính là khi sao chép thư mục, bạn luôn cần sử dụng tùy chọn -R.
Sao Chép Nhiều Tập Tin và Thư Mục
Để sao chép nhiều tập tin và thư mục cùng một lúc, chỉ định tên của chúng và sử dụng thư mục đích làm đối số cuối cùng:
cp file.txt dir file1.txt dir1
Khi sao chép nhiều tập tin, đích phải là một thư mục.
Kết luận
Sao chép tập tin và thư mục bằng lệnh cp là một công việc đơn giản. Để biết thêm thông tin về các tùy chọn cp có sẵn, gõ man cp trong terminal của bạn.
Để sao chép tập tin qua mạng, bạn có thể sử dụng các tiện ích rsync và scp.
Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:
- Hotline 247: 028 888 24768
- Ticket/Email: Bạn dùng email đăng ký dịch vụ gửi trực tiếp về: support@azdigi.com.