Đó là trình liên kết động; nếu bạn tự chạy nó, nó sẽ cho bạn biết nó làm gì:
Sử dụng: ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]
Bạn đã gọi 'ld.so', chương trình trợ giúp cho các tệp thực thi thư viện dùng chung. Chương trình này thường sống trong tệp /lib/ld.so
và các chỉ thị đặc biệt trong các tệp thực thi sử dụng các thư viện chia sẻ ELF cho trình tải chương trình của hệ thống tải chương trình trợ giúp từ tệp này. Chương trình trợ giúp này tải các thư viện chia sẻ cần thiết cho chương trình thực thi, chuẩn bị chương trình để chạy và chạy nó. Bạn có thể gọi chương trình trợ giúp này trực tiếp từ dòng lệnh để tải và chạy tệp thực thi ELF; điều này giống như thực thi chính tệp đó, nhưng luôn sử dụng chương trình trợ giúp này từ tệp bạn đã chỉ định, thay vì tệp chương trình trợ giúp được chỉ định trong tệp thực thi mà bạn chạy. Điều này chủ yếu được sử dụng cho các nhà bảo trì để thử nghiệm các phiên bản mới của chương trình trợ giúp này; rất có thể bạn không có ý định chạy chương trình này.
Trình liên kết được sử dụng để chạy các chương trình liên kết động. Khi bạn chạy chmod
, kernel chạy hiệu quả /lib64/ld-linux-x86-64.so.2 chmod
, như bạn đã làm thủ công; cái sau hoạt động ngay cả khi chmod
nhị phân không thực thi được.
Bạn sẽ tìm thấy nhiều chi tiết hơn về điều này trong phần xuất sắc Cách các chương trình được chạy: bài viết nhị phân ELF .