Cách sao chép tệp và thư mục trong Linux

  • Wednesday 21/02/2024

Cách sao chép tệp và thư mục trong Linux

Sao chép tập tin và thư mục trong Linux là một nhiệm vụ quản trị thiết yếu. Bản sao là công cụ để sao lưu các tệp quan trọng hoặc chuyển chúng sang một vị trí khác, chẳng hạn như thiết bị lưu trữ dữ liệu.

Lệnh cp rất hữu ích cho các nhu cầu sao chép cơ bản, trong khi rsync vượt trội hơn ở các tác vụ phức tạp, chẳng hạn như sao chép có chọn lọc các tệp cụ thể hoặc tạo bản sao lưu toàn hệ thống.

Tìm hiểu cách sao chép tệp và thư mục trong Linux bằng lệnh cp và rsync.

 

Điều kiện tiên quyết

– Một hệ thống Linux.
– Truy cập vào cửa sổ dòng lệnh/thiết bị đầu cuối.

 

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

Lệnh cp là phương thức chính để sao chép các tệp và thư mục trong hệ thống tệp Linux cục bộ. Cú pháp lệnh cơ bản là:

cp [tùy chọn] [nguồn] [đích]

Nguồn là tệp hoặc thư mục bạn muốn sao chép, trong khi đích là vị trí đặt bản sao. Đích có thể là đường dẫn thư mục hoặc tên tệp mới nếu tệp cần được đổi tên.

Sử dụng các tùy chọn lệnh cp được liệt kê bên dưới để chỉ định các tùy chọn khác nhau:

Tùy chọn Miêu tả
-v Hiển thị thông tin bổ sung về quá trình sao chép.
-p Buộc hệ thống duy trì các thuộc tính của tệp nguồn (thời gian sửa đổi, thời gian truy cập, ID người dùng (UID), ID nhóm (GID), cờ tệp, chế độ tệp, danh sách kiểm soát truy cập (ACL) và thuộc tính mở rộng (EA)).
-f Nếu tệp/thư mục đích tồn tại, hãy thay thế nó bằng nguồn.
-i Nhắc xác nhận trước khi ghi đè một tập tin.
-r Sao chép tất cả các tập tin trong một thư mục.
-u Chỉ thay thế các tập tin nếu chúng đáp ứng điều kiện cập nhật. Ví dụ: khi tệp đích không tồn tại hoặc khi tệp nguồn mới hơn tệp đích.

 

Cách sao chép một tập tin

Nhập lệnh sau để sao chép một tệp trong thư mục làm việc hiện tại:

cp my_file.txt my_file2.txt

Hệ thống không cung cấp đầu ra. Sử dụng lệnh ls để xác nhận rằng tệp đã được sao chép.

 

Theo mặc định, lệnh cp chạy trong cùng thư mục mà bạn đang làm việc. Tuy nhiên, cùng một tệp không thể tồn tại hai lần trong cùng một thư mục.

Bạn phải thay đổi tên của tệp mục tiêu để sao chép nó vào cùng một vị trí. Bạn có thể thêm _old vào tên hoặc số hoặc thay đổi phần mở rộng (ví dụ: .bak thay vì .txt).

Lưu ý: Lệnh cp trong Linux không đưa ra cảnh báo trước khi ghi đè các tệp hiện có. Sử dụng tùy chọn –i để hệ thống nhắc nhở bạn trước khi ghi đè một tập tin.

Nhập lệnh sau để sao chép tệp từ thư mục làm việc hiện tại sang thư mục khác:

cp -v my_file.txt path/to/destination

Thay thế path/to/destination bằng đường dẫn thư mục thực tế. Tùy chọn -v hiển thị thông tin bổ sung về quá trình sao chép.

Lệnh không thành công nếu thư mục đích không tồn tại docpkhông tạo thư mục.

Lưu ý: Tìm hiểu cách tạo thư mục trong Linux bằng lệnh mkdir.

Sử dụng lệnh sau để sao chép một tệp vào một thư mục khác và đổi tên nó:

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

Để sao chép tệp mà không phải thay đổi thư mục, hãy chỉ định đường dẫn cho tệp nguồn và thư mục đích:

cp -v ~/Documents/my_file.txt path/to/destination

Thay thế đường dẫn ví dụ trong lệnh bằng đường dẫn thực tế trên hệ thống của bạn.

Trong ví dụ này, tùy chọn -v được sử dụng để xác minh rằng tệp đã được sao chép thành công

 

Cách sao chép nhiều tập tin

Để sao chép nhiều tệp cùng một lúc, hãy liệt kê từng tệp sẽ được sao chép trước khi vào thư mục đích:

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

