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

Lệnh ar trong Linux là một công cụ lưu trữ và quản lý các file object thành một file archive duy nhất, thường được gọi là thư viện tĩnh. Nó cho phép bạn tạo, sửa đổi và trích xuất các file từ archive một cách dễ dàng, giúp việc liên kết chương trình trở nên hiệu quả hơn. Sử dụng ar giúp giảm số lượng file cần quản lý và tăng tốc quá trình biên dịch, đặc biệt hữu ích cho các dự án lớn.

Lệnh ar trong linux là gì?

Lệnh command ar in linux là một công cụ lưu trữ và quản lý các file object (đối tượng) thành một file lưu trữ duy nhất, thường được gọi là thư viện (library). Nó cho phép bạn tạo, sửa đổi và trích xuất các file từ thư viện này một cách dễ dàng, giúp tiết kiệm không gian lưu trữ và đơn giản hóa việc quản lý code. Ar thường được sử dụng để tạo các thư viện tĩnh (.a) mà các chương trình khác có thể liên kết đến trong quá trình biên dịch. Bạn có thể thêm, xóa hoặc thay thế các file object bên trong thư viện bằng các tùy chọn khác nhau của lệnh ar. Việc sử dụng ar giúp tổ chức code tốt hơn và tăng tốc quá trình biên dịch bằng cách chỉ liên kết các phần cần thiết.

Tìm hiểu về lệnh ar

Trong bước này, chúng ta sẽ khám phá lệnh ar trên Linux, công cụ để tạo và chỉnh sửa thư viện tĩnh. Thư viện tĩnh là kho lưu trữ các object file, liên kết vào chương trình để cung cấp chức năng. Hãy bắt đầu bằng cách tìm hiểu cách sử dụng cơ bản của lệnh ar nhé.
sudo ar --help
Ví dụ về kết quả trả về:
Usage: ar [OPTIONS] ARCHIVE [MEMBERS]...
Modify an archive file

 The most commonly used options for the "ar" command are:

 -a            add files to the end of the archive
 -c            create the archive if it does not already exist
 -d            delete files from the archive
 -p            print the contents of the specified files
 -r            insert or replace files in the archive
 -t            display a table of contents of the archive
 -x            extract files from the archive
Như bạn thấy, lệnh ar cung cấp nhiều tùy chọn để quản lý các thư viện tĩnh. Chúng ta cùng xem qua một vài trường hợp sử dụng phổ biến nhé.

Tạo thư viện tĩnh với ar

Trong bước này, chúng ta sẽ học cách tạo thư viện tĩnh bằng lệnh ar.

Đầu tiên, hãy tạo một file C đơn giản để sử dụng xây dựng thư viện tĩnh:

cd ~/project
nano hello.c

Thêm nội dung sau vào file hello.c:

#include <stdio.h>

void sayHello() {
    printf("Hello, from the static library!\n");
}

Tiếp theo, chúng ta sẽ biên dịch file hello.c thành một object file:

gcc -c hello.c

Lệnh này sẽ tạo ra object file hello.o.

Bây giờ, ta có thể dùng lệnh ar để tạo thư viện tĩnh từ object file:

sudo ar rcs libhello.a hello.o

Option r thay thế hoặc chèn file vào archive, c tạo archive nếu nó chưa tồn tại, s cập nhật bảng symbol của archive.

Bạn có thể liệt kê nội dung của thư viện tĩnh bằng option t:

sudo ar t libhello.a

Ví dụ về output:

hello.o

Thư viện tĩnh libhello.a đã được tạo và chứa object file hello.o.

Trích Xuất và Liệt Kê Nội Dung của Thư Viện Tĩnh

Trong bước này, chúng ta sẽ học cách trích xuất và liệt kê nội dung của thư viện tĩnh bằng lệnh ar.

Đầu tiên, hãy tạo một chương trình đơn giản sử dụng thư viện tĩnh mà chúng ta đã tạo ở bước trước nhé.

cd ~/project
nano main.c

Hãy thêm nội dung sau vào file main.c để chương trình có thể hoạt động.

#include <stdio.h>

extern void sayHello();

int main() {
    sayHello();
    return 0;
}

Bây giờ, hãy biên dịch file main.c và liên kết nó với thư viện tĩnh libhello.a.

gcc -o main main.c -L. -lhello

Tùy chọn -L. báo cho trình biên dịch tìm thư viện trong thư mục hiện tại, còn -lhello liên kết thư viện libhello.a.

Bạn có thể chạy chương trình đã biên dịch để xem kết quả đầu ra như thế nào nhé.

./main

Ví dụ về kết quả đầu ra:

Hello, from the static library!

Để liệt kê nội dung của thư viện tĩnh libhello.a, bạn có thể sử dụng tùy chọn t.

sudo ar t libhello.a

Ví dụ về kết quả đầu ra bạn có thể thấy:

hello.o

Để trích xuất nội dung của thư viện tĩnh, bạn có thể sử dụng tùy chọn x.

sudo ar x libhello.a

Thao tác này sẽ trích xuất file object hello.o từ thư viện tĩnh libhello.a.

Kết luận cho linux ar command

Tóm lại, lệnh linux ar command là một công cụ mạnh mẽ để quản lý các thư viện lưu trữ trong Linux. Nó cho phép bạn tạo, sửa đổi và trích xuất các file từ thư viện một cách dễ dàng. Việc sử dụng ar giúp tổ chức code tốt hơn và giảm kích thước chương trình cuối cùng. Hãy thử nghiệm với các tùy chọn khác nhau của ar để hiểu rõ hơn về cách nó hoạt động. Đừng ngại khám phá và áp dụng nó vào các dự án của bạn để tối ưu hóa quy trình phát triển. Hy vọng hướng dẫn này đã giúp bạn hiểu rõ hơn về lệnh ar và cách sử dụng nó hiệu quả. Chúc bạn thành công trên con đường chinh phục Linux!

Last Updated : 16/10/2025