Jawaban:
Biasanya polos C
. Perintah ls
dan pwd
berasal dari GNU Coreutils
paket di (kebanyakan?) Distribusi Linux (dan mungkin beberapa sistem lain). Anda dapat menemukan kode di beranda mereka .
Untuk coreutils
khusus, Anda membangun mereka dengan langkah-langkah yang biasa: setelah membongkar sumber, masalah:
./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
Hati-hati - menginstal utilitas dasar seperti yang ada di salinan distribusi Anda adalah ide yang buruk . Gunakan manajer paket apa pun yang digunakan sistem Anda untuk itu. Anda dapat menginstal ke awalan yang berbeda (menginstal suatu tempat ke direktori home Anda adalah ide yang baik jika Anda ingin bereksperimen).
Perhatikan bahwa meskipun ada cd
executable , cd
Anda akan menggunakan dalam sebagian besar keadaan bukanlah executable terpisah. Itu harus berupa shell-built-in (jika tidak, ia tidak dapat mengubah direktori shell saat ini - ini harus dilakukan dengan proses itu sendiri), sehingga ditulis dalam bahasa yang sama dengan shell (yang sering C
juga).
Contoh lain:
Anda dapat menemukan lebih banyak lagi di internet ini.
Hanya untuk menambahkan sedikit lebih banyak ke jawaban Mat, meskipun Unix mengimplementasikan ini sebagai program mandiri, banyak perintah juga diimplementasikan di dalam bash
(untuk menyimpannya harus menelurkan proses baru) lihat bash
halaman manual untuk detail lebih lanjut, atau lihat shell tag -builtin .
bash
juga ditulis dalam C
Mungkin perlu dicatat bahwa perintah-perintah ini tidak harus ditulis dalam C - memang, beberapa distribusi mini linux menggunakan lua
implementasi ini dan lainnya.
cd
shell harus dibangun agar dapat bekerja secara efektif.