Hệ thống tạo một bản sao của cả ba tệp trong thư mục đích.

Ký tự đại diện (*) cho phép người dùng chỉ định các tệp có chung một chuỗi ký tự. Lệnh sau tìm tất cả các tệp có phần mở rộng .jpg trong thư mục ảnh và sao chép chúng vào thư mục đích:

cp ~/pictures/*.jpg path/to/destination

Nếu một trong các tệp hoặc thư mục yêu cầu quyền root hoặc cấp cao hơn, hãy sử dụng lệnh sudo để tạm thời nâng cao đặc quyền.

 

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

Để sao chép toàn bộ thư mục cũng như các thư mục con và tệp của nó, hãy sử dụng tùy chọn –r. Lệnh sau sao chép tất cả các tệp và thư mục từ thư mục Documents sang thư mục new_destination:

cp -r ~/Documents path/to/new_destination

Tùy chọn -r là viết tắt của đệ quy, có nghĩa là ‘mọi thứ ở vị trí đó’.

Lưu ý: Để thay thế cho việc sao chép thư mục, hãy tìm hiểu cách di chuyển thư mục trong Linux.

 

Sao chép tập tin bằng lệnh rsync

Lệnh rsync trong Linux đồng bộ hóa hoặc truyền dữ liệu giữa hai vị trí. Cách sử dụng tương tự như lệnh cp, nhưng trong khi cp chỉ sao chép các tập tin cục bộ. Để truyền tệp và thư mục sang hệ thống từ xa, bạn có thể sử dụng rsync qua SSH. Công cụ này tiết kiệm băng thông và truyền tệp nhanh hơn bằng cách nén chúng và chỉ truyền các tệp mới hoặc cập nhật.

Ngoài ra, rsync tạo một thư mục mới nếu phần cuối cùng của đường dẫn đích chỉ định một vị trí không tồn tại.

 

Cách sao chép một tệp bằng rsync

Để sao chép một tệp sang thư mục khác trên máy cục bộ, hãy nhập đường dẫn đầy đủ của tệp nguồn, theo sau là thư mục đích:

rsync -av ~/Documents/my_file.txt ~/destination/backups/

Thay thế đường dẫn nguồn và đích /destination/backups/ từ ví dụ bằng đường dẫn thực tế và thư mục đích của hệ thống của bạn.

Tùy chọn -a hướng dẫn rsync bảo toàn siêu dữ liệu của tệp và các thuộc tính khác như quyền và dấu thời gian. Tùy chọn -v cung cấp đầu ra chi tiết về quá trình truyền tệp.

 

Cách sao chép thư mục bằng rsync

Trong ví dụ này, rsync được sử dụng để sao chép nội dung của thư mục /home/phoenixnap/anaconda3/doc/config/ sang /home/phoenixnap/backups/anaconda3/:

rsync -av /home/phoenixnap/anaconda3/doc/config/ /home/phoenixnap/backups/anaconda/

Dấu gạch chéo (/) ở cuối đường dẫn nguồn và đích đảm bảo bạn chỉ sao chép nội dung của thư mục nguồn. Bỏ dấu gạch chéo trên thư mục nguồn sẽ tạo một thư mục con mới trong thư mục đích.

Để ngăn việc sao chép các tệp cụ thể, hãy xem hướng dẫn của chúng tôi về cách sử dụng rsync để loại trừ các tệp và thư mục khỏi quá trình truyền dữ liệu.

 

Bây giờ bạn đã biết cách sao chép tệp trong hệ thống tệp Linux cục bộ. Lệnh cp và rsync là những công cụ linh hoạt và mạnh mẽ để quản lý và sao lưu tệp, đặc biệt khi kết hợp với các lệnh Linux thiết yếu khác.

 

——————————————————————————————————————————————————–

P.A Việt Nam tiên phong trong thị trường Internet & Web.
Là nhà đăng ký tên miền lớn nhất Việt Nam. Chuyên nghiệp trong lĩnh vực Tên miền, Website, Email, Server, Thiết kế Web.

Thông tin kiến thức vps-dedicated-colocation tại: https://kb.pavietnam.vn/category/vps-dedicated-colocation
Đăng ký dịch vụ P.A Việt Nam: https://www.pavietnam.vn/
P.A Việt Nam cung cấp đa dạng cấu hình VPS và Dedicated tại: Cloud Server –  Cloud Server Pro  –  Máy Chủ Riêng
Tham khảo các Ưu đãi hiện có tại: https://www.pavietnam.vn/vn/tin-khuyen-mai/
Facebook: https://www.facebook.com/pavietnam.com.vn

 

Rate this post