Copy file Linux – Các phương pháp và câu lệnh | Việt Nét
Copy file và thư mục là một trong những tác vụ phổ biến nhất mà bạn sẽ thực hiện khi làm việc với dòng lệnh. Có một số lệnh để copy file Linux. cp và rsync là những công cụ được sử dụng rộng rãi nhất. Lệnh cp để copy file và rsync để copy thư mục.
Điều kiện để copy file Linux
Để có thể copy file và thư mục trong Linux, ít nhất bạn phải có quyền đọc trên file “source” và quyền ghi trên thư mục “destination”.

Sau khi đáp ứng được điều kiện trên bạn có thể copy file và thư mục với các lệnh copy file trong linux sau đây.
Copy file Linux file bằng lệnh cp
Trên hệ điều hành Linux và Unix, lệnh cp được sử dụng để copy file và thư mục.

Trường hợp sử dụng đơn giản nhất là copy một file trong thư mục làm việc hiện tại. Ví dụ: để copy file có tên file.txt vào file có tên file_backup.txt trong thư mục hiện tại, bạn sẽ chạy lệnh sau:
$ cp file.txt file_backup.txt
Nếu destination file tồn tại, nó sẽ bị ghi đè. Để nhận được lời nhắc xác nhận trước khi ghi đè các file, hãy sử dụng option -i
$ cp -i file.txt file_backup.txt
Theo mặc định, khi sử dụng lệnh cp để copy file, file mới sẽ thuộc quyền sở hữu của user thực hiện lệnh. Sử dụng option -p để duy trì file mode, ownership, và timestamps:
$ cp -p file.txt file_backup.txt
Một option khác có thể hữu ích là -v. Khi sử dụng option này, lệnh sẽ in những gì đang được thực hiện:
$ cp -v file.txt file_backup.txt
Kết quả trả về
'file.txt' -> 'file_backup.txt'
Copy file Linux vào thư mục #
Để copy một file vào một thư mục, hãy chỉ rõ đường dẫn tuyệt đối hoặc tương đối đến thư mục. Khi bỏ qua thư mục destination, file sẽ được copy vào thư mục hiện tại.
Trong ví dụ sau, chúng tôi đang copy file file.txt vào thư mục / backup:
cp file.txt /backup
Khi chỉ xác định tên thư mục làm destination, file được copy sẽ có cùng tên với file gốc.
Nếu bạn muốn copy file dưới một tên khác, bạn cần chỉ định tên file mong muốn:
cp file.txt /backup/new_file.txt
Lệnh trên sẽ copy file vào thư mục được chỉ định dưới dạng
new_file.txt.
Sao chép nhiều file #
Để copy nhiều file và thư mục cùng một lúc, hãy chỉ định tên của file “source” và thư mục theo sau với thư mục “destination” làm đối số cuối cùng:
cp file.txt dir file1.txt file2.txt dir1
Khi copy nhiều file, destination phải là một thư mục.
Lệnh cp cũng cho phép bạn sử dụng pattern matching. Ví dụ: để copy tất cả các file .png từ thư mục hiện tại vào thư mục / backup, bạn sẽ sử dụng:
$ cp *.png /backup
Copy thư mục bằng lệnh cp

Để copy một thư mục, bao gồm tất cả các file và thư mục con của nó, hãy sử dụng option -R hoặc -r. Trong ví dụ sau, chúng tôi đang copy thư mục Pictures vào Pictures_backup:
cp -R Pictures Pictures_backup
Lệnh trên sẽ tạo thư mục “destination” và copy đệ quy tất cả các file và thư mục con từ “source” sang thư mục “destination”.
Nếu thư mục “destination” đã tồn tại, thì bản thân thư mục “source” và nội dung của nó sẽ được copy vào thư mục “destination”. Để chỉ copy các file và thư mục con nhưng không copy thư mục “destination”, sử dụng option –T:
cp -RT Pictures Pictures_backup
Các option được sử dụng khi copy file cũng có thể được sử dụng khi copy thư mục. Sự khác biệt chính là khi copy thư mục, bạn cần sử dụng option -R.
Copy file Linux và thư mục bằng lệnh rsync
rsync là một tiện ích dòng lệnh linh hoạt và nhanh chóng, đồng bộ hóa các file và thư mục giữa hai vị trí. Nó có thể được sử dụng để copy các file đến các vị trí cục bộ và từ xa.
rsync bao gồm nhiều option. Option hữu ích nhất là -a sao chép đệ quy các folder, chuyển các thiết bị đặc biệt và thiết bị chặn và giữ các symbolic links, thời gian sửa đổi, nhóm, quyền sở hữu và quyền.
Để copy một file đơn lẻ từ một file sang vị trí khác, bạn sẽ chạy lệnh sau:
rsync -a file.txt file_backup.txt
Nếu như file “destination” tồn tại, rsync sẽ ghi đè lên nó.
Lệnh tương tự có thể được sử dụng để copy một thư mục:
rsync -a /var/www/public_html/ /var/www/public_html_backup/
rsync ảnh hưởng đến các thư mục “source” bằng cách kết thúc bằng dấu gạch chéo / khác nhau. Nếu bạn thêm dấu gạch chéo vào thư mục “source”, lệnh sẽ chỉ copy nội dung của thư mục “source” vào thư mục “destination”. Khi bỏ qua dấu gạch chéo, rsync sẽ copy thư mục “source” bên trong thư mục “destination”. Option an toàn nhất là luôn bao gồm dấu gạch chéo / ở cuối trên cả “destination” và “source”.
Lời Kết
Trên đây là hướng dẫn để copy file Linux. Hu vọng bạn đã có thể thực hiện copy file và thư mục trên Linux với các phương pháp và câu lệnh ở trên. Việt Nét xin chúc bạn thành công!
Ngoài ra, khi sử dụng dịch vụ VPS và Hosting, quý khách sẽ được tặng bộ Theme & Plugin WordPress bản quyền trị giá đến 800$/năm. Đăng ký dùng thử ngay và Việt Nét sẽ hoàn tiền 100% nếu quý khách không hài lòng với chất lượng sản phẩm, dịch vụ! Nếu bạn có thắc mắc hay có vấn đề cần hỗ trợ, bạn có thể liên hệ trực tiếp với Việt Nét thông qua các kênh sau: