Những điểm chính
1. Copy file trong Linux bằng lệnh cp
Để copy file hoặc thư mục, bạn cần có quyền đọc (read) trên file gốc và quyền ghi (write) tại thư mục đích.
Trên Linux hoặc Unix, lệnh cơ bản để copy là cp.

Copy file trong cùng thư mục
Ví dụ bạn có file file.txt và muốn copy thành file mới file_backup.txt, dùng lệnh:
Nếu file đích đã tồn tại, nó sẽ bị ghi đè. Để nhận thông báo trước khi ghi đè, thêm tùy chọn -i:
Nếu muốn giữ nguyên quyền, chủ sở hữu và thời gian chỉnh sửa file, thêm tùy chọn -p:
Để hiển thị tiến trình khi copy, sử dụng -v:
Kết quả hiển thị:
‘file.txt’ → ‘file_backup.txt’
Copy file vào một thư mục khác
Khi copy file sang thư mục khác, cần chỉ định đường dẫn tới thư mục đích.
Ví dụ copy file jump2.sh vào thư mục Documents:
Nếu chỉ ghi tên thư mục, file sẽ được copy với tên giống như file gốc.
Trong trường hợp muốn đổi tên khi copy, nhập:
Lệnh này sẽ copy file jump2.sh vào thư mục /backup và đổi tên thành new_file.txt.
Copy nhiều file cùng lúc
Bạn có thể copy nhiều file bằng cách liệt kê tên các file và thư mục nguồn, sau đó chỉ định thư mục đích ở cuối lệnh:
Khi copy nhiều file, thư mục đích bắt buộc phải tồn tại.
Ngoài ra, lệnh cp còn hỗ trợ khớp mẫu.
Ví dụ copy tất cả file có đuôi .sh từ Desktop sang Documents:
2. Copy thư mục trong Linux bằng lệnh cp -R
Để copy toàn bộ thư mục, bao gồm tất cả file và thư mục con bên trong, sử dụng tùy chọn -R hoặc -r.
Ví dụ copy thư mục 2024 sang thư mục time:
Lệnh trên sẽ tạo thư mục đích nếu chưa tồn tại và copy toàn bộ nội dung từ thư mục nguồn vào đó.
Nếu thư mục đích đã tồn tại, thư mục nguồn cùng các nội dung bên trong sẽ được copy vào mà không cần tạo lại.
Các tùy chọn khác của cp như -i, -p, -v đều có thể dùng tương tự khi copy thư mục.
3. Copy file và thư mục trong Linux bằng lệnh rsync
rsync là công cụ dòng lệnh mạnh mẽ, được dùng để sao chép và đồng bộ dữ liệu giữa hai vị trí.
So với cp, lệnh rsync nhanh hơn, linh hoạt hơn và có thể giữ nguyên toàn bộ thuộc tính của file và thư mục.
Tùy chọn thường dùng nhất là -a (archive), giúp copy toàn bộ thư mục (theo kiểu đệ quy), giữ nguyên quyền, thời gian chỉnh sửa, quyền sở hữu, nhóm và liên kết tượng trưng (symlink).
Copy file bằng rsync
Nếu file đích đã có sẵn, rsync sẽ ghi đè lên.
Copy thư mục bằng rsync
Lưu ý khi dùng rsync
Nếu thêm dấu gạch chéo (/) sau tên thư mục nguồn, rsync sẽ chỉ copy nội dung bên trong thư mục đó.
Nếu không có dấu (/), rsync sẽ copy cả thư mục gốc vào thư mục đích.
Ví dụ:
Để tránh nhầm lẫn, nên luôn thêm dấu (/) ở cả thư mục nguồn và thư mục đích khi dùng rsync.