Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng lệnh cp
của Linux để sao chép các tệp và thư mục. Bạn sẽ bắt đầu bằng cách hiểu cách sử dụng cơ bản của lệnh cp
, bao gồm sao chép tệp và thư mục, sau đó khám phá các tính năng nâng cao hơn như giữ lại các thuộc tính và dấu thời gian của tệp. Lab bao gồm các ví dụ thực tế để giúp bạn thành thạo trong việc quản lý tệp và thư mục bằng lệnh cp
.
Lab được chia thành ba bước chính:
- Tìm hiểu các khái niệm cơ bản về lệnh
cp
- Sao chép tệp và thư mục bằng lệnh
cp
- Giữ lại các thuộc tính và dấu thời gian của tệp bằng lệnh
cp
Tìm hiểu các khái niệm 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 sử dụng để sao chép các tệp và thư mục từ vị trí này sang vị trí khác.
Hãy bắt đầu bằng cách tạo một tệp mẫu trong thư mục ~/project
:
touch ~/project/sample.txt
Bây giờ, hãy sao chép tệp sample.txt
sang một tệp mới có tên là copy_of_sample.txt
:
cp ~/project/sample.txt ~/project/copy_of_sample.txt
Ví dụ đầu ra:
Cú pháp cơ bản của lệnh cp
là:
cp [options] source_file destination_file
Ở đây, source_file
là tệp bạn muốn sao chép và destination_file
là tệp mới sẽ được tạo.
Bạn cũng có thể sử dụng lệnh cp
để sao chép thư mục. Hãy tạo một thư mục có tên là dir1
và sao chép nó sang dir2
:
mkdir ~/project/dir1
cp -r ~/project/dir1 ~/project/dir2
Tùy chọn -r
được sử dụng để sao chép các thư mục một cách đệ quy, bao gồm tất cả các tệp và thư mục con bên trong thư mục.
Ví dụ đầu ra:
Đó là cách sử dụng cơ bản của lệnh cp
. Trong các bước tiếp theo, bạn sẽ tìm hiểu các tính năng nâng cao hơn của lệnh cp
, chẳng hạn như giữ lại các thuộc tính và dấu thời gian của tệp.
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 các tệp và thư mục bằng lệnh cp
, bao gồm sao chép nhiều tệp và thư mục cùng một lúc.
Hãy bắt đầu bằng cách tạo một số 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 sao chép nhiều tệp cùng một lúc:
cp ~/project/file1.txt ~/project/file2.txt ~/project/dir1
Điều này sẽ sao chép file1.txt
và file2.txt
vào thư mục dir1
.
Ví dụ đầ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
Điều này sẽ tạo một thư mục mới dir3
và sao chép tất cả nội dung của dir1
vào đó.
Ví dụ đầu ra:
Nếu bạn muốn sao chép một thư mục và đổi tên nó cùng một lúc, bạn có thể sử dụng cú pháp sau:
cp -r ~/project/dir1 ~/project/dir4
Điều này sẽ tạo một thư mục mới dir4
và sao chép tất cả nội dung của dir1
vào đó.
Ví dụ đầu ra:
Như bạn có thể 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 tệp.
Giữ lại các thuộc tính và dấu thời gian của tệp bằng lệnh cp
Trong bước này, 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 tệp bằng lệnh cp
.
Theo mặc định, lệnh cp
sẽ sao chép nội dung tệp, nhưng nó có thể không giữ lại các thuộc tính và dấu thời gian ban đầu của tệp. Để giữ lại chúng, bạn có thể sử dụng tùy chọn -p
(preserve).
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ể:
touch -a -m -t 202304010000 ~/project/sample.txt
Điều 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 ngày 1 tháng 4 năm 2023, 00:00.
Bây giờ, hãy sao chép tệp trong khi giữ lại 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ụ đầ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ể sử dụng lệnh ls -l
:
ls -l ~/project/sample.txt ~/project/copy_of_sample.txt
Ví dụ đầ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 có thể thấy, thời gian truy cập và sửa đổi của tệp đã sao chép giống như tệp gốc.
Tùy chọn -p
giữ lại các thuộc tính sau:
- 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 hữu ích khi bạn cần duy trì các thuộc tính tệp ban đầu 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
.
Tóm tắt
Trong lab này, bạn đã học cách sử dụng cơ bản lệnh cp
trong Linux, được sử dụng để sao chép các tệp và thư mục từ vị trí này sang vị trí khác. Bạn bắt đầu bằng cách tạo một tệp mẫu và sao chép nó sang một tệp mới. Bạn cũng đã học cách sao chép thư mục một cách đệ quy bằng tùy chọn -r
. Ngoài ra, bạn đã khám phá việc sao chép nhiều tệp và thư mục cùng một lúc, điều này có thể tiết kiệm thời gian và đơn giản hóa quá trình sao chép. Lab cung cấp các ví dụ thực tế để giúp bạn hiểu các khả năng khác nhau của lệnh cp
và cách sử dụng nó một cách hiệu quả trong quy trình làm việc Linux hàng ngày của bạn.