Trong Linux, có một số tiện ích dòng lệnh cho phép bạn tạo kho lưu trữ. Một trong những tiện ích đó là ar. Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của công cụ dòng lệnh này bằng một số ví dụ dễ hiểu. Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các ví dụ có trong bài viết đều đã được thử nghiệm trên máy Ubuntu 18.04 LTS.
Và đây là những gì trang hướng dẫn nói về công cụ này:
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách thức hoạt động của ar.
Ví dụ:
Lệnh trên tạo một kho lưu trữ 'test.a' chứa tất cả các tệp txt từ thư mục hiện tại.
hiển thị danh sách tất cả các tệp có trong kho lưu trữ.
Sau đây là kết quả đầu ra do lệnh này tạo ra:
Vì vậy, bạn có thể thấy nội dung của cả ba tệp văn bản đều được hiển thị trong đầu ra (vì các tệp này là bản sao của nhau, do đó nội dung đều giống nhau trong cả ba trường hợp).
Ví dụ, để xóa test3.txt, tôi đã sử dụng lệnh ar theo cách sau:
Ảnh chụp màn hình sau đây cho thấy tệp đã được xóa thành công:
Lệnh ar của Linux
Lệnh ar cho phép bạn tạo, sửa đổi hoặc trích xuất kho lưu trữ. Sau đây là cú pháp của nó:
Mã:
ar [OPTIONS] archive_name member_files
Mã:
Chương trình GNU ar tạo, sửa đổi và trích xuất từ các kho lưu trữ. Kho lưu trữ là một tệp duy nhất
chứa một bộ sưu tập các tệp khác trong một cấu trúc cho phép truy xuất các
tệp riêng lẻ gốc (được gọi là thành viên của kho lưu trữ).
Nội dung, chế độ (quyền), dấu thời gian, chủ sở hữu và nhóm của các tệp gốc được lưu giữ trong
kho lưu trữ và có thể được khôi phục khi trích xuất.
GNU ar có thể duy trì các kho lưu trữ có các thành viên có tên có độ dài bất kỳ; tuy nhiên, tùy thuộc vào cách ar được
cấu hình trên hệ thống của bạn, giới hạn về độ dài tên thành viên có thể được áp dụng để tương thích với các định dạng
kho lưu trữ được duy trì bằng các công cụ khác. Nếu tồn tại, giới hạn thường là 15 ký tự
(điển hình của các định dạng liên quan đến a.out) hoặc 16 ký tự (điển hình của các định dạng liên quan đến coff).
ar được coi là một tiện ích nhị phân vì các kho lưu trữ kiểu này thường được sử dụng làm thư viện
chứa các chương trình con thường dùng.
ar tạo một chỉ mục đến các ký hiệu được xác định trong các mô-đun đối tượng có thể di chuyển trong kho lưu trữ khi bạn
chỉ định các trình sửa đổi. Sau khi được tạo, chỉ mục này được cập nhật trong kho lưu trữ bất cứ khi nào ar thực hiện thay đổi
đối với nội dung của nó (trừ hoạt động cập nhật q). Một kho lưu trữ có chỉ mục như vậy sẽ tăng tốc liên kết
đến thư viện và cho phép các chương trình con trong thư viện gọi nhau mà không cần quan tâm đến
vị trí của chúng trong kho lưu trữ.
Câu hỏi 1. Làm thế nào để tạo một kho lưu trữ bằng ar?
Bạn có thể thực hiện việc này bằng cách sử dụng tùy chọn lệnh r, theo trang hướng dẫn, tùy chọn này cho phép bạn "thay thế các tệp hiện có hoặc chèn các tệp mới vào kho lưu trữ".Ví dụ:
Mã:
ar r test.a *.txt
Câu hỏi 2. Làm thế nào để liệt kê nội dung của kho lưu trữ bằng ar?
Bạn có thể thực hiện việc này bằng cách sử dụng tùy chọn dòng lệnh 't'. Ví dụ, khi chạy lệnh sau:
Mã:
ar t test.a
Câu hỏi 3. Làm thế nào để hiển thị trực tiếp nội dung của các tệp có trong kho lưu trữ?
Có thể thực hiện việc này bằng tùy chọn lệnh 'p'. Sau đây là một ví dụ:
Mã:
ar p test.a
Vì vậy, bạn có thể thấy nội dung của cả ba tệp văn bản đều được hiển thị trong đầu ra (vì các tệp này là bản sao của nhau, do đó nội dung đều giống nhau trong cả ba trường hợp).
Câu hỏi 4. Làm thế nào để thêm thành viên mới vào kho lưu trữ?
Tùy chọn lệnh 'r' cũng cho phép bạn thực hiện việc này. Ví dụ, để thêm tệp văn bản mới - tes3.txt - vào kho lưu trữ hiện có test.a, tôi đã sử dụng lệnh sau:
Mã:
ar r test.a test3.txt
Câu hỏi 5. Làm thế nào để xóa thành viên khỏi kho lưu trữ?
Cũng dễ thôi. Chỉ cần sử dụng tùy chọn lệnh 'd' và chỉ định tên thành viên cần xóa.Ví dụ, để xóa test3.txt, tôi đã sử dụng lệnh ar theo cách sau:
Mã:
ar d test.a test3.txt