Cách sao chép nhiều tập tin bằng CP trong Linux

Tác giả Network Engineer, T.Mười 22, 2021, 03:55:08 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách sao chép nhiều tập tin bằng CP trong Linux


CP cho phép bạn sao chép các thư mục và tập tin lệnh bằng dòng lệnh. Với lệnh này, bạn có thể chuyển nhiều tập tin hoặc thư mục, lưu giữ thông tin thuộc tính và tạo bản sao lưu của chúng. CP sao chép tập tin độc lập với bản gốc của chúng. Vì vậy, chúng ta có thể nói rằng lệnh CP rất hữu ích cho Linux.

Mọi người vẫn chưa biết cách sử dụng lệnh này và tìm kiếm câu trả lời liên quan đến việc sao chép nhiều tập tin bằng CP trong Linux. Đó là lý do tại sao mình viết bài này để mô tả ngắn gọn cách sao chép nhiều tập tin bằng CP trong Linux.

Bây giờ mình sẽ giải thích các phương pháp khác nhau để sử dụng CP để thực hiện các nhiệm vụ khác nhau.

1. Sao chép tập tin bằng lệnh CP.

Tập tin mà chúng ta sẽ sao chép bằng lệnh cp, chuyển tên và đích của nó. Mình sẽ sao chép tập tin Linuxhint.txt sang tập tin mới có tên Linuxhintteam.txt bằng lệnh cp. Trong quá trình hoạt động, lệnh cp cũng sẽ tạo một phần tập tin mới của hoạt động.

Đầu tiên, chọn một thư mục / thư mục chứa tập tin đó. Trong trường hợp của mình, tập tin có sẵn trong thư mục Documents, vì vậy mình sử dụng lệnh sau:

Mã nguồn [Chọn]
# Cd Documents
Sau khi sử dụng lệnh ls để hiển thị tập tin có sẵn trong thư mục.

Mã nguồn [Chọn]
# ls
Bây giờ, hãy thực hiện lệnh dưới đây để tạo bản sao của một tập tin cụ thể:

Mã nguồn [Chọn]
# cp <filename> <filename2>
Ở đây mình đã sử dụng lệnh dưới đây để tạo một bản sao của tập tin Linuxhint.txt:

Mã nguồn [Chọn]
# cp Linuxhint.txt Linuxhintteam.txt
Để xác minh rằng tập tin đã được sao chép thành công, hãy sử dụng lại lệnh ls.


2. Sao chép nhiều tập tin bằng lệnh CP.

Bạn phải cung cấp cả tên tập tin và thư mục đích khi sử dụng lệnh cp để sao chép nhiều tập tin.

Đầu tiên, mở thư mục cụ thể trong terminal và thực hiện lệnh tree. Nếu bạn chưa biết về lệnh tree, hãy xem bài viết của mình.

Trong thư mục Documents, chúng ta có hai tập tin, tức là Linuxhint.txt và Linuxhintteam.txt, và một thư mục có tên Linuxtricks. Bây giờ, hãy thực hiện lệnh dưới đây trong terminal:

Mã nguồn [Chọn]
# cp <filename> <filename1> <foldername>/
Ở đây mình đã sử dụng lệnh sau để sao chép Linuxhint.txt và Linuxhintteam.txt trong thư mục Linuxtricks:

Mã nguồn [Chọn]
# cp Linuxhint.txt Linuxhintteam.txt Linuxtricks/

Để xác minh rằng các tập tin được sao chép, hãy sử dụng lại lệnh cây.

3. Sao chép thư mục bằng lệnh CP.

Lệnh CP, theo mặc định, không sao chép các thư mục. Khi sao chép thư mục, nó hiển thị một lỗi.

Mã nguồn [Chọn]
# cp foldername/ foldername 1
# cp: omitting foldername 'foldername 1


Để sao chép thư mục với sự trợ giúp của lệnh cp, chúng ta phải truyền tham số -R. Nó tạo một bản sao bằng cách sao chép thư mục được tham số một cách đệ quy.

Mã nguồn [Chọn]
# cp -r foldername/ foldername 1
Ở đây mình đã sử dụng lệnh sau để sao chép các thư mục:

Mã nguồn [Chọn]
# cp -r Linuxtricks/ Linuxtips

Cuối cùng, thực hiện lệnh tree để xác minh rằng hệ thống đã tạo thành công nhiều thư mục.

4. Sao chép nhiều thư mục bằng lệnh CP.

