Lệnh cp trong Linux dùng để sao chép tập tin hoặc thư mục từ vị trí này sang vị trí khác một cách dễ dàng. Bạn có thể sao chép một tập tin đơn lẻ, nhiều tập tin cùng lúc, hoặc thậm chí toàn bộ thư mục với các tùy chọn khác nhau. Hãy sử dụng cp để tạo bản sao dự phòng hoặc di chuyển dữ liệu giữa các thư mục một cách nhanh chóng.
Lệnh cp trong linux là gì?
Lệnh command cp in linux là một công cụ mạnh mẽ dùng để sao chép tập tin hoặc thư mục từ vị trí này sang vị trí khác trên hệ thống. Nó cho phép bạn tạo bản sao của dữ liệu mà không làm thay đổi bản gốc, đảm bảo an toàn cho thông tin quan trọng. Bạn có thể sử dụng lệnh này để sao chép một tập tin đơn lẻ, nhiều tập tin cùng lúc, hoặc thậm chí toàn bộ cấu trúc thư mục một cách dễ dàng. Việc sử dụng các tùy chọn khác nhau của lệnh cp giúp bạn kiểm soát quá trình sao chép, ví dụ như bảo toàn quyền truy cập hoặc ghi đè các tập tin đã tồn tại. Hãy nhớ rằng, việc hiểu rõ cách sử dụng lệnh cp là rất quan trọng để quản lý tập tin hiệu quả trong môi trường Linux.
Tìm hiểu những điều cơ bản về lệnh cp
Trong bước này, bạn sẽ học cách sử dụng cơ bản lệnh cp trong Linux.
Lệnh cp được dùng để sao chép các file và thư mục từ vị trí này sang vị trí khác.
Hãy bắt đầu bằng việc tạo một file mẫu trong thư mục ~/project:
touch ~/project/sample.txt
Bây giờ, hãy sao chép file sample.txt sang một file mới tên là copy_of_sample.txt:
cp ~/project/sample.txt ~/project/copy_of_sample.txt
Ví dụ về đầu ra:
Cú pháp cơ bản của lệnh cp như sau:
cp [options] source_file destination_file
Trong đó, source_file là file bạn muốn sao chép, và destination_file là file mới sẽ được tạo.
Bạn cũng có thể dùng lệnh cp để sao chép các thư mục, hãy tạo thư mục tên dir1 và sao chép nó sang dir2:
mkdir ~/project/dir1
cp -r ~/project/dir1 ~/project/dir2
Option -r được dùng để sao chép thư mục một cách đệ quy, bao gồm tất cả các file và thư mục con bên trong.
Ví dụ về đầu ra:
Đó là cách sử dụng cơ bản của lệnh cp, bạn sẽ học thêm các tính năng nâng cao trong các bước tiếp theo.
Ví dụ như bảo toàn thuộc tính file và dấu thời gian khi dùng lệnh cp.
Sao chép Tệp và Thư mục bằng Lệnh cp
Trong bước này, bạn sẽ học cách sao chép tệp và thư mục bằng lệnh cp.
Chúng ta sẽ tìm hiểu cả cách sao chép nhiều tệp và thư mục cùng một lúc một cách dễ dàng.
Hãy bắt đầu bằng việc tạo một vài tệp và thư mục mẫu trong thư mục ~/project:
touch ~/project/file1.txt ~/project/file2.txt
mkdir ~/project/dir1 ~/project/dir2
Bây giờ, hãy cùng nhau sao chép nhiều tệp cùng một lúc để tiết kiệm thời gian:
cp ~/project/file1.txt ~/project/file2.txt ~/project/dir1
Lệnh này sẽ sao chép file1.txt và file2.txt vào thư mục dir1.
Ví dụ về đầu ra:
Bạn cũng có thể sao chép toàn bộ thư mục và nội dung của nó bằng tùy chọn -r (recursive).
cp -r ~/project/dir1 ~/project/dir3
Lệnh này sẽ tạo một thư mục mới tên là dir3 và sao chép tất cả nội dung từ dir1 vào đó.
Ví dụ về đầu ra:
Nếu bạn muốn sao chép một thư mục và đổi tên nó cùng lúc, hãy sử dụng cú pháp sau:
cp -r ~/project/dir1 ~/project/dir4
Lệnh này sẽ tạo thư mục mới dir4 và sao chép toàn bộ nội dung của dir1 vào thư mục này.
Ví dụ về đầu ra:
Như bạn thấy, lệnh cp cung cấp một cách linh hoạt để sao chép tệp và thư mục trong Linux.
Trong bước tiếp theo, bạn sẽ học cách giữ lại các thuộc tính và dấu thời gian của tệp khi sao chép.
Giữ Thuộc Tính và Dấu Thời Gian của Tệp với Lệnh cp
Trong bước này, bạn sẽ học cách giữ thuộc tính và dấu thời gian khi sao chép tệp bằng lệnh cp.
Mặc định, lệnh cp sẽ sao chép nội dung tệp, nhưng có thể không giữ lại thuộc tính và dấu thời gian gốc.
Để giữ lại chúng, bạn có thể sử dụng tùy chọn -p (preserve) của lệnh cp.
Hãy tạo một tệp mẫu với các thuộc tính và dấu thời gian cụ thể để thực hành nhé.
touch -a -m -t 202304010000 ~/project/sample.txt
Lệnh này sẽ tạo tệp sample.txt với thời gian truy cập và sửa đổi được đặt thành 00:00 ngày 1 tháng 4 năm 2023.
Bây giờ, hãy sao chép tệp trong khi vẫn giữ nguyên các thuộc tính và dấu thời gian của nó.
cp -p ~/project/sample.txt ~/project/copy_of_sample.txt
Ví dụ về đầu ra:
Để xác minh rằng các thuộc tính và dấu thời gian đã được giữ lại, bạn có thể dùng lệnh ls -l.
ls -l ~/project/sample.txt ~/project/copy_of_sample.txt
Ví dụ về đầu ra:
-rw-r--r-- 1 labex labex 0 Apr 1 00:00 ~/project/sample.txt
-rw-r--r-- 1 labex labex 0 Apr 1 00:00 ~/project/copy_of_sample.txt
Như bạn thấy, thời gian truy cập và sửa đổi của tệp đã sao chép giống với tệp gốc.
Tùy chọn -p giữ lại các thuộc tính sau của tệp khi sao chép:
- Quyền sở hữu
- Quyền hạn
- Dấu thời gian (truy cập, sửa đổi và thay đổi)
- Ngữ cảnh bảo mật SELinux (nếu có)
Điều này rất hữu ích khi bạn cần duy trì các thuộc tính gốc của tệp trong quá trình sao chép.
Trong bước tiếp theo, chúng ta sẽ tóm tắt những gì bạn đã học về lệnh cp.
Kết luận cho linux cp command
Vậy là chúng ta đã cùng nhau khám phá lệnh cp, một công cụ vô cùng hữu ích trong thế giới Linux. Hy vọng qua bài viết này, bạn đã nắm vững cách sử dụng linux cp command để sao chép tập tin và thư mục một cách hiệu quả. Đừng ngần ngại thử nghiệm các tùy chọn khác nhau để hiểu rõ hơn về sức mạnh của nó. Việc thực hành thường xuyên sẽ giúp bạn làm quen và sử dụng lệnh này một cách thành thạo hơn. Chúc bạn thành công trên hành trình khám phá Linux và đừng quên rằng lệnh cp luôn sẵn sàng hỗ trợ bạn trong việc quản lý tập tin nhé. Hãy nhớ rằng, việc sao lưu dữ liệu thường xuyên là một thói quen tốt để bảo vệ thông tin quan trọng của bạn. Chúc bạn có những trải nghiệm tuyệt vời với Linux!