Lệnh cpio trong linux với các ví dụ dễ hiểu

Lệnh cpio trong Linux là một công cụ mạnh mẽ để sao lưu và khôi phục các tập tin từ kho lưu trữ. Nó cho phép bạn tạo các bản sao lưu, trích xuất dữ liệu từ các kho lưu trữ, và di chuyển tập tin giữa các hệ thống. Với cpio, việc quản lý dữ liệu trở nên linh hoạt và hiệu quả hơn rất nhiều, đặc biệt khi làm việc với các hệ thống lớn.

Lệnh cpio trong linux là gì?

Lệnh cpio trong Linux là một command cpio in linux mạnh mẽ, cho phép bạn tạo các kho lưu trữ (archives) và trích xuất các tập tin từ chúng một cách linh hoạt. Nó thường được sử dụng để sao lưu và khôi phục dữ liệu, hoặc để di chuyển các tập tin giữa các hệ thống khác nhau. Cpio hoạt động bằng cách đọc danh sách các tập tin từ đầu vào chuẩn (standard input) và ghi chúng vào một kho lưu trữ, hoặc ngược lại, trích xuất các tập tin từ kho lưu trữ ra hệ thống. Điểm mạnh của cpio là khả năng xử lý các luồng dữ liệu, cho phép nó kết hợp với các lệnh khác thông qua pipes để thực hiện các tác vụ phức tạp. Hãy thử sử dụng cpio để khám phá thêm các tính năng hữu ích của nó trong quản lý tập tin nhé!

Tìm hiểu Mục đích và Cú pháp của Lệnh cpio

Trong bước này, bạn sẽ làm quen với mục đích và cú pháp lệnh cpio trong Linux.

Lệnh cpio là một công cụ mạnh mẽ để tạo và giải nén các file archive.

Nó cũng hỗ trợ việc lưu trữ và trích xuất có chọn lọc các file.

Lệnh cpio có thể được sử dụng ở ba chế độ khác nhau, rất hữu ích trong DevOps:

  1. Copy-out mode: Dùng để tạo một archive từ danh sách các file.
  2. Copy-in mode: Dùng để giải nén các file từ một archive đã có.
  3. Copy-pass mode: Dùng để sao chép các file từ thư mục này sang thư mục khác.

Để hiểu cú pháp cơ bản của lệnh cpio, hãy xem các ví dụ sau đây.

Tạo một archive bằng cpio:

cd ~/project
ls -l | cpio -o > archive.cpio

Ví dụ về kết quả:

1234 blocks

Giải nén một archive bằng cpio:

cd ~/project
cpio -i < archive.cpio

Ví dụ về kết quả:

1234 blocks

Option -o được dùng để tạo archive, còn -i dùng để giải nén archive.

Các ký hiệu <> được dùng để chuyển hướng input và output tương ứng.

Bạn cũng có thể dùng option --help để xem danh sách đầy đủ các option của lệnh cpio.

Tạo và Giải nén Archive bằng Lệnh cpio

Trong bước này, bạn sẽ học cách tạo và giải nén các archive bằng lệnh cpio.

Tạo một Archive
Để tạo một archive bằng cpio, trước tiên ta tạo các file và thư mục mẫu trong thư mục ~/project:

cd ~/project
mkdir sample_dir
touch sample_dir/file1.txt sample_dir/file2.txt

Bây giờ, hãy tạo một archive của thư mục sample_dir:

cd ~/project
ls -1 sample_dir | cpio -o > archive.cpio

Ví dụ về đầu ra:

3 blocks

Lệnh ls -1 sample_dir liệt kê các file trong thư mục sample_dir. Lệnh cpio -o tạo file archive archive.cpio.

Giải nén một Archive
Để giải nén các file từ archive archive.cpio, sử dụng lệnh sau:

cd ~/project
cpio -i < archive.cpio

Ví dụ về đầu ra:

3 blocks

Lệnh cpio -i giải nén các file từ archive archive.cpio.

Bạn có thể kiểm tra các file đã giải nén bằng cách liệt kê nội dung của thư mục sample_dir:

cd ~/project
ls -l sample_dir

Ví dụ về đầu ra:

total 0
-rw-r--r-- 1 labex labex 0 Apr 12 12:34 file1.txt
-rw-r--r-- 1 labex labex 0 Apr 12 12:34 file2.txt

Thực hiện Lưu trữ và Giải nén Chọn lọc với cpio

Trong bước này, bạn sẽ học cách thực hiện lưu trữ và giải nén chọn lọc bằng lệnh cpio.

Lưu trữ Chọn lọc
Giả sử bạn có các tệp và thư mục sau trong thư mục ~/project:

cd ~/project
mkdir sample_dir
touch sample_dir/file1.txt sample_dir/file2.txt sample_dir/file3.txt
touch file4.txt file5.txt

Để tạo một kho lưu trữ chỉ bao gồm các tệp trong thư mục sample_dir, bạn có thể sử dụng lệnh sau:

cd ~/project
find sample_dir -type f | cpio -o > sample_archive.cpio

Ví dụ đầu ra:

3 blocks

Lệnh find sample_dir -type f tìm tất cả các tệp thông thường (không phải thư mục) trong sample_dir. Sau đó, cpio -o tạo kho lưu trữ sample_archive.cpio.

Giải nén Chọn lọc
Để chỉ giải nén các tệp từ kho lưu trữ sample_archive.cpio có phần mở rộng .txt, hãy dùng lệnh sau:

cd ~/project
cpio -i --include="*.txt" < sample_archive.cpio

Ví dụ đầu ra:

3 blocks

Tùy chọn --include="*.txt" hướng dẫn cpio chỉ giải nén các tệp có phần mở rộng .txt.

Bạn có thể xác minh các tệp đã giải nén bằng cách liệt kê nội dung của thư mục sample_dir:

cd ~/project
ls -l sample_dir

Ví dụ đầu ra:

total 0
-rw-r--r-- 1 labex labex 0 Apr 12 12:34 file1.txt
-rw-r--r-- 1 labex labex 0 Apr 12 12:34 file2.txt
-rw-r--r-- 1 labex labex 0 Apr 12 12:34 file3.txt

Kết luận cho linux cpio command

Vậy là chúng ta đã cùng nhau khám phá những điều thú vị về lệnh cpio trong Linux rồi! Hy vọng qua bài viết này, bạn đã hiểu rõ hơn về cách sử dụng cpio để sao lưu và phục hồi dữ liệu một cách hiệu quả. Đừng ngần ngại thử nghiệm các tùy chọn khác nhau của linux cpio command để tìm ra cách phù hợp nhất với nhu cầu của bạn. Cpio có thể hơi "khó nhằn" lúc ban đầu, nhưng khi đã quen, bạn sẽ thấy nó là một công cụ vô cùng mạnh mẽ. Hãy nhớ rằng, việc thực hành thường xuyên sẽ giúp bạn nắm vững kiến thức và sử dụng cpio một cách thành thạo hơn. Chúc bạn thành công trên con đường chinh phục Linux và các công cụ dòng lệnh!

Last Updated : 16/10/2025