Để sao chép nhiều thư mục bằng lệnh cp, hãy sao chép đường dẫn của các thư mục và chuyển nó vào sau thư mục đích.

Đầu tiên, thực hiện lệnh tree để xem chi tiết về các tập tin và thư mục có sẵn trong thư mục:


Bây giờ thực hiện lệnh dưới đây để sao chép nhiều thư mục bằng lệnh CP:

Mã nguồn [Chọn]
# cp -r Foldername Foldername1 Foldername2 Foldername3
Ở đây mình đã sử dụng lệnh sau để sao chép Linuxtips và Linuxtricks vào thư mục LinuxOS:

Mã nguồn [Chọn]
# cp -r Linuxtips Linuxtricks LinuxOS
Cuối cùng, mình xác minh rằng hệ thống đã sao chép các thư mục một cách chính xác.


5. Sao lưu khi sao chép tập tin.

Chúng ta có thể sử dụng tham số -b để sao lưu tập tin nếu ai đó ghi đè tập tin đã sao chép. Nó cũng tạo ra một tập tin sao lưu bằng cách sao chép tập tin tại chỗ.

Mã nguồn [Chọn]
# ls
Filename.txt Filename1.txt

Mã nguồn [Chọn]
# cp -b Filename.txt Filename1.txt
Mã nguồn [Chọn]
# ls
Filename.txt Filename1.txt Filename1.txt ~


Trong ví dụ trên, Linuxhintteam.txt ~ đại diện cho tập tin sao lưu.

6. Nhắc xác nhận khi sao chép tập tin.

Mình có thể sử dụng tham số -i để nhắc xác nhận khi mình sao chép tập tin. Thông thường, tập tin đích bị ghi đè khi sử dụng lệnh CP. Điều này xảy ra trong điều kiện đó khi tập tin hiện diện tại thời điểm sao chép. Lệnh sẽ nhắc sử dụng tham số -i để ghi đè tập tin.

Mã nguồn [Chọn]
# ls
Filename.txt Filename1.txt

Mã nguồn [Chọn]
# cp -i Filename.txt Filename1.txt
cp: overwrite 'Filename.txt'?


7. Tạo một liên kết cứng thay vì sao chép.

Chúng ta có thể chuyển cờ -l trong khi tạo liên kết cứng thay vì sao chép với sự trợ giúp của lệnh cp. tập tin mới được tạo bằng cách không sao chép tập tin, đây là một liên kết cứng đến dữ liệu trên đĩa. Đây là lớp sơn lót trên các liên kết mềm hoặc tượng trưng và cứng.

Mã nguồn [Chọn]
# ls
Filename.txt
Filname1.txt

Mã nguồn [Chọn]
# cp -l Filname.txt Filname1.txt
Mã nguồn [Chọn]
# echo 'Filename1 text' > Filename1.txt
Filname.txt
Filename text

8. Bảo tồn các thuộc tính tập tin.

Tùy chọn bảo tồn được chuyển để bảo toàn các thuộc tính tập tin (tức là quyền sở hữu, nhóm và quyền của người dùng) cùng với các thuộc tính được giữ nguyên, theo mặc định, một chế độ sẽ bảo toàn dấu thời gian và quyền sở hữu.

Mã nguồn [Chọn]
-rw------- 1 Linux users 0 Sept 14 04:00 bar.txt
cp --preserve bar.txt foo.txt
-rw-------  1 Linux users     0 Sept 14 04:00 foo.txt
-rw-------  1 Linux users     0 Sept 14 04:00 bar.txt

9. Hiển thị tất cả các tập tin được sao chép.

Tùy chọn -v được sử dụng trong lệnh Cp để hiển thị các tập tin được sao chép. Tùy chọn này in các thư mục và tập tin được sao chép sang đầu ra tiêu chuẩn.

Mã nguồn [Chọn]
# cp -R -v Filename Filename1
'Filename' -> 'Filename1'
'Filename/Filename.txt' -> 'Filename1/Filename.txt'
'Filename/Filename1.txt' -> 'Filename1/Filename1.txt'

Bài viết này mô tả cách mình có thể sao chép một hoặc nhiều tập tin, nhiều thư mục và thư mục bằng lệnh CP.
Mình đã giải thích cho bạn nhiều cách sử dụng lệnh CP để sao chép tập tin. Nếu có bất kỳ câu hỏi hoặc thắc mắc nào trong đầu bạn liên quan đến bài viết này, vui lòng để lại bình luận bên dưới.