Câu trả lời:
Nó thường đơn giản C
. Các lệnh ls
và pwd
đến từ GNU Coreutils
gói trong (hầu hết?) Các bản phân phối Linux (và có thể một số hệ thống khác). Bạn có thể tìm thấy mã trên trang chủ của họ .
Đối với coreutils
cụ thể, bạn xây dựng chúng với các bước thông thường: sau khi giải nén nguồn, vấn đề:
./configure --prefix=/some/path
# type ./configure --help to get the available options
make
make install # could require root access depending on the path you used
Hãy cẩn thận - cài đặt các tiện ích cơ bản như các tiện ích trên bản sao phân phối của bạn là một ý tưởng tồi . Sử dụng bất cứ trình quản lý gói nào mà hệ thống của bạn đi kèm với điều đó. Bạn có thể cài đặt một tiền tố khác mặc dù (cài đặt ở đâu đó vào thư mục chính của bạn là một ý tưởng tốt nếu bạn muốn thử nghiệm).
Lưu ý rằng mặc dù có một cd
tệp thực thi , nhưng cd
trong hầu hết các trường hợp , bạn sẽ sử dụng một tệp thực thi riêng biệt. Nó phải là một trình dựng sẵn shell (nếu không nó không thể thay đổi thư mục hiện tại của shell - điều này phải được thực hiện bởi chính quá trình này), vì vậy nó được viết bằng cùng ngôn ngữ với shell (thường là C
quá).
Những ví dụ khác:
Bạn có thể tìm thấy nhiều hơn trong số này trực tuyến.
Chỉ cần thêm một chút vào câu trả lời của Mat, mặc dù Unix triển khai chúng như các chương trình độc lập, nhiều lệnh cũng được triển khai bên trong bash
(để lưu nó phải sinh ra một quy trình mới) xem bash
trang man để biết thêm chi tiết hoặc xem qua trình bao thẻ -builtin .
bash
cũng được viết bằng C
Có thể đáng lưu ý rằng các lệnh này không phải được viết bằng C - thực sự, một số bản phân phối linux nhỏ sử dụng các lua
triển khai này và các lệnh khác.
cd
phải được tích hợp sẵn để hoạt động hiệu quả.